Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Number count=manufacturer level=multiple format=1

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <cars>   <manufacturer name="Chevrolet">     <car>Cavalier</car>     <car>Corvette</car>     <car>Impala</car>     <car>Malibu</car>   </manufacturer>   <manufacturer name="Ford">     <car>Pinto</car>     <car>Mustang</car>     <car>Taurus</car>   </manufacturer>   <manufacturer name="Volkswagen">     <car>Beetle</car>     <car>Jetta</car>     <car>Passat</car>     <car>Touraeg</car>   </manufacturer> </cars> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="text"/>   <xsl:template match="/">     <xsl:text>Automobile manufacturers and their cars&#xA;</xsl:text>     <xsl:for-each select="cars/manufacturer">       <xsl:value-of select="@name"/>       <xsl:text>&#xA;</xsl:text>       <xsl:for-each select="car">         <xsl:sort select="."/>         <xsl:text>  </xsl:text>         <xsl:if test="(position() mod 2) = 0">           <xsl:number count="manufacturer" level="multiple" format="1."/>           <xsl:value-of select="position()"/>           <xsl:text>. </xsl:text>         </xsl:if>         <xsl:value-of select="."/>         <xsl:text>&#xA;</xsl:text>       </xsl:for-each>     </xsl:for-each>   </xsl:template> </xsl:stylesheet> Output: Automobile manufacturers and their cars Chevrolet   Cavalier   1.2. Corvette   Impala   1.4. Malibu Ford   Mustang   2.2. Pinto   Taurus Volkswagen   Beetle   3.2. Jetta   Passat   3.4. Touraeg