Dear Martin,
I am glad I mentioned the actual objective I was trying to achieve instead of
just asking for how to implement my imagined solution. Your solution equating
the sequnces themselves solves my problem. I had no idea you could do that.
To answer your question:
I don't understand why you put exists() into a match
attribute. That attribute is supposed to take a pattern, not
an abitrary XPath expression.
I was hoping that the match attribute, if it evaluated to a boolean, would
match on true and not on false.
By the way, I would still like to implement the set operators for sequences,
just as an XSL exercise to get to know the sequences better.
Mark
--- On Sat, 7/4/09, Martin Honnen <Martin(_dot_)Honnen(_at_)gmx(_dot_)de> wrote:
From: Martin Honnen <Martin(_dot_)Honnen(_at_)gmx(_dot_)de>
Subject: Re: [xsl] SET-INTERSECTION function/template for sequences
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Saturday, July 4, 2009, 10:05 AM
mark bordelon wrote:
I am trying to implement in XSL a *set-intersection*
"function" in the form of a template. It should accepts two
sequence parameters and return a sequence parameter. The
application for this function will be to argument values
that contain space delimited lists like this:
XML:
<skill category="database software">oracle
pl-sql package functions and stored
procedures</skill>
XSL: (test "database software" for any match in
"database sysadm")
<xsl:template match="
exists(
setintersect(
tokenize(skill/@category,' '),
tokenize('database sysadm',' ')
) )
">
I don't understand why you put exists() into a match
attribute. That attribute is supposed to take a pattern, not
an abitrary XPath expression.
As for the expression
exists(setintersect(
tokenize(skill/@category, ' '),
tokenize('database sysadm', ' ')
))
when you test
tokenize(skill/@category, ' ') =
tokenize('database sysadm', ' ')
then that expression gives true if at least one item in the
left sequence is the same as one item in the right sequence
so that seems to check what you want to check with your
exists expression.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--