TOP 書籍連動 > XMLデータ変換用API(2)
まるごと PHP!
まるごと PHP!

Part5:PHP5のXMLサポート(3)

著者:廣川 類(HIROKAWA, Rui)   2005/4/8
前のページ  1  2
XMLデータ変換用API(2)
使用例

   XSLTの使用例として、リスト1に示したXML文書を、リスト7に示すXSLスタイルシートで変換することを考えます。
リスト7:XSLスタイルシート(simple.xsl)
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/ XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS" indent="no"/>
<xsl:template match="books">
<table>
<xsl:apply-templates />
</table>
</xsl:template>
<xsl:template match="book">
<tr>
<th><xsl:value-of select="title" /></th>
<td><xsl:value-of select="author" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
   
   XSL処理を行うPHPスクリプトをリスト8に示します。

リスト8:SimpleXMLの例(sxe.php)
1 <?php
2$xml = new domDocument;
3$xml->load("sample.xml");
4$xsl = new domDocument;
5$xsl->load("sample.xsl");
6$proc = new xsltProcessor;
7$proc->importStyleSheet($xsl);
8echo $proc->transformToXML($xml);
9 ?>

   DOMの処理と同様にスタイルシートを読み込んでDOMオブジェクトを作成します(4〜5行目)。この後、XSLTプロセッサを作成し(6行目)、スタイルシートを読み込みます(7行目)。さらに、transformToXML()メソッドによりXSL変換を行い、結果を出力します。この出力は、図2に示したものと同じになります。

その他のXMLライブラリ

   ここでは、PHP5のXMLサポートについて解説しました。たとえば標準ライブラリであるPEARなどでは、本稿で紹介したモジュール以外にも多くのXML関連の有用なライブラリが公開されています。これらについてもまたの機会にご紹介したいと思います。本稿がXMLを処理するアプリケーションを構築する際の参考となればさいわいです。

PHP専門雑誌

   CもJavaも専門定期刊行誌があるのになぜPHPにはない、とお嘆きの貴兄に。確かに日本では活字媒体の定期刊行物は発行されていませんが(※ 本誌が売れると定期刊行化されるかも!)、日本語にこだわらなければ『php|architec』(月刊)と『international php magazine』(紙媒体は隔月刊)の2誌が日本からでも購読できます。

   どうしても日本語にこだわるなら、上記『php|architec』記事の翻訳を中心としたオンライン媒体『PHPプログラマーズマガジン』がアシアル株式会社から刊行されています。

   PHPの商業定期刊行物に興味のある向きはこれらの媒体の購読をしてはいかがでしょう。

「PHPプログラマーズマガジン」   PHPプログラマーズマガジン

前のページ  1  2



著者プロフィール
著者:廣川 類
PHPと出会ってから早9年が過ぎ、常に進化し続けるその姿を日々楽しんでいる。PHPコミュニティ活動にかけられる時間が年々減ってきているのが気がかり。


INDEX
Part5:PHP5のXMLサポート(3)
  使用例(3)
XMLデータ変換用API(2)