Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Compare attribute value

File: Data.xml <data>     <line lid="u1">hello</line>     <line color="red" lid="u2">hello</line>     <line color="blue" lid="u3">hello</line>     <line lid="u4">hello there</line>     <line color="blue" lid="u5">hello there</line>     <line color="blue" lid="u6">hello</line> </data> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="1.0">   <xsl:output method="xml" omit-xml-declaration="yes" />   <xsl:template match="line">     <xsl:if test="not(@color = preceding::line/@color)">       <xsl:copy>         <xsl:apply-templates select="@*|node()" />       </xsl:copy>     </xsl:if>   </xsl:template>   <xsl:template match="@*|node()">     <xsl:copy>       <xsl:apply-templates select="@*|node()" />     </xsl:copy>   </xsl:template> </xsl:stylesheet> Output: <data>     <line lid="u1">hello</line>     <line color="red" lid="u2">hello</line>     <line color="blue" lid="u3">hello</line>     <line lid="u4">hello there</line>           </data>