W3C home > Mailing lists > Public > public-xml-core-wg@w3.org > September 2005

FW: XSLT and XML 1.1

From: Grosso, Paul <pgrosso@ptc.com>
Date: Fri, 30 Sep 2005 15:09:12 -0400
Message-ID: <CF83BAA719FD2C439D25CBB1C9D1D302DB97D5@HQ-MAIL4.ptcnet.ptc.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:33 GMT