Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

The default action in the absence of priority attributes

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <AAA id="a1" pos="start">       <BBB id="b1"/>       <BBB id="b2"/>     </AAA>     <AAA id="a2">       <BBB id="b3"/>       <BBB id="b4"/>       <CCC id="c1">         <CCC id="c2"/>       </CCC>       <BBB id="b5">         <CCC id="c3"/>       </BBB>     </AAA> </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="/">       <xsl:apply-templates select="//CCC"/>     </xsl:template>     <xsl:template match="CCC">       <h3 style="color:blue">         <xsl:value-of select="name()"/>         <xsl:text> (id=</xsl:text>         <xsl:value-of select="@id"/>         <xsl:text>)</xsl:text>       </h3>     </xsl:template>     <xsl:template match="CCC/CCC">       <h2 style="color:red">         <xsl:value-of select="name()"/>         <xsl:text> (id=</xsl:text>         <xsl:value-of select="@id"/>         <xsl:text>)</xsl:text>       </h2>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><h3 style="color:blue">CCC (id=c1)</h3><h2 style="color:red">CCC (id=c2)</h2><h3 style="color:blue">CCC (id=c3)</h3>