Nic Miloslav Example 29 | KEYWORDS EXAMPLES AUTHORS |
---|
You can get the name of currently selected element with name function. Stylesheet 1 prints names of all elements used in the document. Stylesheet 2 selects only elements which occurs first in each level.
XML | HOME XSL 1 XSL 2 |
---|
<xslTutorial > |
<contact> |
<name>John Smith</name> |
<street>Long street </street> |
<number>7</number> |
<tel> |
<home>25252511</home> |
<work>14598752</work> |
</tel> |
</contact> |
<contact> |
<name>Joe Rye</name> |
<street>Short avenue </street> |
<number>75</number> |
<tel> |
<home>21111111</home> |
<work>258987412</work> |
</tel> |
</contact> |
</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="/"> |
<TABLE> |
<xsl:for-each select="//*"> |
<xsl:call-template name="generalTemplate"/> |
</xsl:for-each> |
</TABLE> |
</xsl:template> |
<xsl:template name="generalTemplate"> |
<TR><TD><xsl:value-of select="name(.)"/></TD></TR> |
</xsl:template> |
</xsl:stylesheet> |
HTML 1 | HOME XML XSL 1 OUTPUT 1 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<TABLE> |
<TR> |
<TD>xslTutorial</TD></TR> |
<TR> |
<TD>contact</TD></TR> |
<TR> |
<TD>name</TD></TR> |
<TR> |
<TD>street</TD></TR> |
<TR> |
<TD>number</TD></TR> |
<TR> |
<TD>tel</TD></TR> |
<TR> |
<TD>home</TD></TR> |
<TR> |
<TD>work</TD></TR> |
<TR> |
<TD>contact</TD></TR> |
<TR> |
<TD>name</TD></TR> |
<TR> |
<TD>street</TD></TR> |
<TR> |
<TD>number</TD></TR> |
<TR> |
<TD>tel</TD></TR> |
<TR> |
<TD>home</TD></TR> |
<TR> |
<TD>work</TD></TR></TABLE> </BODY> </HTML> |
OUTPUT 1 | HOME XML XSL 1 HTML 1 |
---|
xslTutorial |
contact |
name |
street |
number |
tel |
home |
work |
contact |
name |
street |
number |
tel |
home |
work |
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="/"> |
<TABLE> |
<xsl:for-each select="//*[1]"> |
<xsl:call-template name="generalTemplate"/> |
</xsl:for-each> |
</TABLE> |
</xsl:template> |
<xsl:template name="generalTemplate"> |
<TR><TD><xsl:value-of select="name(.)"/></TD></TR> |
</xsl:template> |
</xsl:stylesheet> |
HTML 2 | HOME XML XSL 2 OUTPUT 2 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<TABLE> |
<TR> |
<TD>xslTutorial</TD></TR> |
<TR> |
<TD>contact</TD></TR> |
<TR> |
<TD>name</TD></TR> |
<TR> |
<TD>home</TD></TR> |
<TR> |
<TD>name</TD></TR> |
<TR> |
<TD>home</TD></TR></TABLE> </BODY> </HTML> |
OUTPUT 2 | HOME XML XSL 2 HTML 2 |
---|
xslTutorial |
contact |
name |
home |
name |
home |