[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Standard XPath expression for the intersection of two no
At 00/08/04 10:59 +0200, Oliver Becker wrote:
I don't know if anybody has mentioned this before: I disagree, though I thought the same at first when saw Mike's great post ... what you have will be those in $nodes1 not in $nodes2, but not those in $nodes2 not in $nodes1. I figured you would need: ( $ns1[count(.|$ns2)!=count($ns2)] | $ns2[count(.|$ns1)!=count($ns1)] ) to get the true difference as I understand it, that being all nodes in both sets not in the other set. I have an example below. I hope this helps. .......... Ken 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"> <xsl:output method="text"/> <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> </xsl:stylesheet> T:\ftemp>xt diff.xsl diff.xsl 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 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|