This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: XPath: all elements with only non-parent children with identical style attr


Tobi,
Not sure exactly what you want but I guess this will do
<xsl:template match="foo">
	<xsl:if test="(count(*) = count(*[@style =
current()/*[1]/@style])) and not(*[node()])">
		<xsl:copy-of select="." />
	</xsl:if>
</xsl:template>
Using this xml
<root>
   <foo>
    <bar style="baz"/>
    <blah style="baz"/>
    <blam style="baz"/>
    <blam style="baz" />
   </foo>
   <foo>
    <bar style="baz"/>
    <blah style="baz"/>
    <blam style="baz"/>
    <blam style="baz">
    	<z />
    </blam>
   </foo>
  <foo>
    <bar style="baz"/>
    <blah style="baz"/>
    <blam style="baz"/>
    <blam style="baz">
    	<!---->
    </blam>
   </foo>
  <foo>
    <bar style="bish"/>
    <blah style="baz"/>
    <blam style="baz"/>
    <blam style="baz">
    	<z />
    </blam>
   </foo>
  <foo>
    <bar style="baf"/>
    <blah style="baz"/>
    <blam style="baz"/>
    <blam style="baz"/>
   </foo>
</root>

Produces

<foo>
 <bar style="baz"/>
 <blah style="baz"/>
 <blam style="baz"/>
 <blam style="baz"/> 
</foo>
i.e. only the first one.

Ciao Chris

XML/XSL Portal
http://www.bayes.co.uk/xml


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]