template match="//customer[1]/name" : axis « XSLT stylesheet « XML






template match="//customer[1]/name"


<?xml version="1.0" standalone="yes"?>
<report type="Unfilled Orders">
  <customer number="CUST111" type="VIP">
    <name>name 1</name>

    <order-list count="2">
      <order number="ORD200" owner="CUST111" total="650.00"
        status="late">
        <item-list>
          <item quantity="5" price="100">
            item 1
          </item>
          <item quantity="2" price="50">item 2</item>
          <item quantity="1" price="50">item 3</item>
        </item-list>
      </order>
      <order number="ORD105" owner="CUST111" total="150.00"
        status="backordered">
        <item-list>
          <item quantity="6" price="25">
            item 4
          </item>
        </item-list>
      </order>
    </order-list>
  </customer>

  <customer number="CUST222" type="normal">
    <name>Alice Liddle</name>

    <order-list count="2">
      <order number="ORD102" owner="CUST222" total="3490.00"
        status="late">
        <item-list>
          <item quantity="20" price="100">
            item 1
          </item>
          <item quantity="10" price="50">item 2</item>
          <item quantity="10" price="50">item 3</item>
          <item quantity="10" price="25">
            item 4
          </item>
          <item quantity="2" price="120">
            item 5
          </item>
        </item-list>
      </order>
    </order-list>
  </customer>
</report>

File: Transform.xslt
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />

  <xsl:template match="//customer[1]/name">
      <xsl:apply-templates />
  </xsl:template>

</xsl:stylesheet>



Output:
<?xml version="1.0" encoding="UTF-8"?>
  
    name 1
    
      
        
          
            item 1
          
          item 2
          item 3
        
      
      
        
          
            item 4
          
        
      
    
  

  
    Alice Liddle

    
      
        
          
            item 1
          
          item 2
          item 3
          
            item 4
          
          
            item 5
          
        
      
    
  

 








Related examples in the same category

1.List All customers: /report/customer
2.template match="//customer"
3.template match="//processing-instruction()"
4.Match all from root
5.for-each and select="."
6.tag with index
7.select="." (dot)
8.Match an element
9.match element with certain attribute value
10.match="text()|@*"
11.match="@*|node()"
12.select down to a certain level and its attribute
13.for-each select="listitem[position() > 1]"