Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Apply-templates select=county mode=county

File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="Transform.xslt" type="text/xsl"?> <us>  <state name="Hawaii">   <county name="Hawaii">    <city class="largest">Hilo</city>   </county>  </state> </us> File: Transform.xslt <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="html" />   <xsl:template match="us/state">     <html>       <head>         <title>           State:           <xsl:value-of select="@name" />         </title>       </head>       <body>         <h1>           State:           <xsl:value-of select="@name" />         </h1>         <h2>All Counties</h2>         <ul>           <xsl:apply-templates select="county" mode="county" />         </ul>         <h2>Largest Cities (by County)</h2>         <ul>           <xsl:apply-templates select="county" mode="city" />         </ul>       </body>     </html>   </xsl:template>   <xsl:template match="county" mode="county">     <li>       <xsl:value-of select="@name" />     </li>   </xsl:template>   <xsl:template match="county" mode="city">     <li>       <xsl:value-of select="city" />       (       <xsl:value-of select="@name" />       )     </li>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>                    State:                    Hawaii       </title></head>    <body>       <h1>                    State:                    Hawaii       </h1>       <h2>All Counties</h2>       <ul>          <li>Hawaii</li>       </ul>       <h2>Largest Cities (by County)</h2>       <ul>          <li>Hilo                   (                   Hawaii                   )                           </li>       </ul>    </body> </html>