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

XML Tutorial
1. Introduction
2. Namespace
3. XML Schema
4. XPath
5. XSLT stylesheet
Java
XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
XML Tutorial » XPath » Abbreivation 
4. 10. 11. // is short for /descendant-or-self::
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::
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.