Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Select=state[not(@founding)]

File: Data.xml <?xml version="1.0" encoding="UTF-8"?> <eu>  <member>   <state>Austria</state>   <state founding="yes">Belgium</state>  </member>  <candidate>   <state>Bulgaria</state>   <state>Cyprus</state>   <state>Czech Republic</state>  </candidate> </eu> 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="xml" indent="yes" />   <xsl:attribute-set name="new">     <xsl:attribute name="founding">no</xsl:attribute>   </xsl:attribute-set>   <xsl:template match="eu">     <xsl:apply-templates select="member" />   </xsl:template>   <xsl:template match="member">     <eu>       <members>         <xsl:apply-templates select="state[not(@founding)]" />       </members>     </eu>   </xsl:template>   <xsl:template match="state">     <xsl:copy use-attribute-sets="new">       <xsl:apply-templates />     </xsl:copy>   </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?> <eu>    <members>       <state founding="no">Austria</state>    </members> </eu>