- From: Xan Gregg <xan.gregg@jmp.com>
- Date: Thu, 11 Sep 2003 08:57:44 -0400
- To: public-qt-comments@w3.org
Dear colleagues: The XML Schema Working Group congratulates the XSL Working Group on their progress, and in particular on the 2 May 2003 Working Draft of "XSL Transformations (XSLT) Version 2.0" (http://www.w3.org/TR/2003/WD-xslt20-20030502/). Below are our comments so far on XSLT 2.0. We are still reviewing other aspects of your Draft, such as validation, and expect to have more comments for you. Xan Gregg, on behalf of the XML Schema WG ------------------------------------- 2.8 Stylesheets and Schemas http://www.w3.org/TR/xslt20/#d0e1456 The bulleted list at the end of this section contains the following text: "If validation of a result tree fails (strictly speaking, if the outcome of the validity assessment is invalid), then the transformation fails, but if it succeeds, the element and attribute nodes of the tree will be annotated with the names of the schema-defined types to which these nodes conform." We realize this is the introduction and some degree of imprecision is necessary, but we suggest that the phrase "if it succeeds" be a little more precise. In particular, how does it relate to the validity assessment of "notKnown"? Perhaps replacing "if it succeeds" with "otherwise" will meet your intent. 3.10 Importing Schema Components http://www.w3.org/TR/xslt20/#import-schema We appreciate your use of an import mechanism that parallels the import in XML Schema. The Schema WG has recently worked through some of the subtleties of import, and we suggest you update your text to reflect the following points: 1) A schema may contain components from multiple namespaces. 2) Importing a schema only allows those top-level components that are in the specified namespace to be used by the importing document. 3) A schema does not have a namespace; only a schema document has a namespace (via the targetNamespace attribute). 4) XML Schema does not define the behavior of importing a schema for which there is not a schema document. 5) An XML Schema processor may decide to do nothing in response to an import, and it is not an error unless some component of the imported schema is ever referenced in the importing document. "The xsl:import-schema declaration is used to identify schema components (that is, the names of type definitions and element and attribute declarations) which need to be available statically, that is, before any source document is available. " We suggest you avoid treating components and their names as the same things. "After discarding any xsl:import-schema declarations under the above rule, the effect of the remaining xsl:import-schema declarations is the same as the effect of importing a single hypothetical schema that consists entirely of xs:import elements corresponding one-for-one with the xsl:import-schema declarations in the stylesheet, ..." Not quite true because of the above points. Note that the behavior of a schema processor, presented with the schema document you describe, is non-deterministic. "Conflicts (multiple definitions of the same name) are handled as defined in [XML Schema], assuming that all the imported definitions are assembled into one schema using the process described above." We suggest a general rule saying 'All errors which conformant schema processing produces during this process are reflected as static XSLT errors'. This will cover the prose quoted above as well as many other cases. Note that there are other obscure ways (besides name collisions) in which two valid schemas can be invalid when combined. For example, "action-at-a-distance" features like substitution groups and wildcards can cause UPA violations. "[ERR024] It is a static error if the processor is not able to locate a schema using the namespace and/or schema-location attributes , or if the document that it locates is neither a valid XML Schema nor any other resource that the implementation can process. [ERR025] It is a static error if both the namespace and the schema-location attributes are specified, and the schema that is located is not a schema for the specified namespace. [ERR026] It is a static error if the schema-location attribute is omitted, and the namespace attribute identifies a namespace whose schema is not known to the XSLT processor." In these error descriptions and in the above "importing a single hypothetical schema", we suggest you make the proper distinction between schema and schema document.
Received on Thursday, 11 September 2003 08:58:33 UTC