- From: Kay, Michael <Michael.Kay@softwareag.com>
- Date: Thu, 8 May 2003 14:13:33 +0200
- To: Tobias Reif <tobiasreif@pinkjuice.com>, public-qt-comments@w3.org
> When I write
>
> ...
> <xsl:variable name="out">
> <xsl:choose>
> <xsl:when test="$in='phrase'">
> <xsl:sequence select="('span','p','div')"/>
> </xsl:when>
> <xsl:when test="$in='div'">
> <xsl:sequence select="('div','p','span')"/>
> </xsl:when>
> <xsl:otherwise>
> <xsl:copy-of select="('baar', 'blamm')"/>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
>
> ...
> <xsl:call-template name="elements">
> <xsl:with-param name="choices" select="$out"/>
> ..
>
> I'd like the have a sequence assigned to the variable and send to the
> called template, not a string. *If* I would like to turn the sequence
> into something else, I would say so by adding an "as" attribute.
>
> The issue lies in an area where ease of use an intuitiveness
> of XSLT 2
> can be improved. AFAIK a nice solution would probably involve
> breaking
> XSLT 1.0 backwards compatibility, but I think it would be worth it.
I agree with you that the interaction of the different options on
xsl:variable has become rather too complex for comfort.
One possibility that we might consider is that in 2.0 mode, an xsl:variable
with no "as" attribute returns the sequence as provided, and if you want to
construct a temporary tree, you do it as
<xsl:variable name="x">
<xsl:document-node>
<...>
</xsl:document-node>
</xsl:variable>
In 1.0 mode, an xsl:variable with no content and no "as" attribute would
construct the document node implicitly.
There would be some surprises when the version number is changed to 2.0, for
example
<xsl:variable name="x">
<xsl:text>Chapter</xsl:text>
<xsl:value-of select="$num"/>
</xsl:variable>
<xsl:if test="$x = 'Chapter3'">
would produce different results with version="1.0" and version="2.0", so we
would need to look at this carefully.
>
> 2. A question:
>
> Can a sequence consist of numbers, strings, etc, mixed?
Yes it can. It can even contain a mixture of nodes and atomic values.
Michael Kay
Received on Thursday, 8 May 2003 08:13:40 UTC