XSL
最終更新日時:2007-03-01 17:53:33
XML
XML
XSL
XSLの構文規則は基本的に XML と同様です。
文の先頭も XML と同様です。
<?xml version="1.0" encoding="euc-jp"?>
次に、スタイルシートの名前空間を指定します。
これが XSL の一番上の階層となります。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
次に、出力形式を指定します。
<xsl:output method="html" encoding="euc-jp" />
ここまでがお決まりの手順で、これ以降が実際に書いていく箇所となります。
全部紹介するときりがないので主なタグの一覧だけ。
xsl:template(属性:match)
template を適用する対象を match で指定します。
<xsl:template match="/"> <html> <head><title>テレビガイド</title></head> <body><xsl:apply-templates select="all" /></body> </html> </xsl:template>
xsl:apply-templates(属性:select)
該当する template に処理を移します。
select で指定することで、適用する要素を絞ることが可能です。
※例は上記を参照。
xsl:for-each(属性:select)
select で指定したノードの分だけ繰り返し処理を行います。
カレントノードは該当ノードとなります。
<xsl:for-each select="channel"> <td></td> <td><a href = "anywhere"><xsl:value-of select="." /></a></td> </xsl:for-each>
xsl:value-of(属性:select)
select で指定したノードの内容を出力します。
※例は上記を参照
xsl:choose, xsl:when, xsl:otherwise
xsl:choose 内に xsl:when と xsl:otherwise を指定することで条件分岐を行います。
条件を xsl:when の属性値として指定し、該当する場合には xsl:whenの要素を、該当しない場合にはxsl:otherwiseの要素を適用します。
<xsl:choose> <xsl:when test="@type[.='time']"> time </xsl:when> <xsl:otherwise> notime </xsl:otherwise> </xsl:choose>
xsl:element(属性:name)
name で指定した名前の要素を作成します。
<xsl:element name="th"> <xsl:attribute name="rowspan"> <xsl:value-of select="span" /> </xsl:attribute> <xsl:value-of select="title" /> </xsl:element>
xsl:attribute(属性:name)
name で指定した名前の属性を作成します。
※例は上記を参照
xsl:variable(属性:name, select)
name で指定した名前の変数を定義します。
select に式を指定した際にはその値が変数の値となります。
xsl:sort(属性:select)
select で指定したノードをソートします。
select 指定が無い場合にはカレント要素となります。
for-each 後に複数のノードでソートしたい場合には連続で xsl:sort します。
<xsl:for-each select="time"> <xsl:sort /> <xsl:value-of select="." /> </xsl:for-each>