Hatena::Groupxiss

アリゾナではもう働きたくない社長の blog このページをアンテナに追加 RSSフィード

2008-03-25 (Tue)

最強かもしれないテンプレート言語『XSLT』で XML を再発見しよう

最強かもしれないテンプレート言語『XSLT』で XML を再発見しよう - アリゾナではもう働きたくない社長の blog を含むブックマーク はてなブックマーク - 最強かもしれないテンプレート言語『XSLT』で XML を再発見しよう - アリゾナではもう働きたくない社長の blog 最強かもしれないテンプレート言語『XSLT』で XML を再発見しよう - アリゾナではもう働きたくない社長の blog のブックマークコメント

プレゼン動画

http://www.nicovideo.jp/watch/sm2745026

撮影トラブルで後半の肝心な部分で時が吹っ飛んでます。スタンド攻撃を受けている?!

プレゼン資料・デモ

解説に使ったスライド自体が XSLT を使ったデモになっています。動画では見れない肝心の「どうして・誰が XSLT を使うべきか」を説明した部分も含んでいますのでゼヒご覧下さい。(TODO: あとで補足する)

変換前
XHTML 2.0 文書: まだ正式に勧告されておらず、ウェブブラウザが対応していない「XHTML 2.0」の語彙で書かれた XML 文書
変換規則
XSLT 1.0 文書: XHTML 2.0 語彙から XHTML 1.1 語彙に変換するテンプレート集合
変換後
XHTML 1.1 文書: 多くのウェブブラウザが対応しているバージョンの XHTML 語彙で書かれた XML 文書(+外部 CSS

ここで公開したコードは初学者にとって分かりやすいよう書いたつもりです。興味を持った人の参考になれば嬉しいです。(※ と言いつつ会場で発表直前に足した汎用的じゃないコードも混ざっています。後ほどこっそり修正します。悪しからず)

私と XSLT のこれから

私が最初に XSLT 1.0 に触れたのは五年ほど前になるでしょうか。先人が書いてウェブに公開されているコードコピペって、書き換えて、動かなくなってまたコピペって、解説サイト仕様書読んで、同じく XSLT で遊んでる人たち(d:id:cho45 とか)と互いのブログ(当時の「テキストサイト」(笑))や IRC (#xslt @ IRCNet) でコミュニケーションして……ってな感じで覚えました。その頃の友人らとは今も交流を続け、一部は会社の設立にも関わるなどしています。

XSLT 2.0 が勧告され、数は少ないもののプロセッサが充実してきた今は専ら 2.0 しか書かなく(書きたくなく)なりました。1.0 で苦労したテキスト処理や結果ツリーフラグメントの再利用などが解決され、独自関数作りをスタイルシートの中でできるようになり、さらにファイルにも出力できるようになって……と、一層パワフルになっています。

今は XML ファイルベースデータ管理におけるパフォーマンスの低さなどを解決する可能性を追い求め Apache プロジェクトの『XIndice』という XMLDB をいじっています。思惑通りにいけば、スピードが命な会社(弊社とか)やサービスの初期には敢えて DB に冗長性を持たして柔軟にスキーム設計し、運用し始め、利用者が増えてくるまでに徐々に最適化していく、という段階的な開発を取れる。かもしれない。そして、そのとき、インプットXML 形式である時最強である XSLT を使えば多種多様アウトプットHTML コーダー++ くらいの人材でも書ける。かもしれない。

XSLTXML の可能性はこれからも探って行きたいと思います。Rediscover XML with XSLT!

e-lucke-luck2008/03/25 17:18プレゼン資料の「変換後」がFile Not Foundのようです。

orzcccorzccc2008/03/25 17:22修正しました。報告ありがとう御座います。

ってかコメントフォームの文字でか! ここも直そう……

iMaiMa2008/03/25 22:45>ってかコメントフォームの文字でか!
わざとだと思てた

orzcccorzccc2008/03/25 23:55>>iMa 2008/03/25 22:45

コメントフォームへのリンクだけはわざとです(?G はブログモードにできず目立たないので)。先ほど修正したのはそれ以外にもでかくなっていたたとえば「ちょっとしたコメント」って文字列やコメント本文です。

cojicoji2008/03/26 10:50撮影gdgdで申し訳ないですー

CaidenCaiden2012/01/13 14:03Never seen a beettr post! ICOCBW

wmvfkxegfuwwmvfkxegfuw2012/01/13 20:03XiNQCI <a href="http://yyjpumzlaivl.com/">yyjpumzlaivl</a>

yvcqruzkbeyvcqruzkbe2012/01/14 23:15MpVUGo , [url=http://zzzqdgoussux.com/]zzzqdgoussux[/url], [link=http://ysbwkqfbylbw.com/]ysbwkqfbylbw[/link], http://jxtvmjebxkhc.com/

xxwvpwuxxwvpwu2012/01/19 01:11xDvRbA , [url=http://uuhsbtycpccf.com/]uuhsbtycpccf[/url], [link=http://wppdzxnescmr.com/]wppdzxnescmr[/link], http://qhqcustadgtt.com/