xsl-list
[Top] [All Lists]

RE: matching on multiple attributes contained in a node-set

2003-03-27 22:11:00
Hi,

The desired output would list all the students, but only 
once.  That is, larry 
is listed as being on the list, all others are not.

The variable $list can be variable in length.. that is, I may 
add or remove 
items from this list (in fact, in the real-deal, this is a 
passed-in parameter 
to the Transformer.)

<xsl:template match="dftml">
  <xsl:for-each select="student">
    <xsl:variable name="s" select="." />
    <xsl:for-each select="xalan:nodeset($list)/item[$s/grade/@value = @grade 
and $s/type/@value = @type]">
      <xsl:value-of select="$s/name/@value" />
      <xsl:text> is in the list.&#xA;</xsl:text>
    </xsl:for-each>
  </xsl:for-each>
</xsl:template>

You should consider switching from xalan:nodeset to exslt:node-set. Also, if 
the $list is passed as a parameter, you shouldn't need to use node-set 
extensions. Hope this helps,

Cheers,

Jarno - Linnunradan käsikirja liftareille: Osa 4

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list