Get value from element and attribute : value of « XSLT stylesheet « XML






Get value from element and attribute


File: Data.xml
<?xml version="1.0"?>
<?xml-stylesheet type="application/xml" href="Transform.xslt"?>
<people>
  <person born="2008" died="2008" id="1">
    <name>
      <first_name>A</first_name>
      <last_name>B</last_name>
    </name>
    <profession>A</profession>
    <profession>B</profession>
    <profession>C</profession>
  </person>

  <person born="2007" died="2007" id="2">
    <name>
      <first_name>D</first_name>
      <middle_initial>E</middle_initial>
      <last_name>F</last_name>
    </name>
    <profession>G</profession>
    <hobby>H</hobby>
  </person>

</people>

File: Transform.xslt

<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <html>
      <xsl:apply-templates select="people"/>
    </html>
  </xsl:template>

  <xsl:template match="people">
    <table>
      <xsl:apply-templates select="person"/>
    </table>
  </xsl:template>

  <xsl:template match="person">
    <tr>
      <td><xsl:value-of select="name"/></td>
      <td><xsl:value-of select="@born"/></td>
      <td><xsl:value-of select="@died"/></td>
    </tr>
  </xsl:template>

</xsl:stylesheet>

Output:

<html>
   <table>
      <tr>
         <td>
            A
            B
            
         </td>
         <td>2008</td>
         <td>2008</td>
      </tr>
      <tr>
         <td>
            D
            E
            F
            
         </td>
         <td>2007</td>
         <td>2007</td>
      </tr>
   </table>
</html>

 








Related examples in the same category

1.Get value of element
2.Get value out of two tags
3.Get value of element with @
4.Use value-of to get the size of text
5.select="child::name/following-sibling::*"
6.value-of select="$sortedCities" separator=" "