Subject: RE: Standard XPath expression for the intersection of two node se ts (Was: RE: How can I test if an node included in a nodeset) From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 04 Aug 2000 12:31:17 -0400 |
I don't know if anybody has mentioned this before:
We had already $nodes1[count(.|$nodes2)=count($nodes2)] as intersection expression.
If we add a single exclamation mark $nodes1[count(.|$nodes2)!=count($nodes2)] it will become the difference of the two node-sets $nodes1 and $nodes2.
( $ns1[count(.|$ns2)!=count($ns2)] | $ns2[count(.|$ns1)!=count($ns1)] )
T:\ftemp>type diff.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:data="ken" version="1.0">
<data:data> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> </data:data>
<xsl:template match="/"> <!--root rule--> <xsl:variable name="ns1" select="document('')//data:data/item[position()>1]"/> <xsl:variable name="ns2" select="document('')//data:data/item[position()<5]"/> <xsl:for-each select="$ns1[count(.|$ns2)=count($ns2)]"> Intersection: <xsl:value-of select="."/> </xsl:for-each> <xsl:for-each select="( $ns1[count(.|$ns2)!=count($ns2)] | $ns2[count(.|$ns1)!=count($ns1)] )"> Difference: <xsl:value-of select="."/> </xsl:for-each> </xsl:template>
Intersection: 2 Intersection: 3 Intersection: 4 Difference: 1 Difference: 5 T:\ftemp>
-- G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) Web site: XSL/XML/DSSSL/SGML services, training, libraries, products. Book: Practical Transformation Using XSLT and XPath ISBN1-894049-05-5 Next instructor-led training: 2000-09-19/20,2000-10-03,2000-10-04, - 2000-10-05,2000-10-19,2000-11-12,2000-11-13,2001-01-27
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Standard XPath expression for t, Oliver Becker | Thread | instant saxon ParserManager.propert, Linda van den Brink |
Revised XSLT and XPath Quick Refere, Tony Graham | Date | Re: Image in XSL?, Joe McDonald |
Month |