match and get value operations with namespace : template match « XSLT stylesheet « XML






match and get value operations with namespace


File: Data.xml

<?xml version="1.0"?>
<people>

  <person born="1912" died="1954">
    <name>
      <first_name>A</first_name>
      <last_name>B</last_name>
    </name>
    <profession>C</profession>
    <profession>D</profession>
    <profession>E</profession>
  </person>

  <person born="2008" died="2008">
    <name>
      <first_name>F</first_name>
      <middle_initial>G</middle_initial>
      <last_name>H</last_name>
    </name>
    <profession>I</profession>
    <hobby>J</hobby>
  </person>

</people>


File: Transform.xslt

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:pe="http://www.cafeconleche.org/namespaces/people">
     
  <xsl:template match="pe:people">
    <html>
      <head><title>Famous Scientists</title></head>
      <body>
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>
     
  <xsl:template match="pe:name">
    <p><xsl:value-of select="pe:last_name"/>,
    <xsl:value-of select="pe:first_name"/></p>
  </xsl:template>
     
  <xsl:template match="pe:person">
    <xsl:apply-templates select="pe:name"/>
  </xsl:template>
     
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>

  
    
      A
      B
    
    C
    D
    E
  

  
    
      F
      G
      H
    
    I
    J
  

 








Related examples in the same category

1.Define and use template
2.Locate parent tags and get value from children tags
3.Select value from an element with value-of
4.Get two values in one template
5.match an element
6.output in template
7.set match mode to fulltext
8.Call a template with parameter
9.template mode="index"
10.template with parameters
11.output a table without loop