Subject: RE: [xsl] constructing the Node Sets From: "Siva Jasthi" <siva.jasthi@xxxxxxx> Date: Wed, 29 Jan 2003 09:29:40 -0600 |
hi - I have tried this out in my xsl, but it doesn't seem to be working. Here is a sample A.xml and B.xsl. (count of a: 4, count of b: 3, count of c: 0) is the output of the html. I expected that the intersection of a and b will produce a count of 2, but it is coming out as 0. (Because the obid="A" and obid="B" are common to both a and b). Can you pl. tell us where i am doing things wrong? thanks - siva jasthi A.xml ----- <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="B.xsl"?> <Root> <Class name="Asm" obid="A"/> <Class name="Asm" obid="B"/> <Class name="Asm" obid="C"/> <Class name="Asm" obid="D"/> <Class name="Cmp" obid="A"/> <Class name="Cmp" obid="B"/> <Class name="Cmp" obid="X"/> </Root> B.xsl ----- <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:variable name="a" select="/Root/Class[@name='Asm']/@obid"/> <xsl:variable name="b" select="/Root/Class[@name='Cmp']/@obid"/> <xsl:variable name="c" select="$a[ count( . | $b ) = count( $b ) ]"/> count of a: <xsl:value-of select="count($a)" /> count of b: <xsl:value-of select="count($b)" /> count of c: <xsl:value-of select="count($c)" /> </xsl:template> </xsl:stylesheet> -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Roger Glover Sent: Tuesday, January 28, 2003 12:39 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] constructing the Node Sets Idea copied from Michael Kay's "XSLT Programmer's Reference", 2nd ed., Wrox Press, 2001, p. 425 ... <xsl:variable name="C" select="$A[ count( . | $B ) = count( $B ) ]"/> The select expression selects the node subset C of node set A, composed of any member node of A which, when added to node set B, produces a node set the same size as B (in other words, the node was already in node set B). The usage of A and B in the select expression can be reversed with no side effects except possibly: o a change in the list ordering of nodes in node set C o a change in the speed of execution of the expression -- Roger Glover Siva Jasthi wrote > I have constructed two variables (A and B) each of which contains a Node > Set (through select="XPath Expression"). > > A = [Node1, Node2, Node3, Node4, Node5] > B = [Node3, Node4, Node5, Node6, Node7, Node8] > > I now would like to construct another variable C with the Nodes that exist > both in A and B. (So as to produce a third table with the Nodes that are > common to both A and B). > > C= [Node3, Node4, Node5] > > Is there any way to construct C from A and B?. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] constructing the Node Set, Roger Glover | Thread | Re: [xsl] constructing the Node Set, David Carlisle |
[xsl] Crane Softwrights Ltd. XSL Tr, G. Ken Holman | Date | Re: [xsl] constructing the Node Set, David Carlisle |
Month |