浅葱さんのブログ

ええ、以前はぷらしのすとか言っていましたよ

RELAX NG Compact Syntax

XML Schema を読み書きするのにホントーに飽き飽きしているのですが、Atom Syndication Format の定義などで使われている RELAX NG Compact Syntax のチュートリアルを読んでみました。以前、XSD に慣れるために XSD から BNF へのコンバータを作っていましたが、そのとき作りたかったものはこれだ、と思いました。
スポンサーサイト

XSLT プロセッサ

なんかすぐ忘れるので書いておこう。

XSLT 処理系はブラウザに入っているので、XML を HTML にするような変換であれば XML に <?xml-stylesheet href="xxx.xsl" type="text/xsl" ?> とか書いておけば自動的にレンダリングまでやってくれる。

そうじゃなくて、XML から別の XML を作るときは、たとえば ruby だったら nokogiri とかが使える。 オンラインリファレンスより:

require 'rubygems'
require 'nokogiri'
doc   = Nokogiri::XML(File.read(ARGV[0]))
xslt  = Nokogiri::XSLT(File.read(ARGV[1]))
puts xslt.transform(doc, ['key', 'value'])

ま、でも、 libxslt の xsltproc とかのほうがずっと動作が速いので、速度が問題であればこっちを使ったほうがいいだろう。

FC2Ad