- From: Grosso, Paul <pgrosso@ptc.com>
- Date: Fri, 30 Sep 2005 15:09:12 -0400
- To: <public-xml-core-wg@w3.org>
FYI. Feel free to reply directly to the XSL WG if you have something timely to say. paul -----Original Message----- From: w3c-xsl-wg-request@w3.org [mailto:w3c-xsl-wg-request@w3.org] On Behalf Of Michael Kay Sent: Friday, 2005 September 30 13:27 To: w3c-xsl-wg@w3.org Cc: w3c-query-editors@w3.org Subject: XSLT and XML 1.1 There were a couple of issues (2278, 2276) leading to actions to modify the text describing support for XML 1.1. Here's the revised XSLT section 4.1, so that anyone can scream if I've got it wrong: <div2 id="xml-versions"> <head>XML Versions</head> <p>The data model defined in [XDM] is capable of representing either an XML 1.0 document (conforming to [XML 1.0] and [XML Namespaces]) or an XML 1.1 document (conforming to [XML 1.1] and [XML Namespaces 1.1]), and it makes no distinction between the two. In principle, therefore, XSLT 2.0 can be used with either of these XML versions.</p> <p>Construction of the data model is outside the scope of this specification, so XSLT 2.0 places no formal requirements on an XSLT processor to accept input from either XML 1.0 documents or XML 1.1 documents or both. This specification does define a serialization capability (see <specref ref="serialization"/>), though from a conformance point of view it is an optional feature. Although facilities are described for serializing the data model as either XML 1.0 or XML 1.1 (and controlling the choice), there is again no formal requirement on an XSLT processor to support either or both of these XML versions as serialization targets.</p> <p>Because the data model is the same whether the original document was XML 1.0 or XML 1.1, the semantics of XSLT processing do not depend on the version of XML used by the original document. There is no reason in principle why all the input and output documents used in a single transformation must conform to the same version of XML.</p> <p>Some of the syntactic constructs in XSLT 2.0 and XPath 2.0, for example the productions Char and NCName, are defined by reference to the XML and XML Namespaces specifications. There are slight variations between the XML 1.0 and XML 1.1 versions of these productions. Implementations <rfc2119>may</rfc2119> support either version; for interoperability it is <rfc2119>recommended</rfc2119> that an XSLT 2.0 processor that implements the 1.1 versions <rfc2119>should</rfc2119> also provide a mode that supports the 1.0 versions. It is thus implementation-defined whether the XSLT processor supports XML 1.0 with XML Namespaces 1.0, or XML 1.1 with XML Namespaces 1.1, or supports both versions at user option.</phrase></p> <note><p>The term <emph>XML Namespaces 1.0</emph> is used here to refer to <bibref ref="NAMES"/>, which was actually published without a version number.</p></note> <p>At the time of writing there is no published version of <bibref ref="XMLSCHEMA"/> that references the XML 1.1 specifications. This means that data types such as <code>xs:NCName</code> and <code>xs:ID</code> are constrained by the XML 1.0 rules, and do not allow the full range of values permitted by XML 1.1. This situation will not be resolved until a new version of <bibref ref="XMLSCHEMA"/> becomes available; in the meantime, it is <rfc2119>recommended</rfc2119> that implementers wishing to support XML 1.1 should consult <bibref ref="SCHEMA-AND-XML-1.1"/> for guidance. An XSLT 2.0 processor that supports XML 1.1 <rfc2119>should</rfc2119> implement the rules in later versions of <bibref ref="XMLSCHEMA"/> as they become available.</p> </div2> An observation about this: XQuery seems to be emphasizing that if you do anything the 1.1 way, you must do everything the 1.1 way. The XSLT text seems rather to be emphasizing the ability to mix and match, perhaps reflecting the fact that we see the language being used to convert between 1.0 and 1.1 and vice versa. Michael Kay
Received on Friday, 30 September 2005 19:07:00 UTC