This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XPath: all elements with only non-parent children with identical style attr
- From: "Chris Bayes" <chris at bayes dot co dot uk>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 12 Dec 2001 00:27:46 -0000
- Subject: RE: [xsl] XPath: all elements with only non-parent children with identical style attr
- Reply-to: xsl-list at lists dot mulberrytech dot com
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