xsl-list
[Top] [All Lists]

Re: [xsl] A smarter choose operation XSL 1.1

2009-06-11 19:36:08
On Thu, Jun 11, 2009 at 1:45 AM, David 
Carlisle<davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:

Another xslt1 version (as for Dimitre's this works also in xslt2 as
written, with version="1.0" but if you make it version="2.0" and turn off
backward compatibilty mode, you get a type error).

Yes, both David's solution and mine cause a type error to be raised if
they use version="2.0" and an XSLT 2.0 processor.

This one performs with both versions without any error:

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 <xsl:output method="text"/>

 <xsl:variable name="vrtfResults">
  <r>1</r>
  <r>1.70</r>
  <r>2.25</r>
  <r>3</r>
 </xsl:variable>

 <xsl:param name="optional.one" select="true()" />
 <xsl:param name="optional.two" select="true()" />
 <xsl:param name="optional.three" select="true()" />


       <xsl:template match="/">
         <xsl:variable name="vOne" select=
         "document('')/*/xsl:variable[(_at_)name='vrtfOne']"
         />
         <xsl:variable name="vResults" select=
         "document('')/*/xsl:variable[(_at_)name='vrtfResults']/*"
         />

         <xsl:value-of select=
         "$vResults[number($optional.one)
                  + number($optional.two)
                  + number($optional.three)
                  + 1
                   ]"/>
       </xsl:template>
</xsl:stylesheet>



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--