- From: Kay, Michael <Michael.Kay@softwareag.com>
- Date: Thu, 16 May 2002 07:56:18 +0200
- To: Jeni Tennison <jeni@jenitennison.com>, "Kay, Michael" <Michael.Kay@softwareag.com>
- Cc: public-qt-comments@w3.org
> > Of course there's not full composability, but then neither > design gives you that (or at least not as I understand it). > In the current design, there are the duplications: > > - xsl:choose vs. if > - xsl:for-each vs. for > - xsl:variable vs. range variables > - xsl:sort vs. sort() > > xsl:item would eliminate the requirement for the last two of > these duplications. I'm not sure what duplications it would > add in their place? You are assuming we would be able to remove range variables from XPath, which is by no means a necessary consequence of adding xsl:item. We would probably be able to ditch sort(), though I would be reluctant to see it go: the construct <xsl:variable name="sorted-list"> <xsl:for-each select="x"> <xsl:sort select="."/> <xsl:item select="."/> </xsl:for-each> </xsl:variable> seems very clumsy compared with <xsl:variable name="sorted-list" select="sort(x)"/> We would end up with a new duplication in the area of sequence construction, because XPath would certainly not be viable without the (x,y,z) construct. And the more I think about using <xsl:for-each> and <xsl:choose> to do sequence construction, the more messy it seems. For example, what does the following mean: <xsl:variable name="x" type="sequence"> <xsl:item select="1"/> <xsl:value-of select="2"/> <xsl:value-of select="3"/> </xsl:variable> Do we really want this to create a sequence consisting of one integer and two text nodes? And consider: <xsl:template name="x"> <xsl:value-of select="first-name"/> <xsl:text> </xsl:text> <xsl:value-of select="last-name"/> </xsl:template> <xsl:variable name="y" type="sequence"> <xsl:call-template name="y"/> </xsl:variable> How many items are there in the sequence $y? The more I look into this, the more difficult and confusing it seems, and the more I feel that we've got the XSLT/XPath split just about right. Michael Kay
Received on Thursday, 16 May 2002 01:56:32 UTC