// is short for /descendant-or-self:: : Abbreivation « XPath « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
    <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>
</data>  
File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<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:value-of select="@id"/>
      </H3>
      <TABLE border="1">
        <TR>
          <td>full</TH>
          <td>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>  

Output:

<?xml version="1.0" encoding="UTF-8"?>
    
      
      
    
    
      
      
      <H3>CCCc1</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>name(/descendant-or-self::*)</TD><TD>name(//*)</TD></TR><TR><TD>data</TD><TD>data</TD></TR></TABLE>
        <H3>CCCc2</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>name(/descendant-or-self::*)</TD><TD>name(//*)</TD></TR><TR><TD>data</TD><TD>data</TD></TR></TABLE>
      
      
        <H3>CCCc3</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>name(/descendant-or-self::*)</TD><TD>name(//*)</TD></TR><TR><TD>data</TD><TD>data</TD></TR></TABLE>








4.10.Abbreivation
4.10.1.Wildcard "*" selects all possibilities
4.10.2."//" has two meanings
4.10.3.List the elements in an xml document
4.10.4.Count elements and attributes
4.10.5.template match="*" (asterisk)
4.10.6.template match="brand|name|units"
4.10.7.template match="/"
4.10.8.value-of select="."
4.10.9.Axis child:: can be be omitted from a location step as it is the default axis.
4.10.10... is short for parent::
4.10.11.// is short for /descendant-or-self::