Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Select attribute value and output to a list

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">   <xsl:template match="people">     <html>       <head><title>Famous Scientists</title></head>       <body>         <dl>           <xsl:apply-templates/>         </dl>       </body>     </html>   </xsl:template>   <xsl:template match="person">     <dt><xsl:apply-templates select="name"/></dt>     <dd><ul>       <li>Born: <xsl:apply-templates select="@born"/></li>       <li>Died: <xsl:apply-templates select="@died"/></li>     </ul></dd>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>Famous Scientists</title>    </head>    <body>       <dl>                              <dt>             A             B                       </dt>          <dd>             <ul>                <li>Born: 1912</li>                <li>Died: 1954</li>             </ul>          </dd>                              <dt>             F             G             H                       </dt>          <dd>             <ul>                <li>Born: 2008</li>                <li>Died: 2008</li>             </ul>          </dd>                           </dl>    </body> </html>