phpでXMLとXSLTでHTMLをつくる(XSLTプロセッサ)

XSLTプロセッサとは

XSLTプロセッサとはXSLTを使ってXMLを他のXMLに変換するものです。タイトルではHTMLをつくるとなっていますが、実際にはHTMLでなくてもいいわけです。

XSLTとは

XSLTとは、まさに上記の目的(XMLを他のXMLに変換する)のための簡易言語で、これもXMLで書かれています。
XSLTの書き方はサンプルで覚えるXSLTプログラミングが参考になります。

phpによる変換

PHPマニュアル XSL関数より

PHP 5には、デフォルトでXSLエクステンションが含まれており、 configureに引数–with-xsl[=DIR] を追加することにより有効にすることができます。

なのでとても簡単にできます。下記が例です。($xml に xmlの内容が格納されており、/path/to/xslfile.xslにxsltファイルがあることを想定しています。)

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load('/path/to/xslfile.xsl');
$xsl->importStyleSheet($doc);

$doc->loadXML($xml);
echo $xsl->transformToXML($doc);

ここでは、$doc->loadXML($xml);としていますが、これは$xml内に既にXMLの内容が格納されていると想定しているからです。たとえばDBからとってきた場合などです。ファイルから直接読み込むのであれば、XSLTの読み込みと同じように$doc->load(‘/path/to/xmlfile.xml’);でもOKです。
これだけで、変換が完了します。

Share on Facebook
このエントリーをはてなブックマークに追加
はてなブックマーク - phpでXMLとXSLTでHTMLをつくる(XSLTプロセッサ)
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です