<xslTutorial creator="nicmila@idoox.com">
<index keywords='xsl:element'/>

<description>xsl:element  generates elements in time of processing. <stylesheet id='id2'/> uses this feature, while <stylesheet id='id3'/> achieves the same effect in a different and laborous way.  </description>

<xmlSource id="id1">
<text size="H1">Header1</text>
<text size="H3">Header3</text>
<text size="b">Bold text</text>
<text size="sub">Subscript</text>
<text size="sup">Superscript</text>
</xmlSource>

<attValues>
<value match="">
</value>
</attValues>

<xslStylesheet id="id2">
<xsl:template match="/">
<xsl:for-each select="//text">
<xsl:element name="{@size}"><xsl:value-of select="."/></xsl:element>
</xsl:for-each>

</xsl:template>
</xslStylesheet>

<xslStylesheet id="id3">
<xsl:template match="/">
<xsl:for-each select="//text">
 <xsl:choose>
<xsl:when test='@size="H1"'>
<H1><xsl:value-of select="."/></H1>
</xsl:when>
<xsl:when test='@size="H3"'>
<H3><xsl:value-of select="."/></H3>
</xsl:when>
<xsl:when test='@size="b"'>
<b><xsl:value-of select="."/></b>
</xsl:when>
<xsl:when test='@size="sub"'>
<sub><xsl:value-of select="."/></sub>
</xsl:when>
<xsl:when test='@size="sup"'>
<sup><xsl:value-of select="."/></sup>
</xsl:when>
</xsl:choose>

</xsl:for-each>

</xsl:template>
</xslStylesheet>

</xslTutorial>