要素、属性、属性の値、要素の内容の生成
{ }のある指定とない指定のちがいを、もう一度考えてみること。
【sample011.xml】
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet href="sample011.xsl" type="text/xsl" ?>
<要素>
<要素1 要素名="h1" 属性名="style" 要素の内容="見出し1" 属性の値="color:red;"></要素1>
<要素2 要素名="h2" 属性名="style" 要素の内容="見出し2" 属性の値="color:green;"></要素2>
<要素3 要素名="h3" 属性名="style" 要素の内容="見出し3" 属性の値="color:blue;"></要素3>
<要素4 要素名="h4" 属性名="style" 要素の内容="見出し4" 属性の値="color:black;"></要素4>
<要素5 要素名="h5" 属性名="style" 要素の内容="見出し5" 属性の値="color:lime;"></要素5>
<要素6 要素名="h6" 属性名="style" 要素の内容="見出し6" 属性の値="color:orange;"></要素6>
</要素>
【sample011.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="要素">
<html>
<head><title>要素、属性、属性の値、要素の内容の生成</title></head>
<body>
<h2>要素、属性、属性の値、要素の内容の生成</h2>
<xsl:element name="{要素1/@要素名}">
<xsl:attribute name="{要素1/@属性名}">
<xsl:value-of select="要素1/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素1/@要素の内容"/>
</xsl:element>
<xsl:element name="{要素2/@要素名}">
<xsl:attribute name="{要素2/@属性名}">
<xsl:value-of select="要素2/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素2/@要素の内容"/>
</xsl:element>
<xsl:element name="{要素3/@要素名}">
<xsl:attribute name="{要素3/@属性名}">
<xsl:value-of select="要素3/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素3/@要素の内容"/>
</xsl:element>
<xsl:element name="{要素4/@要素名}">
<xsl:attribute name="{要素4/@属性名}">
<xsl:value-of select="要素4/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素4/@要素の内容"/>
</xsl:element>
<xsl:element name="{要素5/@要素名}">
<xsl:attribute name="{要素5/@属性名}">
<xsl:value-of select="要素5/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素5/@要素の内容"/>
</xsl:element>
<xsl:element name="{要素6/@要素名}">
<xsl:attribute name="{要素6/@属性名}">
<xsl:value-of select="要素6/@属性の値"/>
</xsl:attribute>
<xsl:value-of select="要素6/@要素の内容"/>
</xsl:element>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
【結果】