[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

SET-INTERSECTION function/template for sequences

Subject: SET-INTERSECTION function/template for sequences
From: mark bordelon <markcbordelon@xxxxxxxxx>
Date: Sat, 4 Jul 2009 09:53:25 -0700 (PDT)
 SET-INTERSECTION function/template for sequences
Dear XML Ladies and Gentlemen,

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 have tried to implement the setintersect as a for loop to build a variable
containing the matches, but cannot seem to get this variable to "build" up in
the loop.
I have also tried to adapt this node-based set:intersection found through a
google search, but I cannot figure out how it is working, and would like a
simpler, one-template approach anyway.

<xsl:template name="set:intersection">
  <xsl:param name="nodes1" select="/.." />
  <xsl:param name="nodes2" select="/.." />
  <xsl:apply-templates select="$nodes1[count(.|$nodes2) = count($nodes2)]"
mode="set:intersection" />
</xsl:template>
<xsl:template match="node()|@*" mode="set:intersection">
  <xsl:copy-of select="." />
</xsl:template>
 
Can someone give me some help? Perhaps I am going about this all wrong and
there is another, simpler, more elegant way?

Thanks,
Mark Bordelon
Getty Trust
 
 

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.