Nic Miloslav     Example 16    KEYWORDS      EXAMPLES      AUTHORS     

xsl:element generates elements in time of processing. Stylesheet 1 uses this feature, while Stylesheet 2 achieves the same effect in a different and laborous way.


     XML     HOME     XSL 1     XSL 2      
<xslTutorial >
<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>
</xslTutorial>

     XSL 1     HOME     XML     HTML 1     OUTPUT 1     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<xsl:for-each select="//text">
<xsl:element name="{@size}"><xsl:value-of select="."/></xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

     HTML 1     HOME     XML     XSL 1     OUTPUT 1     
<HTML>
<HEAD> </HEAD>
<BODY>
<H1>Header1</H1>
<H3>Header3</H3>
<b>Bold text</b>
<sub>Subscript</sub>
<sup>Superscript</sup> </BODY> </HTML>

     OUTPUT 1     HOME     XML     XSL 1     HTML 1     

Header1

Header3

Bold textSubscriptSuperscript

     XSL 2     HOME     XML     HTML 2     OUTPUT 2     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<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>
</xsl:stylesheet>

     HTML 2     HOME     XML     XSL 2     OUTPUT 2     
<HTML>
<HEAD> </HEAD>
<BODY>
<H1>Header1</H1>
<H3>Header3</H3>
<b>Bold text</b>
<sub>Subscript</sub>
<sup>Superscript</sup> </BODY> </HTML>

     OUTPUT 2     HOME     XML     XSL 2     HTML 2     

Header1

Header3

Bold textSubscriptSuperscript