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.
</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