<?xml version='1.0'?>
<?xml-stylesheet type='text/xsl' href="http://www.w3.org/2002/xmlspec/xhtml/1.11/diffspec.xsl"?>
<!DOCTYPE spec SYSTEM "http://www.w3.org/2002/xmlspec/dtd/2.8/xmlspec.dtd" [
<!--* <!DOCTYPE spec SYSTEM "/home/www.w3/2002/xmlspec/dtd/2.8/xmlspec.dtd" [ *-->

<!--* Entities to change as and when needed *-->
<!ENTITY pub-year  "2005">
<!ENTITY pub-yyyy  "2005">
<!ENTITY pub-month "May">
<!ENTITY pub-mm    "05">
<!ENTITY pub-day   "11">
<!ENTITY pub-dd    "11">
<!ENTITY shortname     "xml11schema10">

<!--* Choose one: these are for the TR publication space *-->
<!ENTITY thisversionuri "http://www.w3.org/TR/&pub-yyyy;/NOTE-&shortname;-&isopubdate;">
<!ENTITY xmlversionuri "http://www.w3.org/TR/&pub-yyyy;/NOTE-&shortname;-&isopubdate;/11sp.xml">
<!ENTITY latestversionuri "http://www.w3.org/TR/&shortname;">
<!ENTITY doctype "note" >
<!ENTITY DocType "Note" >
<!ENTITY LongDocType "Working Group Note" >
<!ENTITY LongW3CDocType "W3C Working Group Note" >
<!ENTITY EdDraftWarning "
<!--* 
<p>This baby is the real thing, and don't you forget it.</p>
*-->
" >

<!--* Choose one: these are for the working area *-->
<!ENTITY thisversionuri "http://www.w3.org/XML/Group/2005/03/11-schema-processing/work/11sp.html">
<!ENTITY xmlversionuri "http://www.w3.org/XML/Group/2005/03/11-schema-processing/work/11sp.xml">
<!ENTITY latestversionuri "http://www.w3.org/XML/Group/2005/03/11-schema-processing/">
<!ENTITY doctype "editors-draft" >
<!ENTITY DocType "Editor's Draft" >
<!ENTITY W3CDocType "Editor's Draft" >
<!ENTITY EdDraftWarning "
<p>This version of this document is a member-only Editor's Working Draft.
It has no formal standing within W3C; it is here made available for 
review by members of the Working Group and other W3C members,
and/or for pre-publication checking.  <strong>Do not cite this document
at its current address.</strong>
</p>
" >

<!--* Entities which may need to be changed to suit pubrules *-->
<!ENTITY crazy.text "document" >
<!ENTITY workinprogress "">
<!ENTITY crazy.text "is a draft document and" >
<!ENTITY workinprogress "It is inappropriate to cite this
document as other than work in progress.">

<!--* Entities not to be touched *-->
<!ENTITY iso-pub-date  "&pub-yyyy;-&pub-mm;-&pub-dd;">
<!ENTITY isopubdate    "&pub-yyyy;&pub-mm;&pub-dd;">
<!ENTITY civilpubdate    "&pub-day; &pub-month; &pub-year;">
<!ATTLIST phrase dg CDATA #IMPLIED >
<!ATTLIST p      dg CDATA #IMPLIED >
<!ATTLIST back   dg CDATA #IMPLIED >
<!ATTLIST div1   dg CDATA #IMPLIED >

]>
<spec w3c-doctype="note" status="int-review">
 <header>
  <title>Processing XML 1.1 documents with XML Schema 1.0 processors</title>
  <w3c-designation>&doctype;-&iso-pub-date;</w3c-designation>
  <w3c-doctype>&W3CDocType;</w3c-doctype>
  <pubdate>
   <day>&pub-day;</day>
   <month>&pub-month;</month>
   <year>&pub-year;</year>
  </pubdate>
  <publoc>
   <loc href="&thisversionuri;">&thisversionuri;</loc>
  </publoc>
  <altlocs>
   <loc href="&xmlversionuri;">&xmlversionuri;</loc>
<!--* 
   <loc href="http://www.w3.org/XML/Group/2005/03/11-schema-processing/11sp_diffs.html">Diff-displayed version</loc>
*-->
  </altlocs>
  <latestloc><loc href="&latestversionuri;">&latestversionuri;</loc></latestloc>
<!--*
  <prevlocs><loc href="http://www.w3.org/XML/Group/2004/06/11sp.html">http://www.w3.org/XML/Group/2004/06/11sp.html</loc></prevlocs>
*-->
  <authlist>
   <author>
    <name>Henry S. Thompson</name>
    <affiliation>University of Edinburgh/W3C</affiliation>
    <email href="mailto:ht@inf.ed.ac.uk">ht@inf.ed.ac.uk</email>
   </author>
  </authlist>

<status>

<p><emph>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. A list of current W3C publications and the latest revision
of this technical report can be found in the <loc
href="http://www.w3.org/TR/">W3C technical reports index</loc> at
<code>http://www.w3.org/TR/</code>.</emph></p>

<p>This document is a Working Group Note prepared by the 
<loc href="http://www.w3.org/XML/Schema">W3C XML Schema Working Group</loc>, 
as part of the W3C <loc href="http://www.w3.org/XML/Activity">XML
Activity</loc>, and published on
&civilpubdate;.  It describes methods of
supporting XML 1.1 documents with schema processors designed to support
XML Schema 1.0.</p>

&EdDraftWarning;

<p>XML Schema 1.0 parts <loc href="http://www.w3.org/TR/xmlschema-1">1</loc> 
and <loc href="http://www.w3.org/TR/xmlschema-2">2</loc>
refer normatively to XML 1.0 and makes no explicit
provision for support of later versions of the XML specification; this
lack is sometimes advanced as a reason for W3C specifications which depend
on XML Schema not to support XML 1.1. But there are strong reasons
to encourage the wide adoption of XML 1.1, which is more successfully
internationalized than XML 1.0.  At the time this &DocType; is published,
<!--*
the XML Schema Working Group does not have consensus on the best way
to support XML 1.1 in XML Schema 1.0 or XML Schema 1.1.
*-->
the question of how best to support XML 1.1 in <!--* XML Schema 1.0 or XML Schema 1.1 *-->
XML Schema is still open.
</p>
<!--* 
<p>At the time this Note is published, the XML Schema Working Group
does not have a consensus on the proper way to support XML 1.1 in XML
Schema 1.0.  Some members favor an erratum allowing conforming
processors to support XML 1.1; others oppose it.  There is similarly
no consensus with respect to support for XML 1.1 in XML Schema 1.1.
*-->
<!--* opinions vary on whether XML Schema 1.1 should continue to require
support for XML 1.0 alone, allow support either for XML 1.0 or for XML
1.1 at implementation or user option, support some mixture of XML 1.0
and XML 1.1, or adopt some more general open-ended strategy for this
normative dependency.  No normative change to any version of XML
Schema can be expected to address the support of XML 1.1 in the near
future. *-->
<!--*
</p>
*-->

<p>This &DocType; offers strategies for supporting XML 1.1, based on the
implementation experience of some members of the XML Schema Working Group.
It is hoped that the techniques described here will be helpful to
other implementors and to users.  Equally, the Working Group hopes that this &DocType; 
will elicit discussion in the larger XML community concerning the best 
way for the XML Schema Working Group 
to balance the competing demands of flexibility in references to
other specifications, stability, and interoperability.
<!--* While the XML Schema Working Group does not have consensus on the
correct solution to these problems in normative provisions of 
XML Schema, it does have consensus on the utility of this &DocType; and
on the decision to publish it. *-->
This &DocType; is published with the full consensus of the XML Schema Working Group.
</p>
<p>Comments on this document and the issues it raises are welcome;
please send comments on this document to 
<loc href="mailto:www-xml-schema-comments@w3.org">www-xml-schema-comments@w3.org</loc> 
(<loc href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/">archive</loc>).</p>

<p>Publication as a &LongDocType; does not imply endorsement by the W3C
Membership. This 
&crazy.text;
may be updated, replaced or obsoleted by
other documents at any time.  
&workinprogress;
The XML Schema Working Group
does not currently expect to produce further versions or revisions of
this document, but experience with the subject matter of this
&DocType; may lead to changes in the normative text of future versions
of the XML Schema specification.</p>
</status>

  <abstract>
   <p>XML Schema 1.0 did not anticipate new versions of XML, and mandated
  XML 1.0 documents as the starting point for schema-validity
  assessment.  Some users and specifications would like to use XML
  Schema processors which process XML 1.1 documents, and some
  implementors of XML Schema processors would like to provide XML 1.1
  support.</p>
   <p>This Note suggests an implementation strategy for implementors to
  adopt to enable users and specifications to get such support in a
  consistent way. All aspects of XML Schema which are liable to
  re-interpretation as a result of changes in XML 1.1 are discussed.</p>
   <p>An implementation of schema-validity assessment employing such a
  strategy is strictly speaking non-conformant to the current version
  of the XML Schema specification. The XML Schema WG none-the-less
  believes that interoperability will best be served by such
  non-conformant processors being made available to users, until such
  time as a subsequent version of XML Schema addressing this issue
  normatively is approved.</p>
  </abstract>
  <sourcedesc>
   <p>Created in electronic form using XML.</p>
  </sourcedesc>
  <langusage>
   <language id="EN">English</language>
  </langusage>
  <revisiondesc>
   <slist>
    <sitem>2005-04-21 c0 and c1 -> C0 and C1</sitem>
    <sitem>2005-04-15 Responses to Noah's suggestions</sitem>
    <sitem>2005-04-07 Substantial revision, moving from polymorphic types to
all-and-only 1.1-compatible types.</sitem>
    <sitem>2004-09 Initial version, corresponds to XML 2004 paper</sitem>
   </slist>
  </revisiondesc>
 </header>
 <body>
  <div1 id="intro">
   <head>Introduction</head>
   <p>As published the XML Schema specification references XML 1.0<phrase diff="add" dg="prepub">and XML Namespaces 1.0</phrase> explicitly,
and incorporates by reference certain key definitions, in particular those of
the <code>Char</code>, <code>Name</code><phrase diff="add" dg="prepub">, QName</phrase> and <code>S</code> character classes.
The contents of these classes has changed in XML 1.1<phrase diff="add" dg="prepub">and XML Namespaces 1.1</phrase>, so although nothing in
the existing XML Schema specification specifically bars the processing of
infosets produced by XML 1.1 conformant parsers, such infosets, if they exploit
any of the relevant changes in XML 1.1, will not be accepted as valid by
conformant XML Schema 1.0 processors.</p>
   <p>The XML Schema WG has judged that any changes to the existing
specification to support XML 1.1 go beyond what could be considered as errata,
and so will have to wait for a new version of the specification.  As this may
take some time, this Note addresses the question of what should be done in the
interim to best serve the XML community.</p>
   <p>In the sections which follow, a non-normative strategy is set out
suggesting a number of changes which processors implementing the XML Schema
specification can make to enable sensible and interoperable support for XML
1.1.  Any implementation of XML Schema employing such a strategy is strictly
speaking non-conformant to the current version of the XML Schema specification.
The XML Schema WG none-the-less believes that interoperability will best be
served by the availability of such non-conformant processors until such time as a subsequent
version of XML Schema addressing this issue normatively is approved. </p>
  </div1>
  <div1>
   <head>Survey of XML 1.1 challenges for XML Schema 1.0</head>
   <p>Consider the following four cases:</p>
   <olist>
    <item>
     <p>C1 vs. C0 in content, e.g. #x83 vs. #x03</p>     
    </item>
    <item>
     <p>Old vs. new name chars in element names, e.g. <code>y</code> (25th letter in English alphabet) vs.
<code>&#x0133;</code> (25th letter in Dutch alphabet)</p>
    </item>
    <item>
     <p>Old vs. new name chars in ID-typed content, e.g. <code>y</code> vs. <code>&#x0133;</code></p>
    </item>
    <item>
     <p>LF vs NEL in length-specified list-typed content</p>
    </item>
   </olist>
   <p>(&#x0133; == U+0133 (#x133) is common in Dutch, e.g. in the word
<emph>&#x0133;s</emph> == English <emph>ice-cream</emph>.  It's a good example of something arbitrarily and
irritatingly not allowed as a name character in XML 1.0 which is
allowed as a name character in 1.1).</p>
   <p>In each of the above cases, the first alternative is OK and has the same
behaviour with respect to Schema validation in both XML 1.0 and XML 1.1,
whereas the second alternative either
is not Schema-valid under the strict XML 1.0 interpretation (1-3) or might be
expected to have different behaviour between XML 1.0 and
XML 1.1 (4).</p>
   <p>In other words, if you used a conformant XML Schema validator on the
following four instances (Figure 1), using the same schema document (Figure
2) each time, all four
would have validity problems.</p>
   <example>
    <eg>&lt;?xml version='1.0'?>
&lt;root>There's an &amp;amp;#3; here: &amp;#3;&lt;/root></eg>
    <eg>&lt;?xml version='1.0'?>
&lt;&#x0133;s/></eg>
    <eg>&lt;?xml version='1.0'?>
&lt;root id="&#x0133;"/></eg>
    <eg>&lt;?xml version='1.0'?>
&lt;!-- There's a NEL character (U+0085) between the 'a' and the 'b' below -->
&lt;root list="ab"/></eg>
   </example>
   
   <note role="example">
    <eg>&lt;?xml version='1.0'?>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 &lt;xs:element name="root">
  &lt;xs:annotation>
   &lt;xs:documentation>String content, id attr of type ID,
                     list attr of type [list of token], length 2
   &lt;/xs:documentation>
  &lt;/xs:annotation>

  &lt;xs:complexType>
   &lt;xs:simpleContent>
    &lt;xs:extension base="xs:string">

     &lt;xs:attribute name="id" type="xs:ID"/>
     
     &lt;xs:attribute name="list">
      &lt;xs:simpleType>
       &lt;xs:restriction>
        &lt;xs:simpleType>
         &lt;xs:list itemType="xs:token"/>
        &lt;/xs:simpleType>
        &lt;xs:length value="2"/>
       &lt;/xs:restriction>
      &lt;/xs:simpleType>
     &lt;/xs:attribute>

    &lt;/xs:extension>
   &lt;/xs:simpleContent>
  &lt;/xs:complexType>
 &lt;/xs:element>
 
 &lt;xs:element name="&#x0133;s"/>
 
&lt;/xs:schema></eg>
    <p>Schema for use with XML documents in Figure 1</p>
   </note>
  </div1>
  <div1>
   <head>First step towards XML 1.1: the parser</head>
   <p>The first obvious step for anyone considering modifying an existing XML
Schema processor of any kind to allow XML 1.1 documents is replacing its front
end, presumably currently an XML 1.0 parser, i.e. a parser which converts
<emph>only</emph> documents with a <code>version='1.0'</code> XML declaration
(or none), and enforces XML 1.0 well-formedness, with an XML 1.1 parser, i.e.
one which enforces <emph>either</emph> XML 1.0 <emph>or</emph> XML 1.1
well-formedness, depending on the <code>version</code> stated in the XML declaration.</p>
   <p>The resulting behaviour will be as follows:</p>
   <table border="1">
    <colgroup>
     <col/>
     <col align="center"/>
     <col align="center"/>
    </colgroup>
    <thead>
     <tr>
      <td></td>
      <td>XML 1.0 Declaration</td>
      <td>XML 1.1 Declaration</td>
     </tr>
    </thead>
    <tbody>
     <tr>
      <td>XML 1.0 Content</td>
      <td>
       <table>
        <thead>
         <tr>
          <td>Doc</td>
          <td>Outcome</td>
         </tr>
		  </thead>
		<tbody>
         <tr>
          <td>A</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>B</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>C</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>D</td>
          <td>OK</td>
         </tr>
        </tbody>
       </table>
      </td>
      <td>
       <table>
        <thead>
         <tr>
          <td>Doc</td>
          <td>Outcome</td>
         </tr>
		  </thead>
		<tbody>
         <tr>
          <td>A</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>B</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>C</td>
          <td>OK</td>
         </tr>
         <tr>
          <td>D</td>
          <td>OK</td>
         </tr>
        </tbody>
       </table>
      </td>
     </tr>
     <tr>
      <td>XML 1.1 Content</td>
      <td>
       <table>
        <thead>
         <tr>
          <td>Doc</td>
          <td>Outcome</td>
         </tr>
		  </thead>
		<tbody>
         <tr>
          <td>A</td>
          <td>X1</td>
         </tr>
         <tr>
          <td>B</td>
          <td>X1</td>
         </tr>
         <tr>
          <td>C</td>
          <td>X2</td>
         </tr>
         <tr>
          <td>D</td>
          <td>X3</td>
         </tr>
        </tbody>
       </table>
      </td>
      <td>
       <table>
        <thead>
         <tr>
          <td>Doc</td>
          <td>Outcome</td>
         </tr>
		  </thead>
		<tbody>
         <tr>
          <td>A</td>
          <td>OK/**</td>
         </tr>
         <tr>
          <td>B</td>
          <td>**</td>
         </tr>
         <tr>
          <td>C</td>
          <td>**</td>
         </tr>
         <tr>
          <td>D</td>
          <td>OK</td>
         </tr>
        </tbody>
       </table>
      </td>
     </tr>
    </tbody>
   </table>
   <p>Note that by "XML 1.0 Content" is meant documents exemplifying the <emph>first</emph> member of each of the
four pairs of differences introduced above, and by "XML 1.1 Content" is meant
documents exemplifying the <emph>second</emph> member thereof.  The top two
cells then require no explanation -- these are just the existing XML Schema
processor, using an XML 1.1 parser front end, behaving correctly on data it
already should be processing correctly.</p>
   <p>The bottom two cells are the interesting ones.  The bottom-left cell is
characterised by what I'll call <emph>misaligned</emph> XML versions.  Let's
consider the outcomes here one at a time.  Note that these cases cover not
only what our putative XML Schema 1.0 processor with an XML 1.1 parser would
do, but also what an unmodified 1.0/1.0 processor should do today.</p>
   <glist>
    <gitem>
     <label>A, B (<emph>misaligned</emph> versions): X1</label>
     <def>
      <p>These cases are (correctly) rejected as ill-formed by the front-end XML parser,
because they break the 1.0 rules for CDATA content (A) and element names (B).</p>
     </def>
    </gitem>
    <gitem>
     <label>C (<emph>misaligned</emph> versions): X2</label>
     <def>
      <p>This case is (correctly) rejected as schema-invalid by the XML Schema processor -- a string with an
&#x0133; in it is not an NCName per XML 1.0.</p>
     </def>
    </gitem>
    <gitem>
     <label>D (<emph>misaligned</emph> versions): X3</label>
     <def>
      <p>This case is (correctly) rejected as schema-invalid by the XML Schema
processor -- a 'list' with only NEL
separators is a single token when considered as XML 1.0 content.</p>
     </def>
    </gitem>
   </glist>
   <p>Moving on to the final, lower-right, cell, this is of course where things
get interesting:</p>
   <glist>
    <gitem>
     <label>A (<emph>aligned</emph> versions): OK/**</label>
     <def>
      <p diff="del" dg="prepub">The behaviour of this case depends on an implementation choice.  XSV
<bibref ref="xsv"/> does not independently enforce the XML 1.0 definition of
character data, that is, it does not check CDATA which is given the XML Schema
string type.  Other XML Schema processors, including Xerces <bibref ref="xerces"/>, <emph>do</emph> make that check.  It
follows that an unmodified XSV will accept case A documents, but other
unmodified processors, e.g. Xerces, may not.</p>
      <p diff="add" dg="prepub">The behaviour of this case depends on an implementation choice. Some
  processors, which take their input only in the form of encoded
  character streams and always use an XML parser as a front end,
  depend on that front end to enforce the basic constraint that all
  <code>xs:string</code>s consist of XML 1.0 Chars. Other XML Schema processors,
  particularly those which also accept synthetic infosets as input,
  enforce that constraint explicitly. It follows that a processor of
  the first kind, simply by changing to use an XML 1.1 front-end, will
  thereby accept case A documents, but processors of the second kind
  will not, because they will still be explicitly checking instances
  of <code>xs:string</code> using its XML Schema 1.0 definition."</p>
     </def>
    </gitem>
    <gitem>
     <label>D (<emph>aligned</emph> versions): OK</label>
     <def>
      <p>This case is (correctly) accepted -- a 'list' with a NEL
separator will have been normalized to have a space (#x20) separator by
the XML 1.1 front-end parser, and so the XML Schema processor will find two tokens.</p>
     </def>
    </gitem>
    <gitem>
     <label>C (<emph>aligned</emph> versions): **</label>
     <def>
      <p>This case is (incorrectly) rejected as schema-invalid by the XML
Schema processor -- because the <code>ID</code> type is derived from the
<code>Name</code> type, which in turn has a <code>pattern</code> facet based on
the XML 1.0 definition for Names, which does not allow the &#x0133;.</p>
     </def>
    </gitem>
    <gitem>
     <label>B (<emph>aligned</emph> versions): **</label>
     <def>
      <p>This case is actually very similar to the previous one, but with
respect to a different document, that is, the <emph>schema</emph> document. 
<emph>That</emph> document is (incorrectly) rejected as schema-invalid by the XML
Schema processor -- because the relevant element name turns up as the value of
the <code>name</code> attribute on the <code>xs:element</code> element, and
that <emph>attributes</emph> type in the schema for schema documents is 
<code>NCName</code>, which is derived from the
<code>Name</code> type, which in turn has a <code>pattern</code> facet based on
the XML 1.0 definition for Names, which does not allow the &#x0133;.</p>
     </def>
    </gitem>
   </glist>
  </div1>
  <div1>
   <head><phrase diff="del" dg="prepub">The Simplest Fix</phrase><phrase diff="add" dg="prepub">Recommended strategy</phrase>: Move to 1.1-compatible type definitions</head>   
   <p>What does it mean to say the last two results are <emph>incorrect</emph>?
It means that type definitions which enforce XML-1.0-appropriate constraints 
are being applied to self-identified XML 1.1 data.</p>
   <p>The simplest resolution is to simply change the XML Schema processor
itself so that the
relevant built-in type definitions enforce the XML 1.1 contraints.  This
will make all the entries in the lower-right quadrant 'OK'.</p>
  </div1>
  <div1>
   <head>The details</head>
   <p>The XML Schema 1.0 type definitions which include either direct dependencies
on XML 1.0 productions (that is, xsd:Name, which depends on XML 1.0
Name, xsd:NMTOKEN, which depends on XML Nmtoken, xsd:QName, which depends on XML 1.0 Letter, Digit, CombiningChar and Extender via XML Namespaces QName and xsd:string, which depends on XML 1.0 Char), as well as those type definitions which inherit from them (that is, xsd:NCName, xsd:ID, xsd:IDREF, xsd:IDREFS, xsd:ENTITY, xsd:ENTITIES, xsd:NMTOKENS, xsd:normalizedString, xsd:token and xsd:language), must use the
XML 1.1 productions.</p>
   <p>This change will fix the <code>B</code> and <code>C</code> results by using the XML 1.1
definition of Name.  For processors which don't depend on their XML front-end
parser to check CDATA, it will also fix the incorrect result they get for the
<code>A</code> example by using the XML 1.1 definition of Char.</p>
  </div1>
  <div1>
   <head>Backward incompatibilities</head>
   <p>The approach selected here isn't perfect.  The unconditional switch to
1.1-appropriate type definitions means that version 1.0 XML documents with
1.1-only Name characters in e.g. ID-typed attributes will be valid, where an
unmodified Schema 1.0 processor would find them invalid.</p>
   <p>The immediate negative consequences of this are presumably small, since
anyone already schema-validating their XML 1.0 documents will presumably have
<emph>corrected</emph> any examples of this.  But as and when processors
implementing this Note are widespread, it may be that documents with such
attribute type definitions and values will be
created, identified as version 1.0 and validated by modified processors, only
to be (correctly) rejected by unmodified processors.  We judge the risk of this
having serious negative consequences are small enough to be discounted, but it
is of course open to implementors to detect this case and issue a warning.</p>
   <p diff="add" dg="prepub">The other weakness is with respect to cases where no front-end XML
  parser is involved, that is where schema validity assessment is
  carried out on what are sometimes called "synthetic infosets".</p>
   <p diff="add" dg="prepub">Since on this proposal enforcement of XML 1.0 conformance for
  element names and character content is the responsibility of the
  front-end parser, it follows that for a synthetic infoset to contain
  for example an element with an XML-1.1-only element name will never
  be a problem solely because of its name, even if it has a document
  information item <rfc2119>[version]</rfc2119> property with value <code>1.0</code>.</p>
   <p diff="add" dg="prepub">Again we judge the likelihood of this causing a problem to be
  vanishingly small, particularly as any attempt to <emph>serialize</emph> such a
  synthetic infoset should raise an error.</p>
  </div1>
  <div1>
   <head>Summary of Recommendations for Interoperability</head>
   <p>To produce an XML-1.1-friendly version of an XML Schema 1.0 processor:</p>
   <olist>
    <item>
     <p><emph>Replace</emph> <phrase diff="del" dg="prepub">your</phrase><phrase diff="add" dg="prepub">its</phrase> XML 1.0 front-end parser with an XML 1.1
front-end parser;</p>
    </item>
    <item>
     <p><emph>Change</emph> <phrase diff="del" dg="prepub">the</phrase><phrase diff="add" dg="prepub">its</phrase> implementations of the XML Schema types <code>Name</code>,
<code>NMTOKEN</code>, <code>QName</code> and <code>string</code>, to use the relevant XML (Namespaces) 1.1 productions;</p>
    </item>
   </olist>
  </div1>
 </body>

<back diff="del" dg="prepub">
<div1 diff="del" dg="prepub">
<head>References</head>
<blist>
<bibl id="xsv" key="XSV">XSV...</bibl>
<bibl id="xerces" key="Xerces">Xerces... </bibl>
</blist>
</div1>
</back>
</spec>
