Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Setting the attribute level into multiple

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>   <chapter>First Chapter</chapter>   <chapter>     Second Chapter     <chapter>Subchapter 1</chapter>     <chapter>Subchapter 2</chapter>   </chapter>   <chapter>     Third Chapter     <chapter>Subchapter A</chapter>     <chapter>       Subchapter B       <chapter>sub a</chapter>       <chapter>sub b</chapter>     </chapter>     <chapter>Subchapter C</chapter>   </chapter> </data> 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:template match="/">       <TABLE BORDER="1">         <TR>           <td>Number</TH>           <td>text</TH>         </TR>         <xsl:for-each select="//chapter">           <TR>             <TD>               <xsl:number level="multiple"/>             </TD>             <TD>               <xsl:value-of select="./text()"/>             </TD>           </TR>         </xsl:for-each>       </TABLE>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><TABLE BORDER="1"><TR><td>Number</TH><td>text</TH></TR><TR><TD>1</TD><TD>First Chapter</TD></TR><TR><TD>2</TD><TD>     Second Chapter     </TD></TR><TR><TD>2.1</TD><TD>Subchapter 1</TD></TR><TR><TD>2.2</TD><TD>Subchapter 2</TD></TR><TR><TD>3</TD><TD>     Third Chapter     </TD></TR><TR><TD>3.1</TD><TD>Subchapter A</TD></TR><TR><TD>3.2</TD><TD>       Subchapter B       </TD></TR><TR><TD>3.2.1</TD><TD>sub a</TD></TR><TR><TD>3.2.2</TD><TD>sub b</TD></TR><TR><TD>3.3</TD><TD>Subchapter C</TD></TR></TABLE>