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