|
Subject: Re: [xsl] SET-INTERSECTION function/template for sequences From: mark bordelon <markcbordelon@xxxxxxxxx> Date: Sat, 4 Jul 2009 10:22:16 -0700 (PDT) |
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.Honnen@xxxxxx> wrote:
> From: Martin Honnen <Martin.Honnen@xxxxxx>
> Subject: Re: [xsl] SET-INTERSECTION function/template for sequences
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] SET-INTERSECTION function, Martin Honnen | Thread | Re: [xsl] SET-INTERSECTION function, Martin Honnen |
| Re: [xsl] SET-INTERSECTION function, Martin Honnen | Date | Re: [xsl] SET-INTERSECTION function, Martin Honnen |
| Month |