Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - >Thread Next - RE: [xsl] SET-INTERSECTION function/template for sequences Re: [xsl] SET-INTERSECTION function/template for sequencesTo: xsl-list@-----.------------.--- Date: 7/4/2009 5:23:00 PM 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@g...> wrote: > From: Martin Honnen <Martin.Honnen@g...> > Subject: Re: [xsl] SET-INTERSECTION function/template for sequences > To: xsl-list@l... > 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@l...> > --~-- > > --~------------------------------------------------------------------ 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@l...> --~-- | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
