"//" has two meanings : 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. 2. "//" has two meanings
When using "//" at the beginning of a location path, "//" selects all nodes in the document of the specified type. 
When using "//" in the middle of a location path, "//" selects all nodes which appear in the node selected with the first part of the location path.

File: Data.xml

<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">
        <DDD id="d1"/>
      </CCC>
      <BBB id="b5">
        <CCC id="c2"/>
      </BBB>
    </AAA>
</data>

File: Transform.xslt

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <xsl:apply-templates select="//BBB"/>
      <xsl:apply-templates select="//CCC"/>
      <xsl:apply-templates select="//DDD"/>
      <xsl:apply-templates select="//AAA"/>
    </xsl:template>
    <xsl:template match="AAA">
      <div style="color:navy">
        <xsl:value-of select="name()"/>
        <xsl:text> id=</xsl:text>
        <xsl:value-of select="@id"/>
      </div>
    </xsl:template>
    <xsl:template match="BBB">
      <div style="color:purple">
        <xsl:value-of select="name()"/>
        <xsl:text> id=</xsl:text>
        <xsl:value-of select="@id"/>
      </div>
    </xsl:template>
    <xsl:template match="CCC">
      <div style="color:red">
        <xsl:value-of select="name()"/>
        <xsl:text> id=</xsl:text>
        <xsl:value-of select="@id"/>
      </div>
    </xsl:template>
    <xsl:template match="DDD">
      <div style="color:blue">
        <xsl:value-of select="name()"/>
        <xsl:text> id=</xsl:text>
        <xsl:value-of select="@id"/>
      </div>
    </xsl:template>


</xsl:stylesheet>

<?xml version="1.0" encoding="UTF-8"?><div style="color:purple">BBB id=b1</div><div style="color:purple">BBB id=b2</div><div style="color:purple">BBB id=b3</div><div style="color:purple">BBB id=b4</div><div style="color:purple">BBB id=b5</div><div style="color:red">CCC id=c1</div><div style="color:red">CCC id=c2</div><div style="color:blue">DDD id=d1</div><div style="color:navy">AAA id=a1</div><div style="color:navy">AAA id=a2</div>
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.