2008年02月14日
phpでXMLとXSLTでHTMLをつくる(XSLTプロセッサ)
XSLTプロセッサとは
XSLTプロセッサとはXSLTを使ってXMLを他のXMLに変換するものです。タイトルではHTMLをつくるとなっていますが、実際にはHTMLでなくてもいいわけです。
XSLTとは
XSLTとは、まさに上記の目的(XMLを他のXMLに変換する)のための簡易言語で、これもXMLで書かれています。
XSLTの書き方はサンプルで覚えるXSLTプログラミングが参考になります。
phpによる変換
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です。
これだけで、変換が完了します。



