This is part of a <xls:choose> test
<xsl:when test="$node_detlijn[$node_position]/@type = 'text' or
$node_detlijn[$node_position]/@type = 'style'">
<xsl:when test="$node_detlijn[$node_position]/@type[. = 'text' or . =
'style']" />
should do the trick.
Yes.
When there are much more than two choices (or unknown number) it would be
preferrable to have them specified separately (as the text descendents of a
global-scope element in the stylesheet or in an imported stylesheet).
Then the comparison will be:
<xsl:when test="$node_detlijn[$node_position]/@type = $choices />
where the "$choices" xsl:variable is defined in the following way:
<xsl:variable name="choices" select="document('')/*/myChoices::*[1]/*"/>
and we have declared a specific namespace and bound the "myChoices" prefix
to it and we have the following global-scope element:
<myChoices:group1>
<choice>text</choice>
<choice>style</choice>
. . . . . . . . . . .
<choice>last</choice>
</myChoices:group1>
For efficiency we could put the choices in a separate tree and define a key:
<xsl:key name="kChoices" match="choice" use="."/>
Then the test (with the choices tree as the current document ) will simply
be:
<xsl:when test="key('kChoices', $node_detlijn[$node_position]/@type)"/>
Dimitre Novatchev.
FXSL developer
http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list