履歴もしくは日誌
2005 年 8 月の履歴(もしくは日誌)
2005 年 8 月
8 月 5 日
xsltproc を使って XHTML からメタデータを抽出してみる
XML.com の記事を見ていたら,面白い事が書いてありました.Libxlst を紹介する記事だったんですが,xsltproc で,直接 Web ページや XSLT のスタイルシートをダウンロードしつつ,変換するっていう事.そんな事ができるって知りませんでした.記事の例では Google News のページを得て,それに XSLT を使ってブロックレベルの HTML 要素に固有の id を挿入するっていうデモでした.
xsltproc -html -o gnews.xml http://www.snee.com/xml/xslt/addids.xsl http://news.google.com/news?ned=tus
Windows ではどうだか知らないけど,Mac OS X とか Linux では xsltproc というコマンドが使えるようになっていると思います.さっそく試してみました.これ自分の環境でやってみたら,Google の URI はダブルクォーテーションで囲む必要がありました.
xsltproc -html -o gnews.xml http://www.snee.com/xml/xslt/addids.xsl "http://news.google.com/news?ned=tus"
したら,gnews.xml っていうファイルが生成されました.これは元と比べると id 属性が挿入されて,そこに固有 ID が与えられてました.まぁ変換の内容は XSLT が分かる人はスタイルシートを見れば数行なのですぐに分かると思います.
これ,-html っていうオプションを与えると,入力が整形式 XML でない HTML でも受け入れるってのが面白いですね.それに HTML をいったんダウンロードしなくても,直接 xsltproc で取って来れるって知らなかったですよ.
これを使って XHTML に埋め込まれているメタデータを RDF/XML として抽出するのを試してみました.GRDDL だと,XHTML にメタデータを埋め込み,その XHTML の profile の情報から利用できる XSLT スタイルシートが得られるようになっています.ここでは profile を見て XSLT スタイルシートを見つけるのでは無くて,神崎さんの xh2rdf.xsl を利用します.
xsltproc -o metadata.rdf xh2rdf.xsl http://onohiroki.cycling.jp/2005-08-05-1
これで metadata.rdf というファイル名で RDF/XML が得られます.もっとあちこちで GRDDL が利用されたらおもしろいかな.
参照先:
- XML.com: Appreciating Libxslt
http://www.xml.com/pub/a/2005/08/03/libxslt.html - XSLT スタイルシート xh2rdf.xsl
http://www.kanzaki.com/parts/xh2rdf.xsl - Embedding metadata in XHTML and extracting them as RDF
http://www.kanzaki.com/docs/sw/xh2rdf.html - XHTMLからメタデータを自動抽出する
http://www.kanzaki.com/docs/sw/xh2meta.html
Trackback URI http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20050805n1 TrackBack