- From: <bugzilla@jessica.w3.org>
- Date: Fri, 03 Dec 2010 12:17:49 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11460 Summary: [XSLT 3.0] Context for xsl:merge-key Product: XPath / XQuery / XSLT Version: Working drafts Platform: PC OS/Version: Windows NT Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 AssignedTo: mike@saxonica.com ReportedBy: mike@saxonica.com QAContact: public-qt-comments@w3.org The content model for xsl:merge-input is <xsl:merge-input select? = expression > <!-- Content: (sequence-constructor, xsl:merge-key+) --> </xsl:merge-input> This makes it legal to write <xsl:merge-input> <xsl:variable name="o">ascending</xsl:variable> <xsl:sequence select="abcd"/> <xsl:merge-key select="." order="{$o}"/> </xsl:merge-input> But this is meaningless: the criteria for sorting/merging cannot depend in this way on the data to be sorted. It's legal because of an accident of the rules for variable scope: rather than saying that the scope of a variable is the rest of the sequence constructor, we say that it is all following sibling elements of the xsl:variable. Proposed solution: in 9.7, after the following: <quote> A local variable binding element is visible for all following siblings and their descendants, with the following exceptions: 1. It is not visible in any region where it is shadowed by another variable binding. 2. It is not visible within the subtree rooted at an xsl:fallback instruction that is a sibling of the variable binding element. 3. It is not visible within the subtree rooted at an xsl:catch instruction that is a sibling of the variable binding element. </quote> add a fourth exception: 4. It is not visible within the subtree rooted at an xsl:merge-key instruction that is a sibling of the variable binding element. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Friday, 3 December 2010 12:17:51 UTC