グループをまとめるタグ その3
グループをまとめるタグ その1,グループをまとめるタグ その2と色々試したが,結局以下のやり方で良いのではないかとやっと気付いた.あまり難しいことをやる必要はなかったようだ.
<?xml version="1.0" encoding="utf-8"?>
<root>
<item>a</item>
<item>b</item>
<item>c</item>
</root>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<dl>
<xsl:apply-templates select="item"/>
</dl>
</xsl:template>
<xsl:template match="item">
<dt><xsl:value-of select="self::node()"/></dt>
</xsl:template>
</xsl:stylesheet>
item要素がある場合にはだけdlタグも出力したい場合には,item要素の有無を判定すればよい.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<xsl:if test="item">
<dl>
<xsl:apply-templates select="item"/>
</dl>
</xsl:if>
</xsl:template>
<xsl:template match="item">
<dt><xsl:value-of select="self::node()"/></dt>
</xsl:template>
</xsl:stylesheet>