XSLT変換
ケーススタディ: XSLT を使用して XML を XHTML に変換する方法。
この例の詳細については、次の章で説明します。
正しいスタイルシート宣言
スタイルシートのルート要素は <xsl:stylesheet> または <xsl:transform> としてドキュメントを宣言します。
注: <xsl:stylesheet> と <xsl:transform> は完全に同義であり、使用できます。
W3C の XSLT 標準によれば、XSL スタイルシートを宣言する正しい方法は次のとおりです:
xmlns:xsl="http://www.w3.org/1999/XSL / 変換">
または:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
XSLT 要素、属性、および属性にアクセスするには、ドキュメントの先頭で XSLT 名前空間を宣言する必要があります。
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" は、公式の W3C XSLT 名前空間を指します。この名前空間を使用する場合は、属性 version="1.0" を含める必要があります。
生の XML ドキュメントから開始します
次に、次の XML ドキュメント (「cdcatalog.xml」) を XHTML に変換します:
<cd>
<title>エンパイア バーレスク</title>
<アーティスト>ボブ・ディラン</アーティスト>
<国>アメリカ</国>
<会社>コロンビア</会社>
<価格>10.90価格>
<年>1985年年>
</cd>
.
.
</カタログ>
Firefox および Internet Explorer で XML ファイルを表示: XML ファイルを開きます (通常はリンクをクリックします) - XML ドキュメントにはルート要素と子要素がカラー コードで表示されます。要素の左側にあるプラス (+) またはマイナス (-) 記号をクリックすると、要素の構造が展開または折りたたまれます。元の XML ソース ファイル (プラス記号とマイナス記号なし) を表示するには、ブラウザ メニューで [ページ ソースの表示] または [ソースの表示] を選択します。
Netscape 6 で XML ファイルを表示する: XML ファイルを開き、XML ファイル内で右クリックして [ページ ソースの表示] を選択します。 XML ドキュメントでは、ルート要素と子要素がカラー コードで表示されます。
Opera 7 で XML ファイルを表示する: XML ファイルを開き、XML ファイル内で右クリックして、[フレームワーク]/[ソースの表示] を選択します。 XML ドキュメントはプレーン テキストとして表示されます。
「cdcatalog.xml」を表示
XSL スタイルシートを作成
次に、変換テンプレートを使用して XSL スタイルシート (「cdcatalog.xsl」) を作成します:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:template match="/">
<html>
<本体>
<h2>私の CD コレクション</h2>
<テーブルボーダー="1">
<tr bgcolor="#9acd32">
<th>タイトル</th>
<th>アーティスト</th>
</tr>
<xsl:for-each select="カタログ/CD">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</表>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
「cdcatalog.xsl」を表示
XSL スタイルシートを XML ドキュメントにリンク
XSL スタイルシート参照を XML ドキュメント (「cdcatalog.xml」) に追加:
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<カタログ>
<cd>
<title>エンパイア バーレスク</title>
<アーティスト>ボブ・ディラン</アーティスト>
<国>アメリカ</国>
<会社>コロンビア</会社>
<価格>10.90価格>
<年>1985年年>
</cd>
.
.
</catalog>
使用しているブラウザが XSLT と互換性がある場合は、XML を XHTML にスムーズに変換します。
結果を表示する
上記の例の詳細については、次の章で説明します。