- From: <bugzilla@jessica.w3.org>
- Date: Sun, 23 Oct 2016 08:49:55 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29957 --- Comment #1 from Michael Kay <mike@saxonica.com> --- >But one could also argue that these definitions automatically include mappings for xs:untyped and xs:untypedAtomic for all elements/attributes. I don't quite see what form such an argument might take. XSLT 5.3.1 says: The in-scope schema definitionsXP30 for the XPath expression are the same as the in-scope schema components for the stylesheet, and are as specified in 3.14 Built-in Types. [The reference should really include 3.15 as well.] Section 3.15 says: The schema components included in the in-scope schema components (that is, the components whose names are available for use within the stylesheet) are the top-level element and attribute declarations and type definitions that are available for reference within the synthetic schema document. See [XML Schema Part 1] (section 4.2.3, References to schema components across namespaces). If there is no import-schema, then the synthetic schema document contains no global attribute declarations, therefore schema-element(foo) refers to an attribute name that is not present in the in-scope schema declarations, therefore a static error occurs. The error code XTSE1660 applies specifically to non-schema-aware processors, not to schema-aware processors when there is no imported schema, and there's room for debate about which error code takes precedence. But either way, "foo" is not in the in-scope schema declarations and therefore can't be referenced in schema-attribute(). XPath says "If the ElementName specified in the SchemaElementTest is not found in the in-scope element declarations, a static error is raised [err:XPST0008]." which seems pretty unambiguous to me. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Sunday, 23 October 2016 08:50:05 UTC