[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Can this be written in a shorter form?
> > 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|