xsl-list
[Top] [All Lists]

RE: [xsl] Using "except" with node sequences

2008-08-04 12:02:34
Also, thanks Michael for your suggestion.  The code I posted 
was a simplified form of my actual code, in which I'm 
combining two sequences produced by two different functions, 
both of which are a bit complex for a single predicate:

      select="$active_data except $new_data"

Both of these variables are constructed by functions executed 
on the original $normalized_data variable.  Both use 
<xsl:sequence /> to return a sequence of elements.  My 
impression was that by using <xsl:sequence />, I am returning 
references to the existing nodes in $normalized_data, and not 
actually creating copies of those nodes in memory.  Is this 
in fact the case?

yes.

An alternate method I considered was to create Boolean 
functions that would allow me to construct a predicate like 
you suggested:

      select="$normalized_data[fn:active(.) and not(fn:new(.)]

But since I use $active_data and $new_data elsewhere in my 
stylesheet, I decided against it, trying to avoid evaluating 
those Boolean functions more than necessary.  

In general, which approach is better practice?  

I would think the boolean function probably gives better reusability.

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
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>