<xslTutorial creator="nicmila@idoox.com">
<index keywords="parent self attribute @ // descendant-or-self child"/>
<description>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::. </description>
<xmlSource id="id1">
<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>
</xmlSource>
<attValues>
<value match="">
</value>
</attValues>
<xslStylesheet id="id2">
<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>
</xslStylesheet>
<xslStylesheet id="id3">
<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>
</xslStylesheet>
<xslStylesheet id="id4">
<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>
</xslStylesheet>
</xslTutorial>