■XML文書のどのノードにどのような処理を行うかを定義することをテンプレートルール(template rule)という。以下の書式を用いる。
★書式
<xsl:template match="パターン">
・・・テンプレート(パターンにマッチした時の処理内容)を記述
</xsl:template>
★match属性・・・ノードの選択や条件設定の方法を”パターン”という。パターンに合致("パターンにマッチする"という)したノードだけにテンプレートが適用される。パターンは,xPathのロケーションパスのサブセットにあたる。<xPath>を参照
通常はルートノードを指定したパターン<xsl:template match="/">から始める。このテンプレートを基点に、他のテンプレートを順次呼び出していく。
(ルートノードから始めなかった場合どうなるか?。次の「デフォルトテンプレート」参照)
[サンプルルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="temp01.xsl"?>
<root>
<top>KodayanHomepageのサイト構成
<pc>
<map>大阪日本橋マップ</map>
<list>大阪日本橋PCショップ一覧</list>
</pc>
<web>
<xm>XMLとは?</xm>
<css>CSSとDynamicHTML</css>
<cgi>PerlでCGI</cgi>
<java_ap>Java Applet</java_ap>
<java_sc>Java Script</java_sc>
<vbscript>VB Script</vbscript>
</web>
<other>
<link>お気に入りLinks</link>
<bbs>掲示板</bbs>
<etc>その他
<info>お知らせ</info>
<prof>自己紹介</prof>
<hist>ホームページの履歴</hist>
</etc>
</other>
</top>
<end>以上です(03/9/20)</end>
</root>
XSLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/">
<xsl:value-of select="root/top/web"/>
</xsl:template>
</xsl:stylesheet>
end(03/9/20)