Nic Miloslav Example 59 | KEYWORDS EXAMPLES AUTHORS |
---|
Axis child:: can be be omitted from a location step as it is the default axis. Axis attribute:: can be abbreviatet to @. // is short for /descendant-or-self::, . is short for self:: and .. is short for parent::.
XML | HOME XSL 1 XSL 2 XSL 3 |
---|
<xslTutorial > |
<AAA id='a1' pos='start'> |
<BBB id='b1'/> |
<BBB id='b2'/> |
</AAA> |
<AAA id='a2'> |
<BBB id='b3'/> |
<BBB id='b4'/> |
<CCC id='c1'> |
<CCC id='c2'/> |
</CCC> |
<BBB id='b5'> |
<CCC id='c3'/> |
</BBB> |
</AAA> |
</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="AAA"> |
<H3><xsl:value-of select="name()"/> |
<xsl:text> </xsl:text> |
<xsl:value-of select="@id"/></H3> |
<TABLE border="1"> |
<TR><TH>full</TH><TH>abbreviated</TH></TR> |
<TR><TD> |
<xsl:text> child::BBB/attribute::id</xsl:text> |
</TD><TD> |
<xsl:text> BBB/@id</xsl:text> |
</TD></TR> |
<TR><TD> |
<xsl:value-of select="child::BBB/attribute::id"/> |
</TD><TD> |
<xsl:value-of select="BBB/@id"/> |
</TD></TR> |
</TABLE> |
</xsl:template> |
</xsl:stylesheet> |
HTML 1 | HOME XML XSL 1 OUTPUT 1 |
---|
<H3>AAA a1</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>child::BBB/attribute::id</TD> |
<TD>BBB/@id</TD></TR> |
<TR> |
<TD>b1</TD> |
<TD>b1</TD></TR></TABLE> |
<H3>AAA a2</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>child::BBB/attribute::id</TD> |
<TD>BBB/@id</TD></TR> |
<TR> |
<TD>b3</TD> |
<TD>b3</TD></TR></TABLE> |
OUTPUT 1 | HOME XML XSL 1 HTML 1 |
---|
full | abbreviated |
---|---|
child::BBB/attribute::id | BBB/@id |
b1 | b1 |
full | abbreviated |
---|---|
child::BBB/attribute::id | BBB/@id |
b3 | b3 |
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="BBB"> |
<H3><xsl:value-of select="name()"/> |
<xsl:text> </xsl:text> |
<xsl:value-of select="@id"/></H3> |
<TABLE border="1"> |
<TR><TH>full</TH><TH>abbreviated</TH></TR> |
<TR><TD> |
<xsl:text> parent::*/attribute::id</xsl:text> |
</TD><TD> |
<xsl:text> ../@id</xsl:text> |
</TD></TR> |
<TR><TD> |
<xsl:value-of select="parent::*/attribute::id"/> |
</TD><TD> |
<xsl:value-of select="../@id"/> |
</TD></TR> |
</TABLE> |
</xsl:template> |
</xsl:stylesheet> |
HTML 2 | HOME XML XSL 2 OUTPUT 2 |
---|
<H3>BBB b1</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>parent::*/attribute::id</TD> |
<TD>../@id</TD></TR> |
<TR> |
<TD>a1</TD> |
<TD>a1</TD></TR></TABLE> |
<H3>BBB b2</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>parent::*/attribute::id</TD> |
<TD>../@id</TD></TR> |
<TR> |
<TD>a1</TD> |
<TD>a1</TD></TR></TABLE> |
<H3>BBB b3</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>parent::*/attribute::id</TD> |
<TD>../@id</TD></TR> |
<TR> |
<TD>a2</TD> |
<TD>a2</TD></TR></TABLE> |
<H3>BBB b4</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>parent::*/attribute::id</TD> |
<TD>../@id</TD></TR> |
<TR> |
<TD>a2</TD> |
<TD>a2</TD></TR></TABLE> |
<H3>BBB b5</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>parent::*/attribute::id</TD> |
<TD>../@id</TD></TR> |
<TR> |
<TD>a2</TD> |
<TD>a2</TD></TR></TABLE> |
OUTPUT 2 | HOME XML XSL 2 HTML 2 |
---|
full | abbreviated |
---|---|
parent::*/attribute::id | ../@id |
a1 | a1 |
full | abbreviated |
---|---|
parent::*/attribute::id | ../@id |
a1 | a1 |
full | abbreviated |
---|---|
parent::*/attribute::id | ../@id |
a2 | a2 |
full | abbreviated |
---|---|
parent::*/attribute::id | ../@id |
a2 | a2 |
full | abbreviated |
---|---|
parent::*/attribute::id | ../@id |
a2 | a2 |
XSL 3 | HOME XML HTML 3 OUTPUT 3 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
<xsl:template match="CCC"> |
<H3><xsl:value-of select="name()"/> |
<xsl:text> </xsl:text> |
<xsl:value-of select="@id"/></H3> |
<TABLE border="1"> |
<TR><TH>full</TH><TH>abbreviated</TH></TR> |
<TR><TD> |
<xsl:text> name(/descendant-or-self::*)</xsl:text> |
</TD><TD> |
<xsl:text> name(//*)</xsl:text> |
</TD></TR> |
<TR><TD> |
<xsl:value-of select="name(/descendant-or-self::*)"/> |
</TD><TD> |
<xsl:value-of select="name(//*)"/> |
</TD></TR> |
</TABLE> |
<xsl:apply-templates/ > |
</xsl:template> |
</xsl:stylesheet> |
HTML 3 | HOME XML XSL 3 OUTPUT 3 |
---|
<H3>CCC c1</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>name(/descendant-or-self::*)</TD> |
<TD>name(//*)</TD></TR> |
<TR> |
<TD>xslTutorial</TD> |
<TD>xslTutorial</TD></TR></TABLE> |
<H3>CCC c2</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>name(/descendant-or-self::*)</TD> |
<TD>name(//*)</TD></TR> |
<TR> |
<TD>xslTutorial</TD> |
<TD>xslTutorial</TD></TR></TABLE> |
<H3>CCC c3</H3> |
<TABLE border="1"> |
<TR> |
<TH>full</TH> |
<TH>abbreviated</TH></TR> |
<TR> |
<TD>name(/descendant-or-self::*)</TD> |
<TD>name(//*)</TD></TR> |
<TR> |
<TD>xslTutorial</TD> |
<TD>xslTutorial</TD></TR></TABLE> |
OUTPUT 3 | HOME XML XSL 3 HTML 3 |
---|
full | abbreviated |
---|---|
name(/descendant-or-self::*) | name(//*) |
xslTutorial | xslTutorial |
full | abbreviated |
---|---|
name(/descendant-or-self::*) | name(//*) |
xslTutorial | xslTutorial |
full | abbreviated |
---|---|
name(/descendant-or-self::*) | name(//*) |
xslTutorial | xslTutorial |