[Bug 22877] New: [XSLT 3.0] Binding component references in xsl:key definitions

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22877

            Bug ID: 22877
           Summary: [XSLT 3.0] Binding component references in xsl:key
                    definitions
    Classification: Unclassified
           Product: XPath / XQuery / XSLT
           Version: Working drafts
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org

The definition of a key can include function calls in its use= attribute, or in
predicates within its match= attribute. It can also contain references to
global variables and to named templates rules; potentially it can use
apply-templates.

We therefore need to consider what happens when the
functions/templates/variables that it references are overridden in a using
package.

The scope of keys is local to a package, and a call to the key() function can
only appear within the package containing the declaration of the key.
Therefore, I think we get the right effect if outward component references from
a key definition are always "fixed" to components in the package containing the
key declaration, and are never subsequently re-bound. This has the additional
merit that the compiler knows the full definition of the key when compiling the
package, and can use this knowledge.

We need to explain this, with examples, in section 3.6.4.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Sunday, 4 August 2013 13:26:02 UTC