タグ

ブックマーク / m-hiyama.hatenablog.com (3)

  • XPathの構文を割と具体的にまとめておく - 檜山正幸のキマイラ飼育記 (はてなBlog)

    XPathの要点を少し抽象的にまとめておく」より: 以上のような「概念的にどんなものか」が分かれば、あとは構文を調べながらなんとか使えるでしょ。 というわけで、構文を調べたりしたのでまとめておきます。 XPathの正式な構文は、まーまー整合的なんですが、書くのがとても面倒。それで省略形を使うことになります。省略形は書くのにとても便利ですが、意味がわかりにくくなります。そんなわけで、XPathを使うときは、正式な記法と省略形のあいだの翻訳に慣れておくとよいようです。 XPathの正式な構文 XPathロケーションステップの正式な構文は、軸、ノードテスト、述語(predicate)という3つの部分からなり、次の形です。 軸::ノードテスト[述語] 述語は条件式です。ノードテストも条件式ですが、頻繁に使う条件をノードテストにしたって感じですね。述語が不要なら、正式記法であってもブラケットごと省

    XPathの構文を割と具体的にまとめておく - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 檜山正幸のキマイラ飼育記 - JavaScriptによるテンプレート・モナド、すっげー簡単!

    先週書いたエントリー「圏論やモナドが、どうして文書処理やXMLと関係するのですか?」の内容を実際に確認するためのJavaScriptプログラムを書いてみました。 3つの関数を含み、全部で12行のライブラリです。 /* templ-process.js */ function processTemplate(templ, con) { var a = (templ.replace(/\}/g, '{')).split('{'); for (var i = 0; i < a.length; i++) if (i%2 == 1) a[i] = con(a[i]); // コンテキストconは関数 return a.join(''); } function processContext(con1, con2) { return function (k) {return processTemplat

    檜山正幸のキマイラ飼育記 - JavaScriptによるテンプレート・モナド、すっげー簡単!
  • 檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?

    …という類<たぐい>の質問に答えるのはちょっと面倒なんですけど、とりあえず1つだけ具体例を挙げておきましょう。テンプレート処理が、もろにモナドになっている、ってハナシ。今回はテキスト処理について説明。次回(いつになるかまったく不明)はXML処理の予定。 テキスト処理だけでも長ーい説明(最長記録かも)なのだけど、分割すると“勢い”がなくなるから一挙掲載。読むときはユックリ・ジックリ読んでくださいね。プログラミング課題も、実際にコーディングしないまでも、「こうやればいいな」という方針くらいは考えてください。 ※印刷のときはサイドバーが消えます。 内容: ネストしたテキスト テンプレート処理 ブロック、文字列、名前 フラット・テキストとテンプレート・テキスト 多段階のテンプレート処理 蛇足 素材を整理しよう モナドに向かって突っ走れ!! バッチリ、モナドだぜぇ 残りは脱兎のごとく 最後に言ってお

    檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?
  • 1