XMLはデータ構造を表現するもので、XML文書をブラウザで表示させると
データ構造をツリー形式で表示することができました。
しかし、XML文書はHTML文書のように、直接タグを書き込んで
レイアウトすることはできません。
では、一体どうすればXML文書をレイアウトして表示することができるのでしょうか?
XMLはタグを自由に定義できる言語です。よって、HTMLのタグを文書内に書き込んだとしても
全てレイアウト情報とは解釈されずにデータとして処理されてしまうので、
XML文書にHTMLを書き込んでもXML文書をレイアウトすることはできません。
1 XML文書をレイアウトするには
XSLTスタイルシートを使って変換する場合、対象となるXML文書内に
XSLTスタイルシートを適用するという意味を持つタグを追加しなければなりません。
下記のタグをXML宣言のすぐ下に記述してください。
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
hrefに指定されたXSLTスタイルシートのファイルはファイル名やURLなど
環境に合わせて変更して下さい。ここではstyle.xslというスタイルシートを使用します。
記述したら上書き保存してください。
2 スタイルシートを用意する
次に下記の例のようなスタイルを記述したテンプレートを用意してください。
(このようなファイルをスタイルシートと呼ぶ)
<?xml version="1.0" encoding="SHIFT_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="売上">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="商品">
<p><b>商品:<xsl:value-of select="."/></b></p>
</xsl:template>
<xsl:template match="コード">
<p><i>コード:<xsl:value-of select="."/></i></p>
</xsl:template>
<xsl:template match="単価">
<p><i>単価:<xsl:value-of select="."/></i></p>
</xsl:template>
<xsl:template match="数量">
<p><i>数量:<xsl:value-of select="."/></i></p>
</xsl:template>
</xsl:stylesheet>
HTML文書でよく利用されるスタイルシートはCSS(Cascading Style Sheet)と呼ばれるもので
XML文書で利用するスタイルシートとはまったく異なるものです。
記述したら名前をつけて保存してください。
拡張子は「.xsl」です。xml文書内のスタイルシート適用の為に挿入したタグの
href属性に指定したファイル名と同じ名前にして下さい。
記述したパスなども確かめてファイルの位置関係にも注意しましょう。
「.xsl」を拡張子に指定することで、そのファイルはXSLTスタイルシートとして保存されます。
XSLTスタイルシートを作成したら、XMLファイルをWebブラウザで確認してみましょう。
XML文書内のデータがHTML形式のように表示されるはずです。
記述に誤りなどがあれば、
エラーメッセージ
などが表示されます。
|