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