.. is short for parent:: : 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="BBB">
      <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>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>

Output:

<?xml version="1.0" encoding="UTF-8"?>
    
      <H3>BBBb1</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a1</TD><TD>a1</TD></TR></TABLE>
      <H3>BBBb2</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a1</TD><TD>a1</TD></TR></TABLE>
    
    
      <H3>BBBb3</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</TD></TR></TABLE>
      <H3>BBBb4</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</TD></TR></TABLE>
      
        
      
      <H3>BBBb5</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</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::