xsl-list
[Top] [All Lists]

[xsl] Using "except" where some nodes are copies (not the original)?

2011-12-28 17:17:39
Hi Folks,

How do I do set subtraction where some of the nodes in the two sets may be 
copies (not originals)?

Please allow me to explain.

Consider this XML document:

<Test>
    <A/>
    <B/>
    <C/>
</Test>

Set <Test> as the context node.

This operation:

    (A, B,, C) except (B, C)

returns:

    (A)

Nice.

Now, make a copy of B and store it into a variable:

      <xsl:variable name="B" as="element(B)">
                <xsl:copy-of select="B" />
       </xsl:variable>

Run the same operation, but using the variable:

    (A, B, C) except ($B, C)

Returns:

    (A, B)

Ouch!

 I don't want that behavior. I want: 

    (A, B, C) except ($B, C)

to return:

    (A)

How do I achieve the behavior I desire? 

That is, how do I do set subtraction where some of the nodes in the two sets 
may be copies?

/Roger


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>