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 |