<?xml version="1.0" encoding="utf-8"?><!-- Id: structures.xml,v 1.6.2.268 2007/08/27 14:45:08 sgao Exp  --><?xml-stylesheet type='text/xsl' href='xmlschema_nodiffs.xsl'?>
<!DOCTYPE spec
  SYSTEM "local.dgdf.dtd">
<spec dgdf="dg-wd.xml" dgdf_desc="" xml:lang="en" w3c-doctype="wd" status="final" otherSpec="http://www.w3.org/TR/2007/../2006/WD-xmlschema11-2-20060217/datatypes.html" schemaDump="./XMLSchema.xsd.dmp" schemaProper="./XMLSchema.xsd" datatypeDoc="../../2006/WD-xmlschema11-2-20060217/datatypes.xml" schemaExample="./example.xsd.dmp" docStatus="final" me="structures">
 <header>
  <title><!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">W3C XML Schema Definition Language (XSDL) 1.1</phrase> Part 1: Structures</title>
  <w3c-designation>wd-20070830</w3c-designation>
  <!--* <w3c-doctype>W3C Working Draft</w3c-doctype> *-->
  <w3c-doctype>W3C Working Draft</w3c-doctype>
  <pubdate>
   <day>30</day>
   <month>August</month>
   <year>2007</year><!--  Id: structures.xml,v 1.6.2.268 2007/08/27 14:45:08 sgao Exp  -->
  </pubdate>
  <publoc> 
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/">http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/</loc> 
  </publoc>
  <altlocs><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/structures.xml">XML</loc>
   <!--*
   <loc href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/structures.diff-1.0.html">XHTML with changes since version 1.0 marked</loc>
   <loc href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/structures.diff-wd.html">XHTML with changes since previous Working Draft marked</loc>
   *-->
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/structures.diff-1.0.html">XHTML with changes since version 1.0 marked</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/structures.diff-wd.html">XHTML with changes since previous Working Draft marked</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2001/XMLSchema.xsd">Independent copy of the schema for schema
    documents</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2001/XMLSchema.dtd">Independent copy of the DTD for schema documents</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="compDefs.xml">Independent tabulation of components and microcomponents</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlschema">List of translations</loc>
  </altlocs>
  <latestloc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/xmlschema11-1/">http://www.w3.org/TR/xmlschema11-1/</loc>
  </latestloc>
  <prevlocs>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-xmlschema11-1-20060831/">http://www.w3.org/TR/2006/WD-xmlschema11-1-20060831/</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2006/WD-xmlschema11-1-20060330/">http://www.w3.org/TR/2006/WD-xmlschema11-1-20060330/</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2005/WD-xmlschema11-1-20050224/">http://www.w3.org/TR/2005/WD-xmlschema11-1-20050224/</loc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2004/WD-xmlschema11-1-20040716/">http://www.w3.org/TR/2004/WD-xmlschema11-1-20040716/</loc>
  </prevlocs>
  <authlist> 
   <authlist role="1.1">
    <author>
     <name>Shudi (Sandy) Gao 高殊镝</name>
     <affiliation>IBM</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:sandygao@ca.ibm.com">sandygao@ca.ibm.com</email>
    </author>
    <author>
     <name>C. M. Sperberg-McQueen</name>
     <affiliation>World Wide Web Consortium</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:cmsmcq@w3.org">cmsmcq@w3.org</email>
    </author>
    <author>
     <name>Henry S. Thompson</name>
     <affiliation>University of Edinburgh</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:ht@inf.ed.ac.uk">ht@inf.ed.ac.uk</email>
    </author>
   </authlist>

   <authlist role="1.0">
    <author>
     <name>Henry S. Thompson</name>
     <affiliation>University of Edinburgh</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:ht@inf.ed.ac.uk">ht@inf.ed.ac.uk</email>
    </author>
    <author role="1.0">
     <name>Noah Mendelsohn</name>
     <affiliation>IBM</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:noah_mendelsohn@us.ibm.com">noah_mendelsohn@us.ibm.com</email>
    </author>
    <author role="1.0">
     <name>David Beech</name>
     <affiliation>Oracle Corporation (retired)</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:davidbeech@earthlink.net">davidbeech@earthlink.net</email>
    </author>
    <author role="1.0">
     <name>Murray Maloney</name>
     <affiliation>Muzmo Communications</affiliation>
     <email xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:murray@muzmo.com">murray@muzmo.com</email>
    </author>
   </authlist>
  </authlist>
<!--* old copy, for safekeeping 
  <authlist>
   <author diff="add">
    <name>Shudi (Sandy) Gao &#x9ad8;&#x6b8a;&#x955d;</name>
    <affiliation>IBM</affiliation>
    <email href="mailto:sandygao@ca.ibm.com">sandygao@ca.ibm.com</email>
   </author>
   <author>
    <name>Henry S. Thompson</name>
    <affiliation>University of Edinburgh</affiliation>
    <email diff="chg" href="mailto:ht@inf.ed.ac.uk">ht@inf.ed.ac.uk</email>
   </author>
   <author diff="add">
   <name>C. M. Sperberg-McQueen</name>
   <affiliation>World Wide Web Consortium</affiliation>
   <email href="mailto:cmsmcq@w3.org">cmsmcq@w3.org</email>
  </author>
   <author role="1.0">
    <name>Noah Mendelsohn</name>
    <affiliation>IBM</affiliation>
    <email href="mailto:noah_mendelsohn@us.ibm.com">noah_mendelsohn@us.ibm.com</email>
   </author>
   <author role="1.0">
    <name>David Beech</name>
    <affiliation>Oracle Corporation (retired)</affiliation>
    <email href="mailto:davidbeech@earthlink.net">davidbeech@earthlink.net</email>
   </author>
   <author role="1.0">
    <name>Murray Maloney</name>
    <affiliation>Muzmo Communications</affiliation>
    <email href="mailto:murray@muzmo.com">murray@muzmo.com</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 xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/">W3C technical reports index</loc> at
     http://www.w3.org/TR/.</emph></p>
   <p>This is a 
    <!--*
* material suppressed here by diff group wg-internal *
*-->
    <phrase dg="wd4.ch">Last Call</phrase>
    Public Working Draft of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">W3C XML Schema Definition Language (XSDL) 1.1</phrase>.  It 
    <!--*
* material suppressed here by diff group wg-internal *
*-->
    is here made
    available for review by W3C members<phrase dg="wg-internal"> 
     and the public</phrase>.  <!--*
* material suppressed here by diff group wd4.ch *
*--><phrase dg="wd4.ch">XSDL 1.1 retains all
     the essential features of XSDL 1.0, but adds several new 
     features to support functionality requested by users,
     fixes some errors in XSDL 1.0, 
     and clarifies some wording.</phrase>
    <!--*
* material suppressed here by diff group wg-internal *
*-->
   </p>
   <!--*
* material suppressed here by diff group telltale *
*-->
   <!--* draft of August 2007 *-->
   <p dg="wd4.ch">
    This draft was published 
    on 30 August 2007.
    The major revisions since the previous draft include:
    <ulist>
     <item>
      <p>A mechanism for conditional type assignment has been defined;
       this allows the <termref def="key-governing-type-elem"/> 
       to be assigned by evaluating
       information in the instance document.
      </p>
     </item>
     <item>
      <p>Element declarations may now specify multiple substitution group 
       heads.  </p>
     </item>
     <item>
      <p>A default attribute group may now be specified at the
       schema-document level; all complex types defined in the schema
       document will include that attribute group unless they specify
       otherwise; this makes it easier to specify that particular
       attributes are to be accepted by <emph>every</emph> complex
       type in a schema.</p>
     </item>
     <item>
      <p>Content models may now be defined as <quote>open</quote>,
       which means that elements other than those explicitly named
       will be accepted during validation.
       Several styles and degrees of openness are possible;
       they can be configured at the level
       of the schema document or of the complex type definition.
      </p>
     </item>
     <item>
      <p>Wildcards may now be defined which match only elements 
       <emph>not</emph> declared in the schema (so-called
       <quote>not-in-schema</quote> wildcards).</p>
     </item>
     <item>
      <p>Complex types whose content models are <code>all</code>-groups
       may now be extended.  (This change is in addition to other changes
       in <code>all</code>-groups described in <specref ref="changes"/>.)</p>
     </item>
     <item>
      <p>The assertions facility defined in the previous working draft
       has been revised; the <el>report</el> element has been dropped
       and the rules for evaluation of XPath expressions have been made
       more explicit.
       These changes may help minimize confusion between the assertions
       defined here and the <el>assert</el> and <el>report</el> elements
       of Schematron, which can still be used in <eltref ref="appinfo"/>
       elements, or separately.
      </p>
     </item>
     <item>
      <p>Elements may now have more than one attribute of type <code>xs:ID</code>.</p>
     </item>
     <item>
      <p>Various enhancements to the definition of the <termref def="key-psvi">post-schema-validation infoset</termref> have been made.
       These include the definition of some new properties to support
       new features (e.g.
       <propref role="psvi" ref="e-type_alternative"/> to support
       conditional type assignment) and new rules for assigning values to
       existing properties (the <propref ref="e-type_definition" role="psvi"/>, for example, is now
       defined whenever the <termref def="key-governing-type-elem"/> is known, instead
       of being undefined if the element is invalid).
      </p>
     </item>
     <item>
      <p>Some aspects of the use of <att>xsi:type</att> have been clarified.</p>
     </item>
     <item>
      <p>A conditional-inclusion mechanism has been defined to allow
       XSDL 1.1 processors to cope more successfully with constructs defined
       in future versions of this specification, if any.
       Schema authors can use this mechanism to define alternative
       constructs depending on the version of the processor, so that the
       same schema document can be usable with processors supporting
       different versions of XSDL.
      </p>
     </item>
     <item>
      <p>Numerous editorial changes and small bug fixes have been made
       in the interests of clarity and correctness.
      </p>
     </item>
    </ulist>
   </p>

   <p>For those primarily interested in the changes since version 1.0,
    the <phrase dg="wd4.ch">appendix</phrase>
    <specref ref="changes"/><!--*
* material suppressed here by diff group wd4.ch *
*--> is the recommended starting
    point.  <phrase dg="wd4.ch">It summarizes both changes made
     since XSDL 1.0 and some changes which were expected (and predicted
     in earlier drafts of this specification) but have not been made
     after all.</phrase>
    Accompanying versions of this document display in color
    all changes to normative text since version 1.0 and since the
    previous Working Draft.</p>

   <!--*
* material suppressed here by diff group bugreports *
*-->


   <p dg="bugreports"><phrase dg="wd-200708-1">The 
     <!--* http://www.w3.org/Consortium/Process/tr#last-call *-->
     <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/10/Process-20051014/tr#last-call">Last Call
      review period</loc> for this document extends until 8 November 2007.</phrase>
    Comments on this document should be made in
    W3C's public installation of Bugzilla, specifying "XML Schema" as the
    product. Instructions can be found at <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/XML/2006/01/public-bugzilla">http://www.w3.org/XML/2006/01/public-bugzilla</loc>. If access to
    Bugzilla is not feasible, please send your comments to the W3C XML
    Schema comments mailing list, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:www-xml-schema-comments@w3.org">www-xml-schema-comments@w3.org</loc> 
    (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/">archive</loc>) 
    Each Bugzilla entry and email message should contain only one
    comment.</p>

   <p dg="b2333-feedback">Although feedback based on any
    aspect of this specification is welcome, there are certain aspects of
    the design presented herein for which the Working Group is
    particularly interested in feedback. These are designated
    <quote>priority feedback</quote> aspects of the design, and
    identified as such in editorial notes at appropriate points in this
    draft.
    <phrase dg="wd4.ch">Any feature mentioned in a
     priority feedback note should be considered a <quote>feature
     at risk</quote>:  the feature may be retained as is, modified, or
     dropped, depending on the feedback received from readers,
     schema authors, schema users, and implementors.</phrase>
   </p>

   <p>Publication as a Working Draft does not imply endorsement by the
    W3C Membership. This is a draft document and may be updated, replaced
    or obsoleted by other documents at any time. It is inappropriate to
    cite this document as other than work in progress.</p>

   <p>
    This document has been produced by the 
    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/XML/Schema">W3C XML Schema Working Group</loc>
    as part of the W3C <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/XML/Activity">XML
     Activity</loc>. The goals of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> 1.1 are
    discussed in the <phrase dg="b4399a">document</phrase>
    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2003/WD-xmlschema-11-req-20030121/">Requirements 
     for XML Schema 1.1</loc><!--*
* material suppressed here by diff group b4399a *
*-->. 
    The authors of this document are
    the members of the XML Schema Working Group.  Different parts of this
    specification have different editors.
   </p>
   <!--*

   <p>Patent disclosures relevant to this specification may be found on
   the Working Group's <loc role="disclosure"
   href="http://www.w3.org/2004/01/pp-impl/19482/status">Patent
   disclosure page</loc> in conformance with the <loc
   href="http://www.w3.org/Consortium/Patent-Policy-20040205/">W3C Patent
   Policy</loc> of 5 February 2004.  An individual who has actual
   knowledge of a patent which the individual believes contains Essential
   Claim(s) with respect to this specification should disclose the
   information in accordance with <loc
   href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
   6 of the W3C Patent Policy</loc>.</p>

   *-->
   <p>This document was produced by a group operating under the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
     2004 W3C Patent Policy</loc>. W3C maintains a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2004/01/pp-impl/19482/status">public list of
     any patent disclosures</loc> made in connection with the deliverables
    of the group; that page also includes instructions for disclosing a
    patent. An individual who has actual knowledge of a patent which the
    individual believes contains <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential 
     Claim(s)</loc> must disclose the information in accordance with <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 
     6 of the W3C Patent Policy</loc>. </p>
   
   <!--* <p>In accordance with 
   <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Exclusion">section 
   4 of the W3C Patent Policy</loc>, Working Group participants have 150
   days from the title page date of this document to exclude essential
   claims from the W3C RF licensing requirements with respect to this
   document series. Exclusions are with respect to the exclusion
   reference document, defined by the <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/">W3C Patent
   Policy</loc> to be the latest version of a document in this series
   that is published no later than 90 days after the title page date of
   this document.</p> *-->

   <p>The English version of this specification is the only normative
    version. Information about translations of this document is available
    at <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlschema">http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlschema</loc>.</p>

  </status>

  <abstract id="abstract">
   <p><!--*
* material suppressed here by diff group b4399a *
*--><phrase dg="b4399a">This
     document</phrase> specifies the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language</phrase>,
    which offers facilities for describing the structure and constraining the contents
    of XML<!--*
* material suppressed here by diff group fpwd *
*--> documents, including those which 
    exploit the XML Namespace facility. The schema language, which is itself 
    <phrase dg="b4399a">represented 
     in an</phrase> XML<!--*
* material suppressed here by diff group fpwd *
*--><phrase dg="b4399a"> vocabulary</phrase> and uses 
    namespaces, substantially reconstructs and considerably 
    extends the capabilities found in XML<!--*
* material suppressed here by diff group fpwd *
*--> 
    document type definitions (DTDs).  This specification depends on 
    <emph><!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language 1.1</phrase> Part 2: Datatypes</emph>.          
    <!--* <issue id="RQ-152i" role="1.1">
    <p><loc href="&reqs;#xml1.1" target="reqs">RQ-152 (xml1.1)</loc></p>
    <p>How should this specification be aligned with XML 1.1?  The changes in
    character set and name characters, and the question of what determines which
    ones to use, must be addressed.</p>
   </issue> *-->
   </p>
  </abstract>
  <pubstmt>
   <p>Edinburgh, et al.: World-Wide Web Consortium, XML Schema
    Working Group, 2004.</p>
  </pubstmt>
  <sourcedesc>
   <p>Created in electronic form using XML, starting from <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/XML/Group/2003/09/xmlschema-1/structures.xml">[internal draft
     of] XML Schema Part 1: Structures, Second Edition</loc>.</p>
  </sourcedesc>
  <langusage>
   <language id="EN">English</language>
   <language id="ebnf">Extended Backus-Naur Form (formal grammar)</language>
   <language>Extensible Markup Language (XML)</language> </langusage>
  <revisiondesc>
   <slist>
    <sitem>For changes, see CVS change log at the end of the document.
     For marked diff groups, see the following items.</sitem>
    <sitem id="fpwd">Changes made (and with very few exceptions 
     marked as such) in the first public working draft of July 2004.
     Mostly approved 2005-02-18.  (What wasn't approved is now 
     tagged ep01.)</sitem>
    <sitem id="m01">Minor typos and corrections made by MSM; these
     will be batched together and handled in an editorial change 
     proposal.  Approved as part of EP-06, 2005-02-18.</sitem>
    <sitem id="imp">Changes to the section on import (mostly — 
     some go beyond import to the rest of the section), based on
     NM's proposal in Brisbane.  Approved as EP-07, 2005-02-18.</sitem>
    <sitem id="rq17">Non-status-quo draft changes to implement
     Brisbane partial consensus wrt RQ-17.
     Discussed 2005-02-18, into WD as non-status-quo text.
    </sitem>
    <sitem id="rq17-x">Changes originally part of rq17 abandoned when
     MSM revised the RQ-17 proposal 30 Oct 2006.
    </sitem>
    <sitem id="rq17a">Additional changes to fix links broken by rq17.
     Not discussed 2005-02-18, but into WD anyway as non-status-quo text
     (because otherwise links are broken).
    </sitem>
    <sitem id="rq17a1">Changes to attribute restriction in complex types
     and attribute group redefinition.
    </sitem>
    <sitem id="rq17a2">Another way to change attribute restriction.
    </sitem>
    <sitem id="rq17a2-x">Abandoned text for RQ-17 attribute restriction.
    </sitem>
    <sitem id="rq17aux">Auxiliary diff group for RQ-17.  Has no independent
     value; its sole purpose is to make the output valid when diff group
     rq17 and rq17a are not adopted.  Display as 'pre' iff rq17 is pre,
     otherwise display as 'post'.
     Added 2005-02-19.  Needs no discussion or approval; it's just
     an artifact of our diff system.
    </sitem>
    <sitem id="rq144">Draft rough wording (not status quo) for RQ-144.
     Discussed 2005-02-18, into WD as non-status-quo text.
     This is bug 2822; cf. bug 2846=RQ-142.
     Approved 2006-08-04.
    </sitem>
    <sitem id="rq144-wrap2">Replacement wrapper (after rq144 became
     status quo). 
     (2006-09-28: rq144-wrap2 appears to have no instances except its
     explanation.)</sitem>
    <sitem id="rq144a">Fixes to broken links caused by diff group rq144.
     Not discussed 2005-02-18, not sure what to do.  This should go
     together with rq144sc (schema construction variations).
     Approved 2006-08-18.
    </sitem>
    <sitem id="rq144nv">Sub-part of RQ-144: no variation in PSVI.
     Approved 2006-08-04.</sitem>
    <sitem id="rq144sc">Sub-part of RQ-144: schema construction variations.
     Approved 2006-08-18.</sitem>
    <sitem id="rq144fb">Sub-part of RQ-144: fallback variation.</sitem>
    <sitem id="rq144fl">Sub-part of RQ-144: psvi flavors.</sitem>
    <sitem id="rq144si">Sub-part of RQ-144: schema invocation details.</sitem>
    <sitem id="rq144cf">Sub-part of RQ-144: conformance clauses.
     Approved 2006-08-04.</sitem>
    <sitem id="rq144aux">Auxiliary diff group for RQ-144. Has no
     independent value; its sole purpose is to make the output document valid
     with or without rq144.  Display as 'pre' iff rq144 is pre;
     otherwise display as 'post'.
     Added 2005-02-19.  Does not need WG discussion or approval; it's
     just a mechanism for controlling the diff and the markup.
    </sitem>
    <sitem id="rq144wg">Changes made by WG in RQ-144 during meetings of
     4 and 18 August.</sitem>
    <sitem id="rq144wgno">'New Orleans' changes requested by WG in RQ-144
     and approved in advance by a 'New Orleans' vote,  during meetings of
     4 and 18 August.</sitem>
    <sitem id="rq144wg2">Changes made by WG in RQ-144 during ftf meetings of
     21-23 18 August.</sitem>
    <sitem id="rq144-abandoned">Deletions to RQ-144 proposal agreed on by WG 
     during ftf meetings of 21-23 18 August.</sitem>
    <sitem id="modals">An editorial proposal prepared by MSM.
     Eliminate nested modals, to avoid entailing modal logic.
     Check all occurrences of 'must', 'may', and 'should', eliminate
     where not aligned with RFC 2119.  (Not entirely successful; I
     eliminated almost all non-2119 occurrences of 'may', but not of
     'should'.)
     Partly approved 2005-02-18 as EP-08, partly postponed.  Postponed bits
     ('may') retagged as diff group 'may'.
    </sitem>
    <sitem id="may">Originally part of "modals".  Split off 2005-02-18
     after HT and MSM were unable to agree on specific cases; to be taken
     up again later.
    </sitem>
    <sitem id="ep06a">Proposed amendments to EP-06 (2005-02).
     Approved 2005-02-18.</sitem>
    <sitem id="ep08a">Proposed amendments to EP-08 (2005-02).
     Approved 2005-02-18.</sitem>
    <sitem id="ep01">Diff group for changes related to micro-components 
     (were originally tagged fpwd).  Split off from fpwd 2005-02-18.</sitem>
    <sitem id="ep01-part1">Misnamed for split-off addition of Scope to CTD --
     overtaken by context-2338.</sitem>
    <sitem id="dgaat">Diff group for changes related to anyAtomicType
     (were originally tagged fpwd).  Approved 2005-02-18.</sitem>
    <sitem id="wd2hax">Other last-minute fixes for WD 2 (2005-02).</sitem>
    <sitem id="wd2.silent">Changes which we record for the sake of
     the audit trail but which are not to be shown colored in WD 2 (2005-02).</sitem>
    <sitem id="nsq">Dummy diff group for sample non-status-quo text.</sitem>
    <sitem id="abandoned">Change markup which we decided against, but
     which for whatever reason (sentimentality, or a suspicion that
     we might change our minds back, or just a hope we will) we do
     not wish to delete. Yet.</sitem>
    <sitem id="iff">Selective change of "if" to "if and only if"
     (and other attempts to make sentences with "if" clearer).</sitem>
    <sitem id="iff.144">Changes of "if"/"then" related to RQ-144 (and thus
     possibly more controversial than those of "iff").</sitem>
    <sitem id="opt.144">Changes of "is" to "may" related to RQ-144 (and thus
     distinct in impact from those of "iff.144").
     (2006-07-26: N.B. the opt.144 changes reflect the proposition that
     what is in the PSVI is always / must be exposed by a conforming
     validator.  The WG seems to have moved firmly to the opposing
     view, that all PSVI properties are always present, and an 
     implementation does or doesn't expose them.  As a result, the 
     opt.144 changes look like an utter disaster.  Do NOT try turning
     them on!)</sitem>
    <sitem id="iff.144.r">Reverted changes formerly marked iff.144.
     Agreed 15 April 2005 (http://www.w3.org/2005/04/15-xmlschema-minutes.html#item10),
     22 April (http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2005Apr/0056.html).
     (! 2006-09-28 this diff group appears not to have any members)
    </sitem>
    <sitem id="rec12-main">Changes to reconcile overlap/conflict between parts 1 and 2</sitem>
    <sitem id="rec12-map">Changes to reconcile overlap/conflict between parts 1
     and 2 in the XML&lt;-&gt;component mapping rules</sitem>
    <sitem id="std-1915">Changes in tableaux for simple type definition to align with
     part 2, as agreed in Edinburgh.
     (These could be folded into rec12-map, probably, but
     I'm making them separate just out of caution. -MSM)</sitem>
    <sitem id="std-1915-scope">Deletion of scope property in tableau for anySimpleType.
     This change was made as part of / at the same time as std-1915, but since
     scope was added after 1.0, it needs to be treated separately to get the colors
     in the diffs to come out right.</sitem>
    <sitem id="rq129">Remove dependency on canonical forms</sitem>
    <sitem id="rq129bis">Second pass on RQ-129, to implement WG instructions
     of 2006-02-17 (no real need for this to be separate from rq129
     except that I'm uncertain about these changes and want to be able
     to roll them back easily)</sitem>
    <sitem id="rq129ter">Additional pass to implement WG instructions
     of 2006-02-17 within nsq RQ-17 text.
     This does need to be separate from rq129.</sitem>
    <sitem id="derive-1913">Implement RQ-120, use 'derived' consistently 
     vis a vis 'constructed'</sitem>
    <sitem id="scope-1973">Implement fix for R-96, bug in scope when decl is
     inside group defn</sitem>
    <sitem id="b1892">Fix for R-180, bug 1892.  (The entry for 1892 says 
     it's 1.0 only, but the text is the same in 1.0 and 1.1, so I'm putting
     this fix in here.)</sitem>
    <sitem id="b1915bis">Late amendments to the omnibus proposal which
     included both 1913 and 1915.  Approved by WG 16 December 2005.</sitem>
    <sitem id="b2532-rq127-r196">Health warning about white space normalization,
     approved at Toronto ftf meeting (according to bug 2532 - I seem to have
     read past it when processing the Toronto minutes).</sitem>
    <sitem id="b2333">Bug 2333 (= R-198, union of unions).  Changes to
     eliminate flattening of unions to make them contain only atomic and list
     types.  This requires changing the description of [member type
     definition] and friends; three designs are sketched, labeled b2333a,
     b2333b, and b2333c.</sitem>
    <sitem id="b2333a">Bug 2333 (= R-198, union of unions).  One way to
     handle member type definition properties in the PSVI.
     Make [member type definition] refer to the ground (bottom-level) 
     atomic or list type to which a value was ultimately assigned.
     Cost:  constraints imposed by other types in the derivation chain
     are not visible.  Cost:  if the same ground type appears more than
     once in the membership tree, we cannot know which appearance we are
     dealing with.  (This is already true in 1.0.  But in 1.0, when
     restrictions on sub-unions are lost, what difference can it
     make which appearance we have?)</sitem>
    <sitem id="b2333b">Bug 2333 (= R-198, union of unions).  Second way to
     handle member type definition properties in the PSVI. Make [member
     type definition] contain a sequence of type definitions (beginning
     with the immediate member of the declared type and ending with the
     non-union, i.e. atomic or list type) to which the value was ultimately
     assigned.  Cost:  change to component structure will disturb some WG
     members.  Cost:  the properties [member type definition name],
     [member type definition namespace],  and [member type definition
     anonymous] become kind of clumsy.  (Our own damn fault for not
     defining structures for expanded names.)</sitem>
    <sitem id="b2333c">Bug 2333 (= R-198, union of unions).  Third way to
     handle member type definition properties in the PSVI.
     Bite the bullet: make [member type definition] refer to the primitive 
     type to which a value was ultimately assigned.
     Cost:  constraints imposed by other types in the derivation chain
     are not visible.  Cost:  change in component semantics will disturb
     some WG members.  Cost:  if the same primitive type appears several
     times in the membership tree, it won't be clear which intermediate
     unions were involved.</sitem>
    <sitem id="b2333-feedback">Priority feedback request for fix
     2333.  Drafted by MSM 2006-01-27, not status quo until the
     other editors review and agree.</sitem>

    <sitem id="b1838">Changes for Bugzilla 1838 = RQ-152 = support for XML
     1.1.</sitem>

    <sitem id="eg-1852">End-game resolution of dangling inconsistencies between
     parts 1 and 2</sitem>
    <sitem id="eg-1852-silent">Text movement in eg-1852.  Added by MSM; I have
     not done anything like a systematic search, but happened to notice that
     the definition of key-baseTypeDefinition had moved and was marked as a
     deletion in old location but not as an insertion in new one.  The
     eg-1852-silent diff group is to hold the insertion.  Mark it either pre
     or post, not colour, so that the micro-changes can be seen.</sitem>
    <sitem id="rec12-main-eg-1852-override">Added in rec12-main, but deleted in eg-1852</sitem>
    <sitem id="context-2338">Add {context} property to CTDs</sitem>
    <sitem id="ep01-revert">Revert an ep01 change per WG request</sitem>
    <sitem id="rq17p">Separate out content-model aspect of
     restriction-is-subsumption for separate consideration</sitem>
    <sitem id="ww-all">Introduce simple weakened wildcards, resolving
     Bugzilla 3519.  This proved to require more work than had been
     expected, because the existing UPA appears not to be an
     effective concept.  The group "ww-all" is used as an umbrella
     for several smaller changes: ww-LM, ww-p, and ww.</sitem>
    <sitem id="ww-LM">Auxiliary proposal, preparatory setup for ww / 3519.
     Introduces the notion that particles denote languages and
     introduces the notation L(P) for the language accepted by
     particle P.</sitem>
    <sitem id="ww-p">Auxiliary proposal, preparatory setup for ww / 3519.
     Introduces the notions of path and competition between particles.
    </sitem> 
    <sitem id="ww">Introduce simple weakened wildcards.  This group
     has the core change, making UPA allow competition between element
     declarations and weakened wildcards.
     IN ITS CURRENT STATE, IT DEPENDS CRUCIALLY ON GROUPS "ww-LM" AND "ww-p".</sitem>
    <sitem id="ww-x">Speculative / experimental text for ww / 3519.
     (At the moment, it's used for text which hasn't yet been classified
     as ww-LM, ww-p, or ww.)
    </sitem>
    <sitem id="ww-1">Changes asked for by the WG at the ftf of 2006-08.</sitem>
    <sitem id="rq146-0">cleanup included in Runtime EDC</sitem>
    <sitem id="rq146-1">Runtime EDC</sitem>
    <sitem id="rq146-2">Runtime EDC option #3</sitem>
    <sitem id="rq146-1.add.rq146-2.del">Runtime EDC</sitem>
    <sitem id="rq146-3">Runtime EDC disallow type change</sitem>
    <sitem id="rq146-x">Remove stuff from earlier drafts or editorial
     notes that no longer apply.</sitem>
    <sitem id="rq146-abandoned">Some changes where it was easier to change
     the diff group name than to comment them out.  Delete them eventually;
     for now I save them in case I get cold feet about their replacements,
     and want these bits back.</sitem>
    <sitem id="wg-internal">Phrases in status section which apply only to
     to WG-internal draft copies.</sitem>
    <sitem id="telltale">Material (in status section and possibly elsewhere) 
     which applies only to change proposals.</sitem>
    <sitem id="lp">Literate programming change:  make the master source of 
     the schema for schemas live in this document, not elsewhere.
     This was finally incorporated into dg-approved in 2006-03.
    </sitem>
    <sitem id="ast-pim">Addition of ptd, itd, and mtd to display
     for simple type definitions.  This happened after the WD of 200502 and should
     be marked as an add vis-a-vis that WD and vis-a-vis 1.0.</sitem>
    <sitem id="wd-200603">SOTD prose for the draft of March 2006.</sitem>
    <sitem id="wd3hax">Last-minute editorial changes prior to publication 
     of March 2006.</sitem>
    <sitem id="all-2506-1">Partial resolution of bug 2506, relax constraints
     on 'all' groups.  Drafted by SG, transcribed here by MSM.</sitem>
    <sitem id="all-2506-2">Another proposal for bug 2506:  allow extension of
     'all' groups to be 'all' groups.  Drafted by SG as part of his proposal,
     but separated here because it's lacks phase-1 consensus.  Revised by
     MSM 2006-09-28.</sitem>
    <sitem id="all-2506-3">Another proposal for bug 2506:  allow 'all' groups to be
     appear in 'sequence' or 'choice' groups.</sitem>
    <sitem id="ep17">Editorial proposal to tag all component references 
     not currently tagged. 

     attribute (declaration).
     element (declaration).
     complex type (definition).
     attribute use.
     attribute group (definition).
     model group.
     named model group.
     x particle done 2006-07-24.
     wildcards
     identity-constraint (definition)
     notation (declaration)
     annotation
     simple type definition 

    </sitem>

    <sitem id="vm3-0">Preliminary changes for versioning mechanism v-m3:
     fallback to declared type.  Editorial changes, no substantive changes
     here.</sitem>
    <sitem id="vm3-0x">
     To be merged with the rest of vm3. To remove some text added by vm3-0.
    </sitem>
    <sitem id="vm3-1">Proposal for versioning mechanism v-m3: fallback to
     declared type.  Will probably rely on vm3-0.</sitem>
    <sitem id="vm3-1-abandoned">Words I have tried to draft, but
     wasn't satisfied with.  Saved in case I want to try again.
     Delete these later. (2006-10-11)</sitem>
    <sitem id="vm3-1x">
     To be merged with the rest of vm3. To remove some text added by vm3-1.
    </sitem>
    <sitem id="vm3-2">
     Sandy's changes to vm3.
    </sitem>
    <sitem id="vm3-e">
     Sandy's extra changes not directly related to vm3.
    </sitem>
    <sitem id="vm3-4">
     MSM's changes of 29 October, late tweaks and changes to the proposal.
    </sitem>
    <sitem id="vm3a">
     More on "fallback to declared type". Use context-determined type for
     unexpected elements.
    </sitem>
    <sitem id="vm3a-1">
     Fix a bug in definition of governing element declaration.
    </sitem>
    <sitem id="b2861cc-1">Bug 2861, co-constraints as check clauses,
     part / level 1.</sitem>
    <sitem id="b2861cc-1a">MSM's modifications to SG's 2861 proposal;
     mostly kept separate to make them easier to roll back, but
     some changes in ednotes etc. not separated.</sitem>
    <sitem id="b2861cc-1b">Changes made based on WG's feedback from 08/2006
     f2f meetings.</sitem>
    <sitem id="b2861cc-1g">To support assertions in named (attribute)
     groups. Rejected at 08/2006 f2f meeting.</sitem>
    <sitem id="b2861cc-1m">To support mixed content in assert/report
     elements.</sitem>
    <sitem id="b2861cc-1p">To carry assertions in particles.
     Rejected at 08/2006 f2f meeting.</sitem>
    <sitem id="b2861cc-2">Changes to XPath subset.</sitem>
    <sitem id="b2867-1">Negative wildcards, part 1.</sitem>
    <sitem id="b2867-1a">Changes made based on WG's feedback from 08/2006
     f2f meeting.</sitem>
    <sitem id="b2867-2">Negative wildcards, part 2.</sitem>
    <sitem id="b2867-3">Negative wildcards fixes.</sitem>
    <sitem id="b3714">Correct descriptions of [element declaration]
     and [type definition] PSVI properties.</sitem>
    <sitem id="b3714-movement">Text movement for 3714.</sitem>
    <sitem id="bannotations">Annotation cluster.</sitem>
    <sitem id="bannotations-1">Additional annotation changes.</sitem>
    <sitem id="bannotations-2">MSM's proposed modifications to 
     bannotations and bannotations-1.  May be merged into them
     once we have editorial agreement; they are distinct only 
     to make it easier to roll them back.</sitem>
    <sitem id="bannotations-3">Float up annotations on attribute
     group references.</sitem>
    <sitem id="b2203">Change annotation attributes to a set.</sitem>
    <sitem id="b2505">Expose actual values in PSVI.</sitem>
    <sitem id="b2505-1">Minor fixes to PSVI subsets.</sitem>

    <!--* bugs cleared (from bugzilla) 22 Sept 2006, diff groups
    * added by MSM to execute WG decisions *-->
    <sitem id="b3573">(was once ed18-errors) A proposal to resolve bug
     3573 by revising the one place where we deviate violently from the
     rule that behavior of conforming processors in the face of errors is
     out of scope.</sitem>
    <sitem id="b3047">Keep namespace the same, add text.</sitem>
    <sitem id="b3054">Expose the governing declaration and
     governing type definition, whether the item is valid or not.</sitem>
    <sitem id="ww-oops">Fixes for some errors in the weakened wildcard
     proposal.</sitem>
    <sitem id="b3725">Proposal to eliminate the use of the term
     "context-determined declaration" for the keywords <pt>mustFind</pt>,
     <pt>skip</pt> and undefined. Begun 2006-10-09.</sitem>
    <sitem id="b3714.add.b3725.del">Material inserted by b3714 and
     now deleted again (mostly to be tagged as termdefs).
     Begun 2006-10-09.  Finished 2006-10-12, with SG's changes
     integrated.</sitem>
    <sitem id="b3725-2">Continuation of b3725, separate diff group 
     to allow us to decide later whether to present as one or as two
     proposals.  This part replaces the term 'Test' as in Test[ES,P] with 
     the concept of a complex type <term>binding</term> its
     dependents.  Begun 2006-10-09, finished 2006-10-12; SG's
     changes integrated.</sitem>
    <sitem id="b3725-2.add.rq146.del-as.add">Material inserted by b3725 and
     now deleted again by rq146, which moves the material to a different
     section.  Currently marked as 'add'.  If/when you change to 'del',
     then (a) change the ID, (b) correct the disposition files, and
     (c) change key-dft-binding to del_key-dft-binding, and 
     add_key-dft-binding to key-dft-binding.
     Begun 2006-10-10.  Elaborated 2006-10-20 by MSM, trying to
     solve broken links.</sitem>
    <sitem id="cleanup-1">A group of cleanup changes, gathered together
     in the hopes that all will be non-controversial.
     Bug 2829 RQ-156 Outlaw complex types with mixed simple content (mixedSimple).
    </sitem>
    <sitem id="b3837">
     To expose member type definitions for list of unions.
    </sitem>
    <sitem id="b3837-1">
     To pick up a stray erroneous 'must' in a description of the PSVI.
    </sitem>
    <sitem id="b2632">
     PSVI fixes for values and member type definitions.
    </sitem>
    <sitem id="b3836-1">
     Easier restriction with local targetNamespace.
    </sitem>
    <sitem id="b3836-2">
     Mark local targetNamespace as feature at risk.
    </sitem>
    <sitem id="consent-1020">Changes approved on the 'consent agenda'
     at the meeting of 2006-10-20.  Issues 2235, 2328, 2857, 2866, 2956.
    </sitem>
    <sitem id="vm13">
     Open content in complex types.
    </sitem>
    <sitem id="vm13-noneed">
     Open content in complex type restriction. Don't need additional rules because
     the updated "attribution" and "default binding" definitions covered this case.
    </sitem>
    <sitem id="vm13-abandoned">
     Part of original vm13 proposal. Don't apply anymore given the new syntax.
    </sitem>
    <sitem id="vm13-1">
     Amendments and new syntax.
    </sitem>
    <sitem id="vm13-2">
     Suggestions from WG members on VM13.
    </sitem>
    <sitem id="vm13-3">
     Make "any" under "openContent" optional.
    </sitem>
    <sitem id="b3725.add.vm13.del">
     Move stuff added earlier by 3725.
    </sitem>
    <sitem id="b3714-movement.add.vm13.del">
     Move stuff added earlier by b3714-movement.
    </sitem>
    <sitem id="ww-p.add.vm13.del">
     Move stuff added earlier by ww-p.
    </sitem>
    <sitem id="vm19">
     Not-in-schema wildcards.
    </sitem>
    <sitem id="vm19-1">
     Back out changes to wildcard constraints (negative wildcard)
     as a result of adopting vm19.
    </sitem>
    <sitem id="vm19-2">
     To replace occurrences of "intensional" with "wildcard".
    </sitem>
    <sitem id="vm19-3">
     Tentative revisions to vm19-1.
    </sitem>
    <sitem id="vm19-4">
     Tentative revisions to vm19-3.
    </sitem>
    <sitem id="add.b2867-1.del.vm19-3">
     Material added by b2867-1 and deleted by vm19-3.
    </sitem>
    <sitem id="cleanup-3">
     Clean up.
    </sitem>
    <sitem id="idc">
     IDC cluster.
    </sitem>
    <sitem id="idc-1">
     Additional IDC changes for skip and nil.
    </sitem>
    <sitem id="consent-1027">Changes approved on the 'consent agenda'
     at the meeting of 2006-10-27. 
    </sitem>
    <sitem id="cta">Conditional type assignment.
     Rough draft done 29 Oct 2006, in haste and by a
     tired editor.</sitem>
    <sitem id="cta-choices">
     Present different Conditional type assignment proposals.
    </sitem>
    <sitem id="cta-cp">
     Use Cartesian product to inherit type selections. Also includes
     Revisions suggested by Fabio Vitali.
    </sitem>
    <sitem id="cta-rt">
     Check type selections from base types at runtime.
    </sitem>
    <sitem id="cta-rt-xx">
     Changes originally part of cta-rt-xx that are no longer wanted,
     but which I haven't had the courage to delete outright.
    </sitem>
    <sitem id="cta-pf">
     Require type selection of base element be a prefix of that of derived.
    </sitem>
    <sitem id="cta-st">
     Just check the declared type (st = 'static typing').
    </sitem>
    <sitem id="cta-cprt">
     Changes common to CTA versions CP and RT.
    </sitem>
    <sitem id="cta-rtpf">
     Changes common to CTA versions RT, PF, and ST.
    </sitem>
    <sitem id="cta-tddtd">Possible change of {type definition}
     to {declared type definition}.  Separate both because it's
     a separate question and to allow me to turn change coloring off
     for it while working on the rest of CTA.</sitem>
    <sitem id="cta-error">
     Changes related to definition xsd:error that aren't part of CP 
     proper.</sitem>
    <sitem id="cta-ed">Editorial changes made while working on CTA.
     They should be presented together with CTA but should be separate
     because if CTA should go down, these should be broght back.
    </sitem>
    <sitem id="cta-ed2">More editorial changes made while working on CTA.
    </sitem>
    <sitem id="cta-gst">An editorial change from "given [some set]" 
     to "subject to [a particular set of blocking keywords]", 
     as suggeested by the WG in Pisa.
    </sitem>
    <sitem id="cta-dd">Change to make every type table
     have a default type.  If none is specified in the XML source
     declaration, it's the declared type.
    </sitem>
    <sitem id="cta-down">Change to enforce run-time CTA restriction
     check from the parent element (in ELV(CT)), not from the
     child (in ELV(E)).</sitem>
    <sitem id="cta-wrap">Wrappers for conditional type assignment.
     Make this 'post' if cta is 'post' or 'colour'. Otherwise
     make this 'pre'.</sitem>
    <sitem id="cta-r1">Sandy's revision to CTA.</sitem>
    <sitem id="cta-r2">MSM's revision to CTA.</sitem>
    <sitem id="cta-r3">Sandy's revision #2 to CTA.</sitem>
    <sitem id="cta-r3xx">Material backed out of Sandy's revision #2 to CTA.</sitem>
    <sitem id="cta-r4">MSM's revision of CTA through r3.</sitem>
    <sitem id="cta-xx">Parts of CTA withdrawn.</sitem>
    <sitem id="ADD.cta-add-4419-del">
     Material added by CTA and promptly deleted by 4419, as add.
    </sitem>
    <sitem id="DEL.cta-add-4419-del">
     Material added by CTA and promptly deleted by 4419, as del.
    </sitem>
    <sitem id="cta-ta">Make "type alternative" a component.</sitem>
    <sitem id="cta-ta-2">MSM's revisions to cta-ta.  Subject to change.</sitem>
    <sitem id="cta-ta-en">Editorial notes.</sitem>
    <sitem id="cta-add-ta-del">
     Material added by CTA and promptly deleted by revision ta.
    </sitem>
    <sitem id="f2f0610">
     Amendments to various proposals from 2006/10 F2F.
    </sitem>
    <sitem id="ftf-2">
     Further amendments found in the minutes of the ftf but not
     found here.  Made by MSM 2006-12-21; marked with separate
     diff group to simplify sanity checks.
    </sitem>
    <sitem id="urtype">
     Replace all occurrence of ur-type with anyType/anySimpleType.
    </sitem>
    <sitem id="b2834">
     Multiple substitution group heads.
    </sitem>
    <sitem id="b2105">
     Namespace fix-up for applying default attributes.
    </sitem>
    <sitem id="b2105b">
     Second cut, independent of b2105, for namespace fix-up 
     for defaulted attributes.
    </sitem>
    <sitem id="b2105c">
     Third cut on namespace fix-up 
     for defaulted attributes, independent of b2105 and b2105b.
    </sitem>
    <sitem id="b2105bc">
     Things common to b2105b and b2105c.  Should be
     the same as whichever of them you are showing.
    </sitem>
    <sitem id="b2105baux">
     Auxiliary diff group, to simplify display of b2105b.
    </sitem>
    <sitem id="b2748no">
     Namespace fix-up for default values of type QName
     (no, do not perform namespace fixup).
    </sitem>
    <sitem id="b2748yes">
     Namespace fix-up for default values of type QName
     (yes, do perform namespace fixup).
    </sitem>
    <sitem id="b2850">
     Make complex type restriction work with IDC on local elements.
    </sitem>
    <sitem id="b2850aux">
     An auxiliary diff group, to make the addition of a conditional
     clause display correctly.
    </sitem>
    <sitem id="b2861cc-3">
     Amendments to Assertion proposal from telecon Dec. 15, 2006:
     remove &lt;report&gt;
    </sitem>
    <sitem id="b2861cc-4">
     Amendments to Assertion proposal from telecon Dec. 15, 2006:
     new PSVI property to indicate which Assertion is violated.
    </sitem>
    <sitem id="b2861cc-4a">
     Indicate which identity constraint is violated.
    </sitem>
    <sitem id="b2861cc-5">
     Amendments to Assertion proposal from telecon Dec. 15, 2006:
     Disallow &lt;assert&gt; in extension.
    </sitem>
    <sitem id="b4034">
     Make it clear that overridden facets do not appear in derived simple types.
    </sitem>
    <sitem id="b2781">
     Clarify what "valid restriction" means for facet values in the context of
     simple type restriction.
    </sitem>
    <sitem id="ep19">
     Minor editorial changes that should be brought to the WG
     as a group, originally marked ep99.  What's here so far is:
     - Trivial editorial tweak to a reference to namespaces.
     - Resolution to bug 4336 (correct a nested 'must').
     - Add requirements for XML Schema 1.1 to the informative references.
     - Add a note warning that IDs with value constraints go beyond DTDs.
    </sitem>
    <sitem id="ep19b">
     Some editorial changes in ELV(CT).
    </sitem>
    <sitem id="ep-rr">
     Tag 'resolved' more systematically, with links to the two QName
     resolution rules.
    </sitem>
    <sitem id="ep99">
     Minor editorial changes that should be brought to the WG
     as a group.  '99' is an arbitrary number than means "later".
     When these go to the WG, give them a 'real' EP number (as was
     done with ep19).
    </sitem>
    <sitem id="b2067-common">
     Namespace fixup for chameleon include and IDC.
    </sitem>
    <sitem id="b2067">
     By changing unprefixed QNames to use the new target namespace.
    </sitem>
    <sitem id="b2067-1">
     By changing the default namespace according to the setting of the
     xpathDefaultNamespace attribute.
    </sitem>
    <sitem id="b2067a">
     Clarify how chameleon include changes namespace names in wildards.
    </sitem>
    <sitem id="b2067-2">
     By saying "as if the included/redefined schema doc had targetNamespace".
     Includes WG amendment to proposal as shipped.
    </sitem>
    <sitem id="b2067-2e">
     Editorial changes that go with 2067-2 proposal.
    </sitem>
    <sitem id="b3948">
     Provide identifiers of different versions of the schema language.
    </sitem>
    <sitem id="f2f0701a">
     Explicit amendments received at 2007-01/02 face 2 face meeting.
    </sitem>
    <sitem id="f2f0701b">
     "Editors, do your best" amendments received at 2007-01/02 face 2 face meeting.
    </sitem>
    <sitem id="f2f0701b-aux">
     Auxiliary diff group (to allow text motion to show white instead of yellow and red)
    </sitem>
    <sitem id="f2f0701c">
     MSM's revision of f2f0701b.
    </sitem>
    <sitem id="f2f0701d">
     Sandy's revision of f2f0701c.
    </sitem>
    <sitem id="f2f0701dx">
     Some parts of Sandy's revision of f2f0701c which MSM filtered out to await
     a WG decision on which prefix to use:  xs, xsd, wxs, or pffffft.
    </sitem>
    <sitem id="f2f0701e">
     MSM's revision of f2f0701d (and possibly other stuff, if I'm not
     careful).
    </sitem>
    <sitem id="f2f0701x">
     Rejected options for type defaulting with multi-sub-group-heads.
    </sitem>
    <sitem id="consent-1020-move-ftf0701">Movement of text originally added
     by consent-1020 and moved by f2f0701c</sitem>
    <sitem id="trimtree">
     Specification of how XPath 2.0 expressions are evaluated
     for assertions:  make an XDM instance with the element as its
     root, decorated with the context-determined type (or the
     instance-specified type).
    </sitem>
    <sitem id="trimtree-x">
     Part of tree-trimming proposal Sandy wishes to revert.
    </sitem>
    <sitem id="trimtree-1">
     Other changes Sandy wishes to include in tree-trimming proposal.
    </sitem>
    <sitem id="trimtree-a">
     Additional changes for Version A, about what type to use when CDT is absent.
    </sitem>
    <sitem id="trimtree-b">
     Additional changes for Version B, about what type to use when GTD is absent.
    </sitem>
    <sitem id="trimtree-cdt">
     Use context-determined type definition in the XDM tree.
    </sitem>
    <sitem id="trimtree-gtd">
     Use governing type definition in the XDM tree.
    </sitem>
    <sitem id="typelesstree">
     Alternate description of XDM typing:  everything is
     labeled untyped or untypedAtomic, and if you want types
     you had better cast for them.
     Included as a precaution for the day when QT sees that
     we're proposing to build data model instances with 
     type annotations that have not been validated.
    </sitem>
    <sitem id="ttcommon">Changes common to trimtree-cdt,
     trimtree-gtd, and typelesstree.  Things should be set up
     so that everything works right if 
     (a) all three of those, plus ttcommon, plus tmcc, are 
     colour (for the proposal to go to WG), or
     (b) exactly ONE of those three is colour or post,
     and ttmc is pre, and ttcommon is colour or post
     (for final text).
    </sitem>
    <sitem id="ttmc">tt 'master of ceremonies':  text for
     labels like 'Version A:'</sitem>
    <sitem id="b4416">
     Proposal M for typing the trimmed tree. The sub-tree is typed as usual;
     the root is anyType (also try to type the simple content of the root)
    </sitem>
    <sitem id="b4416-1">
     Try to type simple content.
    </sitem>
    <sitem id="b4416-2">
     Amendments to the proposal from WG.
    </sitem>
    <sitem id="b4416-3">
     Amendments to the proposal from editors.
    </sitem>
    <sitem id="b4416-4">
     Further amendments (MSM, 24 July 2007).
    </sitem>
    <sitem id="b4416-en">
     Editorial note(s) for 4416.
    </sitem>
    <sitem id="b4416-wrap">
     Wrapper for 4416 changes that need a wrapper.
     Set this to post if any 4416 changes are colour or nsq or post,
     otherwise to pre.
    </sitem>
    <sitem id="b4416-x">
     Text for 4416 that's no longer used.
    </sitem>
    <sitem id="b4087">
     Use string instead of token as the datatype for assertion tests
    </sitem>
    <sitem id="b3817">
     Schema location fails to resolve.
    </sitem>
    <sitem id="b2225">
     Validation rule for xsi: attributes.
    </sitem>
    <sitem id="b4299">
     xsi:type fails to resolve and lax assessment.
    </sitem>
    <sitem id="b4299b">
     MSM addition(s) to b4299
    </sitem>
    <sitem id="b4299c">
     WG amendment to 4299 proposal.
    </sitem>
    <sitem id="b4299d">
     xsi:type must resolve
    </sitem>
    <sitem id="b4269">
     Assessment vs. strict-assessment for elements.
    </sitem>
    <sitem id="b4337">
     Allowing abstract elements in substitution groups.
    </sitem>
    <sitem id="b4314">
     Support default attribute group to ease xml: attribute handling.
    </sitem>
    <sitem id="b4314-1">
     Amendments to 4314 proposal approved by WG during Mar. 2007 F2F.
    </sitem>
    <sitem id="b2861cc-6">
     Allow type promotion in assertions.
    </sitem>
    <sitem id="b2861cc-7">
     XPath evaluation errors.
    </sitem>
    <sitem id="b4369">
     Take "assertion"s under "restriction" and "extension" into account.
    </sitem>
    <sitem id="b4348">
     Allow multiple ID attributes on the same element
    </sitem>
    <sitem id="b3968">
     Clarify that ID elements idenfity themselves, as opposed to their parents.
    </sitem>
    <sitem id="b1890">
     To clarify that schema built-in components can be referenced from within a
     schema document without needing an "import" element.
    </sitem>
    <sitem id="b1890-choices">
     Intro words. Should become "pre" when we decide which one to pick.
    </sitem>
    <sitem id="b1890-a">
     Solution A: references to all built-in components.
    </sitem>
    <sitem id="b1890-b">
     Solution B: references to all built-in components in schema namespace.
    </sitem>
    <sitem id="b1890-ab">
     Changes common to A and B.
    </sitem>
    <sitem id="b1890-c">
     Solution C: references to all components in schema namespace.
    </sitem>
    <sitem id="b1890-cp">
     Solution C': references to all components in schema/instance namespace.
    </sitem>
    <sitem id="b4437">
     Remove the requirement that "it's an error for an xsi: schema location to
     appear after the first occurrence of the corresponding namespace".
    </sitem>
    <sitem id="b4438">
     Remove the misleading note below the complex type extension note.
    </sitem>
    <sitem id="b4438-1">
     WG amendments to proposal for 4438.
    </sitem>
    <sitem id="rq17a2.del.b4438.add">
     Add the back the "all derivation can be done by an extension followed by a
     restriction" rule.
    </sitem>
    <sitem id="b4439">
     Store annotations under "openContent" and "defaultOpenContent".
    </sitem>
    <sitem id="b4159">
     Augment base infoset with information from legacy types.
    </sitem>
    <sitem id="b4159-1">
     Augment base infoset with information from element-only content.
    </sitem>
    <sitem id="b4159-2">
     More infoset properties for default attributes.
    </sitem>
    <sitem id="b4159-3">
     More infoset properties for default attributes - wg amendment.
    </sitem>
    <sitem id="bugreports">
     Update to prose about filing comments.
    </sitem>
    <sitem id="b4399">
     Proposed name change:  XSD.  (With all that that entails.)
    </sitem>
    <sitem id="b4399a">
     Second layer of changes.  No particular reason for this to be separate
     from b4399 except possible regret in cases of overlapping changes.
    </sitem>
    <sitem id="b2041">
     Apply IDREF/ENTITY/ENTITIES rules to defaulted values.
    </sitem>
    <sitem id="b2182">
     A type derived from a union type can't be a member of that union type.
    </sitem>
    <sitem id="b2197">
     Forbid "complexType" and "complexContent" having different "maixed" values.
    </sitem>
    <sitem id="b4565">
     Use "effective value constraint" for applying default attributes.
    </sitem>
    <sitem id="b4517">
     Allow value constraints on ID-derived types.
    </sitem>
    <sitem id="b4363">
     Don't apply value constraints specified on xsi: attributes.
    </sitem>
    <sitem id="b4363-1">
     Amendments from 2007-06-08 telecon on 4363.
    </sitem>
    <sitem id="b4419">
     Specify XPath static and dynamic contexts.
     (The XPath property record has been split off; it is now xppr so 
     that it can be included by CTA.)
    </sitem>
    <sitem id="b4419-fchoices">
     Different ways to specify mapping rules for IDC fields.
    </sitem>
    <sitem id="b4419-f1">
     Don't repeat selector rules.
    </sitem>
    <sitem id="b4419-f2">
     Repeat selector rules.
    </sitem>
    <sitem id="b4419-f3">
     Factor selector rules out symmetrically.
    </sitem>
    <sitem id="b4419-en">
     Editorial notes for 4419.
    </sitem>
    <sitem id="b4419-4">
     MSM revisions for 4419 (at same time as b4416-4).
    </sitem>
    <sitem id="b4419-x">
     Text for 4419 we got cold feet over but didn't want to delete yet.
    </sitem>
    <sitem id="b4467">
     For complex types with simple content, the CDT is inherited
     from its base type.
    </sitem>
    <sitem id="xppr">
     Definition of the XPath property record. For use by b4419 and by cta.
    </sitem>
    <sitem id="b4767">
     Support &lt;xs:override&gt;.
    </sitem>
    <sitem id="b2067-d2">
     Specify that in chameleon include / redefine, it's the 
     munged document that should conform.
    </sitem>
    <sitem id="b2067-d3">
     Another attempt to specify that in chameleon include / redefine, it's the 
     munged document that should conform.
    </sitem>
    <sitem id="b2825-1">
     Layer 1 of proposal for forward processing using minVersion and
     maxVersion attributes.
    </sitem>
    <sitem id="b2825-2">
     SG's revision.
    </sitem>
    <sitem id="b2825-3">
     MSM's revision.
    </sitem>
    <sitem id="b2825-conf">
     Clarification of conformance issues related to proposal b2825.
    </sitem>
    <sitem id="wg20070803">
     Amendments made by the WG on 2007-08-03 telecon to proposals:
     2825, CTA, and 2067.
    </sitem>
    <sitem id="ed20070803">
     Notes and other changes made by the editors on very general / vague
     WG instructions on 2007-08-03 telecon.  This is a separate diff
     group so we can make in nsq in the Last Call publication candidate.
    </sitem>

    <sitem id="wd4.ch">
     Changes to appendix describing changes since 1.0, in draft of August 2007.
    </sitem>
    <sitem id="wd4.mv">
     Text movement in the appendix describing changes since 1.0, in draft of 
     August 2007.  The deletions and additions aren't really deletions or
     additions, just movement.  (Or in some cases, wrappers.) 
     Show this as colour only for special purposes,
     if you're sure you know what you're doing.
    </sitem>
    <sitem>    
     A bunch of diff groups to cover paragraphs in the changelist appendix
     added by some named group and now deleted / moved.:
     <phrase id="ADD.b2867-1-add-wd4-del"/>
     <phrase id="DEL.b2867-1-add-wd4-del"/>
     
     <phrase id="ADD.ww1-add-wd4-del"/>
     <phrase id="DEL.ww1-add-wd4-del"/>
     
     <phrase id="ADD.b2861cc-1-add-wd4-del"/>
     <phrase id="DEL.b2861cc-1-add-wd4-del"/>
     
     <phrase id="ADD.ep01-add-wd4-del"/>
     <phrase id="DEL.ep01-add-wd4-del"/>

     <phrase id="ADD.fpwd.add.wd4.del"/>
     <phrase id="DEL.fpwd.add.wd4.del"/>
    </sitem>
    <sitem id="wd-200708-1">Updates made for LCWD of August 2007.</sitem>

    <!-- Dummy components to discharge IDREFs which will turn into xspecrefs. 
    Any actual use of these _should_ be
    accompanied by a name attribute allowing an xtermref to
    Part 2 to be generated. -->
    <sitem id="f-w">Whitespace facet</sitem>
    <sitem id="ff">Fundamental facet</sitem>
    <sitem id="f">Constraining facet</sitem>
   </slist>
  </revisiondesc>
 </header>
 <body>
  <div1 id="intro">
   <head>Introduction</head>
   <p>This document sets out the structural part <!--*
* material suppressed here by diff group b4399 *
*--> of the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language</phrase>.</p>
   <p>Chapter 2 presents a <specref ref="concepts"/> for <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>, including an introduction to the
    nature of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL schemas</phrase> and an introduction to the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>
    abstract data model, along with other terminology used throughout
    this document. </p>
   <p>Chapter 3, <specref ref="components"/>, specifies the precise
    semantics of each component of the abstract model, the
    representation of each component in XML, with reference to a DTD
    and <phrase dg="b4399">an</phrase> <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL schema</phrase> for
    an <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> document type, along with a detailed mapping
    between the elements and attribute vocabulary of this
    representation and the components and properties of the abstract
    model.</p>
   <p>Chapter 4 presents <specref ref="composition"/>, including the
    connection between documents and schemas, the import, inclusion
    and redefinition of declarations and definitions and the
    foundations of schema-validity assessment.</p>
   <p>Chapter 5 discusses <specref ref="conformance"/>, including the
    overall approach to schema-validity assessment of documents, and
    responsibilities of schema-aware processors. </p>
   <p>The normative appendices include a <specref ref="normative-schemaSchema"/> for the XML representation of
    schemas and
    <specref ref="normative-references"/>.</p>
   <p>The non-normative appendices include the <specref ref="nonnormative-schemaDTD"/> and a <specref ref="normative-glossary"/>.</p>
   <p>This document is primarily intended as a language definition
    reference. As such, although it contains a few examples, it is
    <emph>not</emph> primarily designed to serve as a motivating
    introduction to the design and its features, or as a tutorial for
    new users. Rather it presents a careful and fully explicit
    definition of that design, suitable for guiding implementations.
    For those in search of a step-by-step introduction to the design,
    the non-normative <bibref ref="bib-expo"/>
    is a much better starting point than this document.</p>

   <div2 id="intro1.1" dg="fpwd">
    <head>Introduction to Version 1.1</head>

    <p>The Working Group has <!--*
* material suppressed here by diff group b2861cc-1 *
*--><phrase dg="b2861cc-1">three</phrase> main goals for this version of W3C
     XML Schema:</p>
    <ulist>
     <item><p>Significant improvements in simplicity of design and
       clarity of exposition <emph>without</emph> loss of backward
       <emph>or</emph> forward compatibility;
      </p></item>

     <item><p>Provision of support for versioning of XML languages
       defined using <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">this</phrase>
       specification, including the XML transfer syntax for schemas
       itself.</p></item>
     
     <item dg="b2861cc-1"><p>Provision of support for
       co-occurrence constraints, that is constraints which make the
       presence of an attribute or element, or the values allowable
       for it, depend on the value or presence of other attributes or
       elements.</p></item>
     
    </ulist>
    <p>These goals are <!--*
* material suppressed here by diff group ep06a *
*-->
     in tension with one another<!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">. The</phrase> Working Group's strategic guidelines
     for changes between versions 1.0 and 1.1<phrase dg="ep06a"> can be summarized as follows</phrase>:</p>
    <olist>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">Support</phrase>
       for versioning (acknowledging that this <emph>may</emph> be
       slightly disruptive to the XML transfer syntax at the
       margins)</p></item>

     <item dg="b2861cc-1"><p>Support for co-occurrence
       constraints (which will certainly involve additions to the XML
       transfer syntax, which will not be understood by 1.0
       processors)</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">B</phrase>ug fixes (unless in specific
       cases we decide that the fix is too disruptive for a point
       release)</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">E</phrase>ditorial changes</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">D</phrase>esign cleanup <!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">will possibly</phrase> change behavior in edge
       cases</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">N</phrase>on-disruptive changes to type hierarchy
       (to better support current and forthcoming international
       standards and W3C recommendations)</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">D</phrase>esign cleanup <!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">will possibly</phrase> change component structure
       (changes to functionality restricted to edge cases)</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">No</phrase>
       significant changes in <phrase dg="b2861cc-1b">existing</phrase> functionality</p></item>

     <item><p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">No</phrase> changes
       to XML transfer syntax except those required by version control
       hooks<phrase dg="b2861cc-1b">, co-occurrence
	constraints</phrase> and bug fixes</p></item>

    </olist>
    <p>The <!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">aim with regard
      to</phrase> compatibility is that</p>

    <ulist>
     <item><p>All schema documents conformant to version 1.0 of this
       specification should also conform to version 1.1, and should
       have the same validation behavio<!--*
* material suppressed here by diff group b2861cc-1 *
*-->r across 1.0 and 1.1 implementations
       (except possibly in edge cases and in the details of the
       resulting PSVI);</p></item>
     <item><p>The vast majority of schema documents conformant to
       version 1.1 of this specification should also conform to
       version 1.0, leaving aside any incompatibilities arising from
       support for versioning<phrase dg="b2861cc-1"> or
	co-occurrence constraints</phrase>, and when they are
       conformant to version 1.0 (or are made conformant by the
       removal of versioning information), should have the same
       validation behavio<!--*
* material suppressed here by diff group b2861cc-1 *
*-->r
       across 1.0 and 1.1 implementations (again except possibly in
       edge cases and in the details of the resulting PSVI)<phrase dg="ep99">;</phrase><!--*
* material suppressed here by diff group ep99 *
*-->
      </p></item>
    </ulist>
   </div2>
   <div2 id="intro-purpose">
    <head>Purpose</head>
    <p>The purpose of <emph>XML Schema<phrase dg="b4399"> Definition Language</phrase>: Structures</emph> is to define the nature of <!--* b4399
     work needed &x.XML_schemas;! *--> !! and their component parts,
     provide an inventory of XML markup constructs with which to
     represent schemas, and define the application of schemas to XML
     documents. </p>
    <p>The purpose of an <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> schema is to define and describe a
     class of XML documents by using schema components to constrain
     and document the meaning, usage and relationships of their
     constituent parts: datatypes, elements and their content and
     attributes and their values. Schemas <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">can</phrase> also provide for
     the specification of additional document information, such as
     normalization and defaulting of attribute and element values.
     Schemas have facilities for self-documentation. Thus, <emph>XML Schema<phrase dg="b4399"> Definition Language</phrase>: Structures</emph> can
     be used to define, describe and catalogue XML vocabularies for
     classes of XML documents. </p>

    <p>Any application that consumes well-formed XML can use the
     <!--*
* material suppressed here by diff group b4399a *
*--> formalism <phrase dg="b4399a">defined here</phrase> to express
     syntactic, structural and value constraints applicable to its
     document instances. The <!--*
* material suppressed here by diff group b4399a *
*--><phrase dg="b4399a">XSDL</phrase> formalism allows a useful level of
     constraint checking to be described and implemented for a wide
     spectrum of XML applications.  However, the language defined by
     this specification does not attempt to provide <emph>all</emph>
     the facilities that might be needed by <!--*
* material suppressed here by diff group ep19 *
*--><phrase dg="ep19">applications</phrase>. Some applications
     <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">will</phrase> require constraint capabilities not expressible in this
     language, and so <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">will</phrase> need to perform their own additional
     validations.</p>
   </div2>
     
   <div2 id="nss_langids" dg="b3948">
    <head>Namespaces and Language Identifiers</head>
    <div3 id="xsd-nss" dg="f2f0701b-aux">
     <head><!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> Namespaces</head>
     <div4 id="xsd-namespace">
      <head>The Schema Namespace (<code>xs</code>)</head>
      <p>
       The XML representation of schema components uses a vocabulary
       identified by the namespace name <code>http://www.w3.org/2001/XMLSchema</code>.
       For brevity, the text and examples in this specification use
       the prefix <code>xs:</code> <phrase dg="f2f0701dx"><phrase dg="f2f0701c">or the prefix
	 <code>xsd:</code></phrase></phrase> to stand for this
       namespace; in practice, any prefix can be used.
      </p>
      <note dg="b3047"><p>
	The namespace for schema documents is unchanged from version
	1.0 of this specification, because any schema document valid
	under the rules of version 1.0 has essentially the same
	validation semantics under this specification as it did under
	<!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">version 1.0 (Second Edition)</phrase>.
	There are a few exceptions to this rule, involving errors in
	version 1.0 of this specification which were not reparable by
	errata and which have therefore been fixed only in this
	version of this specification, not in version 1.0.
       </p></note>
      <note><p>
   The data model used by <bibref ref="bib-xpath2"/> and other
	specifications, namely <bibref ref="bib-xdm"/>, makes use of
	type labels in the
	<!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> namespace (<code>untyped</code>,
	<code>untypedAtomic</code>) which are not defined in this
	specification; see the <bibref ref="bib-xdm"/>
	specification for details of those types.
       </p></note>

      <p dg="consent-1020-move-ftf0701">
       Users of the namespaces defined here should be aware, as a
       matter of namespace policy, that more names <!--*
* material suppressed here by diff group f2f0701c *
*-->
       <phrase dg="f2f0701c">in this namespace may be given
	definitions</phrase> in future versions of this or other
       specifications.
      </p>

     </div4>
     <div4 id="xsi-namespace">
      <head>The Schema Instance Namespace (<code>xsi</code>)</head>
      <p><!--*
* material suppressed here by diff group b4399a *
*--><phrase dg="b4399a">This specification</phrase> defines
       several attributes for direct use in any XML documents, as
       described in <specref ref="Instance_Document_Constructions"/>.
       These attributes are in the namespace<phrase dg="f2f0701c">whose</phrase> name <phrase dg="f2f0701c">is</phrase> <code>http://www.w3.org/2001/XMLSchema-instance</code>.
       For brevity, the text and examples in this specification use
       the prefix <code>xsi:</code> to stand for this <!--*
* material suppressed here by diff group f2f0701c *
*--> namespace; in
       practice, any prefix can be used.
      </p>

      <p dg="consent-1020-move-ftf0701">
       Users of the namespaces defined here should be aware, as a
       matter of namespace policy, that more names <!--*
* material suppressed here by diff group f2f0701c *
*-->
       <phrase dg="f2f0701c">in this namespace may be given
	definitions</phrase> in future versions of this or other
       specifications.
      </p>
     </div4>
     <div4 id="vc-namespace" dg="b2825-1">
      <head>The Schema Versioning Namespace (<code>vc</code>)</head>
      <p>
       The pre-processing of schema documents described in 
       <specref ref="cip"/> uses two attributes in the namespace
       <code>http://www.w3.org/2007/XMLSchema-versioning</code>.
       For brevity, the text and examples in this specification use
       the prefix <code>vc:</code> to stand for this
       namespace; in practice, any prefix can be used.
      </p>

      <p>
       Users of the namespaces defined here should be aware, as a
       matter of namespace policy, that more names in this namespace
       may be given definitions in future versions of this or other
       specifications.
      </p>

     </div4>
    </div3>
    <div3 dg="f2f0701c">
     <head>Conventional Namespace Bindings</head>
     <p>Several namespace prefixes are conventionally used in this
      document for notational convenience.  The following bindings are
      assumed.<ulist>
       <item>
	<p><code>fn</code> bound to
	 <code>http://www.w3.org/2005/xpath-functions</code> (defined
	 in <bibref ref="bib-fno"/></p>
       </item>
       <item>
	<p><code>html</code> bound to
	 <code>http://www.w3.org/1999/xhtml</code></p>
       </item>
       <item>
	<p><code>my</code> (in examples) bound to the target namespace
	 of the example schema document</p>
       </item>
       <!--*
* material suppressed here by diff group f2f0701e *
*-->
       <item>
	<p><code>rddl</code> bound to
	 <code>http://www.rddl.org/</code></p>
       </item>
       <item dg="b2825-1">
	<p><code>vc</code> bound to
	 <code>http://www.w3.org/2007/XMLSchema-versioning</code> (defined
	 in this and related specifications)</p>
       </item>
       <item>
	<p><code>xhtml</code> bound to
	 <code>http://www.w3.org/1999/xhtml</code></p>
       </item>
       <item>
	<p><code>xlink</code> bound to
	 <code>http://www.w3.org/1999/xlink</code></p>
       </item>
       <item>
	<p><code>xml</code> bound to
	 <code>http://www.w3.org/XML/1998/namespace</code> (defined in
	 
	 <bibref ref="ref-xml"/> and <bibref ref="ref-xml-namespaces"/>)</p>
       </item>
       <item>
	<p><code>xmlns</code> bound to
	 <code>http://www.w3.org/2000/xmlns/</code> (defined in
	 <bibref ref="ref-xml-namespaces"/>)</p>
       </item>
       <item>
	<p><code>xs</code> bound to <code>http://www.w3.org/2001/XMLSchema</code>
	 (defined in this and related specifications)</p>
       </item>
       <item dg="f2f0701dx">
	<p><code>xsd</code> bound to <code>http://www.w3.org/2001/XMLSchema</code>
	 (defined in this and related specifications)</p>
	<ednote dg="f2f0701e">
	 <edtext>In its current state, the status quo uses both the
	  prefix <code>xs</code> and the prefix <code>xsd</code> for
	  the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> namespace.  Once the Working Group reaches
	  a decision on the name of the language, the editors expect
	  to bring forward a proposal to unify all uses on a single
	  prefix; which prefix to use will depend on the Working
	  Group's decision.</edtext>
	</ednote>
       </item>
       <item>
	<p><code>xsi</code> bound to
	 <code>http://www.w3.org/2001/XMLSchema-instance</code> (defined in this and
	 related specifications)</p></item>
       <item>
	<p><code>xsl</code> bound to
	 <code>http://www.w3.org/1999/XSL/Transform</code></p>
       </item>
<!--*
<item>
<p><code>ppp</code> bound to <code>nnn</code></p>
</item>
*-->
      </ulist>
     </p>
     <p>In practice, any prefix bound to the appropriate namespace
      name <rfc2119>may</rfc2119> be used (unless otherwise specified by the definition
      of the namespace in question, as for <code>xml</code> and
      <code>xmlns</code>).</p>
     
     <ednote>
      <edtext>Loose ends to be tied up: (1) the example with a
       reference to <code>xsl:quantity</code> lacks any binding for
       the prefix <code>xsl</code> (and does XSL define a name
       <code>quantity</code>); (2) We need references (informative?)
       to the RDDL and XLink specs.
      </edtext>
     </ednote>
    </div3>
    <div3 id="langids">
     <head>Schema Language Identifiers</head>
     <p>Sometimes other specifications or Application Programming
      Interfaces (APIs) need to refer to the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language</phrase> in
      general, sometimes they need to refer to a specific version of
      the language. To make such references easy and <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">enable</phrase> consistent identifiers <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">to be</phrase> used, we provide the following
      URIs <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">to identify</phrase> these
      concepts.</p>
     <glist>
      <gitem>
       <label><code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema</code></label>
       <def><p>
	 Identifies the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language</phrase> in general, without referring
	 to a specific version of it.
	</p></def>
      </gitem>
      <gitem>
       <label><code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v<!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>X</var>.<var>Y</var></phrase></code></label>
       <def><p>
	 Identifies the language described in version <!--*
* material suppressed here by diff group f2f0701c *
*--> <phrase dg="f2f0701c"><var>X</var>.<var>Y</var></phrase> of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">the XSDL specification</phrase>. <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">URIs of this form refer</phrase> to
	 a <phrase dg="f2f0701c">numbered</phrase> version
	 of the language in general. <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">They do</phrase> not distinguish <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c">among</phrase> different working drafts or
	 editions of that version. For example,
	 <code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v1.0</code> identifies
	 <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> version 1.0 and <code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v1.1</code> identifies
	 <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> version 1.1.
	</p></def>
      </gitem>
      <gitem>
       <label><code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v<!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>X</var>.<var>Y</var></phrase>/<!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>N</var></phrase>e</code></label>
       <def><p>
	 Identifies the language described in the <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>N</var></phrase>-th edition of version <!--*
* material suppressed here by diff group f2f0701c *
*--><code dg="f2f0701c"><phrase><var>X</var>.<var>Y</var></phrase></code> of
	 <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">the XSDL specification</phrase>. For example, <code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v1.0/2e</code>
	 identifies the second edition of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> version 1.0.
	</p></def>
      </gitem>
      <gitem>
       <label><code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v<!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>X</var>.<var>Y</var>/<var>N</var>e</phrase>/yyyymmdd</code></label>
       <def><p>
	 Identifies the language described in the <!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>N</var></phrase>-th edition of version
	 <code><!--*
* material suppressed here by diff group f2f0701c *
*--><phrase dg="f2f0701c"><var>X</var>.<var>Y</var></phrase></code> of
	 <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">the XSDL specification</phrase> published on the particular date
	 <code>yyyy-mm-dd</code>. For example,
	 <code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v1.0/1e/20001024</code> 
	 identifies <phrase dg="f2f0701c">the language
	  defined in the</phrase> <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> version 1.0 Candidate
	 Recommendation (CR) <phrase dg="f2f0701c">published on 24 October 2000,</phrase> and
	 <code>http://www.w3.org/<!--*
* material suppressed here by diff group f2f0701a *
*--><phrase dg="f2f0701a">XML</phrase>/XMLSchema/v1.0/2e/20040318</code> 
	 identifies <phrase dg="f2f0701c">the language
	  defined in the</phrase> <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> version 1.0 Second Edition Proposed
	 Edited Recommendation (PER)<phrase dg="f2f0701c">
	  published on 18 March 2004</phrase>. 
        <!-- <ednote><edtext>
	 This is slightly different from the task force
	 recommendation, where 1.0 CR uses
	 http://www.w3.org/2001/XMLSchema/v1.0/20001024 as opposed to
	 http://www.w3.org/2001/XMLSchema/v1.0/1e/20001024. I made
	 this change so that different drafts of different editions
	 are identified consistently: they always have the edition
	 number and each version has only one identifier.
	</edtext></ednote> -->
	</p></def>
      </gitem>
     </glist>
     <p>Please see <specref ref="nonnormative-language-ids"/> for a
      complete list of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XML Schema Definition Language</phrase> identifiers <phrase dg="f2f0701c">which</phrase> exist to date.</p>
    </div3>
   </div2>

   <div2 id="intro-relatedWork">
    <head>Dependencies on Other Specifications</head>
    <p>The definition of <emph>XML Schema<phrase dg="b4399"> Definition Language</phrase>: Structures</emph> depends on the following
     specifications:
     <bibref ref="ref-xmlinfo"/>,
     <bibref ref="ref-xml-namespaces"/>, <!--*
* material suppressed here by diff group f2f0701a *
*--> <phrase dg="b2861cc-1"><bibref ref="bib-xpath2"/>,
     </phrase>and
     <bibref ref="ref-xsp2"/>.</p>
    <p>See <specref ref="infoset"/> for a tabulation of the
     information items and properties specified in <bibref ref="ref-xmlinfo"/> which this
     specification requires as a precondition to schema-aware
     processing.</p>
    <p dg="b1838"><bibref ref="ref-xsp2"/> defines some
     datatypes which depend on definitions in <bibref ref="ref-xml"/>
     and <bibref ref="ref-xml-namespaces"/>; those definitions, and therefore
     the datatypes based on them, vary between version 1.0 (<bibref ref="ref-xml-1.0"/>, <bibref ref="ref-xml-namespaces-1.0"/>) and
     version 1.1 (<bibref ref="ref-xml"/>, <bibref ref="ref-xml-namespaces"/>) of those specifications.  In any
     given schema-validity-<termref def="key-va">assessment</termref>
     episode, the choice of the 1.0 or the 1.1 definition of those
     datatypes is <termref def="key-impl-defined">implementation-defined</termref>.</p>
    <p dg="b1838">
     Conforming implementations of this specification <rfc2119>may</rfc2119> provide
     either the 1.1-based datatypes or the 1.0-based datatypes, or
     both.  If both are supported, the choice of which datatypes to
     use in a particular assessment episode <rfc2119>should</rfc2119> be under user
     control.
    </p>
    <note dg="b1838"><p>
      Implementations <rfc2119>may</rfc2119> provide the heuristic of using the 1.1
      datatypes if the input is labeled as XML 1.1, and the 1.0
      datatypes if the input is labeled 1.0. It should be noted
      however that the XML version number is not required to be
      present in the input to an assessment episode, and in any case
      the heuristic <rfc2119>should</rfc2119> be subject to override by users, to
      support cases where users wish to accept XML 1.1 input but
      validate it using the 1.0 datatypes, or accept XML 1.0 input and
      validate it using the 1.1 datatypes.
     </p>
    </note>
    <note dg="b1838">
     <p>
      Some users will perhaps wish to accept only XML 1.1 input, or
      only XML 1.0 input. Conforming implementations of this
      specification which accept XML input <rfc2119>may</rfc2119> accept XML 1.0, XML
      1.1, or both and <rfc2119>may</rfc2119> provide user control over which versions
      of XML to accept.
     </p>
    </note>
   </div2>

   <div2 id="intro-terminology">
    <head>Documentation Conventions and Terminology</head>
    <p>The section introduces the highlighting and typography as used
     in this document to present technical material.</p>

    <!--*
* material suppressed here by diff group ADD.fpwd.add.wd4.del *
*-->
    <!--*
* material suppressed here by diff group ADD.fpwd.add.wd4.del *
*-->
    <!--*
* material suppressed here by diff group ADD.fpwd.add.wd4.del *
*-->
    <!--*
* material suppressed here by diff group DEL.fpwd.add.wd4.del *
*-->
    <!--*
* material suppressed here by diff group DEL.fpwd.add.wd4.del *
*-->
    <!--*
* material suppressed here by diff group ADD.fpwd.add.wd4.del *
*-->

    <p>Special terms are defined at their point of introduction in the
     text.  For example <termdef id="key-sampledef" term="term" role="local">a <term>term</term> is something used with a
      special meaning</termdef>.  The definition is labeled as such
     and the term it defines is displayed in boldface.  The end of the
     definition is not specially marked in the displayed or printed
     text.  Uses of defined terms are links to their definitions, set
     off with middle dots, for instance <termref def="key-sampledef">term</termref>.</p>
    <p>Non-normative examples are set off in boxes and accompanied by
     a brief explanation:</p>
    <note role="example">
     <eg xml:space="preserve">&lt;schema targetNamespace="http://www.example.com/XMLSchema/1.0/mySchema"&gt;</eg>
     <p>And an explanation of the example.</p>
    </note>
    <p>The definition of each kind of schema component consists of a
     list of its properties and their contents, followed by
     descriptions of the semantics of the properties:</p>
        <!--* !!! not sure whether it's sensible or feasible to mark this 
            * as deletion and insertion.  It changed in first WD (vis a vis
            * 1.0 2E), but I'll leave it for now. *-->
    <compdef name="Example" abbrev="ex" showAKO="true">
     <property arity="singleton" name="example property" required="true" type="Component" valueType="component">
      <description>
       <p>An example property</p>
      </description>
     </property>
    </compdef>
    <p>References to properties of schema components are links to the
     relevant definition as exemplified above, set off with curly
     braces, for instance 
     <propref comp="ex" prop="example property"/>.</p>
    <p>The correspondence between an element information item which is
     part of the XML representation of a schema and one or more schema
     components is presented in a tableau which illustrates the
     element information item(s) involved. This is followed by a
     tabulation of the correspondence between properties of the
     component and properties of the information item.  Where context
     <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">determines</phrase> which of several
     different components <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">corresponds to the
      source declaration</phrase>, several tabulations, one per
     context, are given.  The property correspondences are normative,
     as are the illustrations of the XML representation element
     information items.
    </p>
    <p>In the XML representation, bold-face attribute names (e.g.
     <term>count</term> below) indicate a required attribute
     information item, and the rest are optional.  Where an attribute
     information item has an enumerated type definition, the values
     are shown separated by vertical bars, as for <code>size</code>
     below; if there is a default value, it is shown following a
     colon.  Where an attribute information item has a built-in simple
     type definition defined in <bibref ref="ref-xsp2"/>, a hyperlink
     to
     its definition therein is given.</p>
    <p>The allowed content of the information item is shown as a
     grammar fragment, using the Kleene operators <code>?</code>,
     <code>*</code> and <code>+</code>.  Each element name therein is
     a hyperlink to its own illustration.</p>
    <note>
     <p>The illustrations are derived automatically from the <specref ref="normative-schemaSchema"/>.  In the case of apparent
      conflict, the <specref ref="normative-schemaSchema"/> takes
      precedence, as it, together with the <termref def="gloss-src">Schema Representation Constraints</termref>,
      provide the normative statement of the form of XML
      representations.</p>
    </note>
    <reprdef>
     <reprelt eltname="example"/>
     <reprcomp abstract="Example" ref="intro-terminology">
      <propmap comp="ex" prop="example property">Description of what
       the property corresponds to, e.g. the value of the
       <code>size</code> <xpropref href="http://www.w3.org/TR/xml-infoset/#infoitem.element">attribute</xpropref>
      </propmap>
     </reprcomp>
    </reprdef>
    <p>References to elements in the text are links to the relevant
     illustration as exemplified above, set off with angle brackets,
     for instance <eltref ref="example"/>.</p>
    <p>References to properties of information items as defined in
     <bibref ref="ref-xmlinfo"/> are notated as links to the relevant
     section thereof, set off with square brackets, for example
     <xpropref href="http://www.w3.org/TR/xml-infoset/#infoitem.element">children</xpropref>.</p>
    <p>Properties which this specification defines for information
     items are introduced as follows:</p>
    <proplist item="example" role="psvi">
     <propdef id="ex-foo" name="new property">The value the property
      gets.</propdef>
    </proplist>
    <p>References to properties of information items defined in this
     specification are notated as links to their introduction as
     exemplified above, set off with square brackets, for example
     <propref role="psvi" ref="ex-foo"/>.</p>
    <p>The following highlighting is used for non-normative commentary
     in this document:</p>

    <note>
     <p>General comments directed to all readers. </p>
    </note>
    <p><!--*
* material suppressed here by diff group ep06a *
*--><phrase dg="ep06a">W</phrase>ithin normative prose in this
     specification, the words <rfc2119>may</rfc2119><!--*
* material suppressed here by diff group fpwd *
*--><phrase dg="ep06a">,
      <rfc2119>should</rfc2119></phrase><phrase dg="fpwd">,</phrase>
     <rfc2119>must</rfc2119><phrase dg="fpwd"> and <rfc2119>must not</rfc2119></phrase> are
     defined as follows:</p>
    <glist>
     <gitem>
      <label><rfc2119>may</rfc2119></label>
      <def>
       <p>Conforming documents and <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>-aware processors are
	permitted to but need not behave as described.</p>
      </def>
<!--*
5. MAY   This word, or the adjective "OPTIONAL", mean that an item is
   truly optional.  One vendor may choose to include the item because a
   particular marketplace requires it or because the vendor feels that
   it enhances the product while another vendor may omit the same item.
   An implementation which does not include a particular option MUST be
   prepared to interoperate with another implementation which does
   include the option, though perhaps with reduced functionality. In the
   same vein an implementation which does include a particular option
   MUST be prepared to interoperate with another implementation which
   does not include the option (except, of course, for the feature the
   option provides.)
*-->
     </gitem>
     <gitem dg="ep06a">
      <label><rfc2119>should</rfc2119></label>
      <def>
       <p>It is recommended that conforming documents and
	<!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>-aware processors behave as described, but there
	can be valid reasons for them not to; it is important that the
	full implications be understood and carefully weighed before
	adopting behavior at variance with the recommendation.</p>
      </def>
<!--*
3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
   may exist valid reasons in particular circumstances to ignore a
   particular item, but the full implications must be understood and
   carefully weighed before choosing a different course.
*-->
<!--*
4. SHOULD NOT   This phrase, or the phrase "NOT RECOMMENDED" mean that
   there may exist valid reasons in particular circumstances when the
   particular behavior is acceptable or even useful, but the full
   implications should be understood and the case carefully weighed
   before implementing any behavior described with this label.
*-->
     </gitem>
     <gitem>
      <label><rfc2119>must</rfc2119></label>
      <def>
       <p>Conforming documents and <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>-aware processors are
	required to behave as described; otherwise they are in
	error.</p>
      </def>
<!--*
1. MUST   This word, or the terms "REQUIRED" or "SHALL", mean that the
   definition is an absolute requirement of the specification.
*-->
     </gitem>
     <gitem dg="fpwd">
      <label><rfc2119>must not</rfc2119></label>
      <def>
       <p dg="fpwd">Conforming documents and
	<!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase>-aware processors are forbidden to behave as
	described; if they do they are in error.</p>
      </def>
<!--*
2. MUST NOT   This phrase, or the phrase "SHALL NOT", mean that the
   definition is an absolute prohibition of the specification.
*-->
     </gitem>

    </glist>
    <p dg="ep06a">These definitions describe in terms
     specific to this document the meanings assigned to these terms by
     <bibref ref="rfc-2119"/>. The specific wording follows
     that of <bibref ref="ref-xml"/>.
    </p>
    <p><!--*
* material suppressed here by diff group fpwd *
*--><phrase dg="fpwd">This</phrase>
     specification provides a definition of error and of conformant
     processors' responsibilities with respect to errors <!--*
* material suppressed here by diff group fpwd *
*--><phrase dg="fpwd">in</phrase>
<specref ref="conformance"/><!--*
* material suppressed here by diff group fpwd *
*-->.</p>

   </div2>
  </div1>
  <div1 id="concepts">
   <head>Conceptual Framework</head>
   <p>This chapter gives an overview of <emph>XML Schema<phrase dg="b4399"> Definition Language</phrase>: Structures</emph> at the level of its
    abstract data model.  <specref ref="components"/> provides details
    on this model, including a normative representation in XML for the
    components of the model. Readers interested primarily in learning
    to write schema documents <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">will find it most
     useful first to</phrase> read <bibref ref="bib-expo"/> for a
    tutorial introduction, and only then <phrase dg="may">to</phrase> consult the sub-sections of 
    <specref ref="components"/> named <emph>XML Representation of
     ...</emph> for the details.</p>
   <div2 id="xsover">
    <head>Overview of <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase></head>
    <p>An <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL schema</phrase> <!--*
* material suppressed here by diff group rq144nv *
*--><phrase dg="rq144nv">is
      a set</phrase> of components such as type definitions and
     element declarations. These can be used to assess the validity of
     well-formed element and attribute information items (as defined
     in <bibref ref="ref-xmlinfo"/>), and furthermore <!--*
* material suppressed here by diff group may *
*--><phrase dg="may"><rfc2119>may</rfc2119></phrase>
     specify augmentations to those items and their descendants. This
     augmentation makes explicit information <!--*
* material suppressed here by diff group may *
*--> implicit in the original
     document, such as normalized and/or default values for attributes
     and elements and the types of element and attribute information
     items. <phrase dg="rq144nv">The input information set
      can also be augmented with information about the validity of the
      item, or about other properties described in this
      specification.</phrase> <termdef term="post-schema-validation       infoset" id="key-psvi">We refer to the augmented infoset which
      results from conformant processing as defined in this
      specification as the <term>post-schema-validation
       infoset</term>, or <term>PSVI</term></termdef>. <phrase dg="rq144nv">Conforming processors <rfc2119>may</rfc2119> provide
      access to <!--*
* material suppressed here by diff group rq144wg *
*--><phrase dg="rq144wg">some or
       all</phrase> of the PSVI<phrase dg="ep99"><phrase dg="rq144fl">, as described in <specref ref="var_psvi"/></phrase></phrase>. The mechanisms by which
      processors provide <phrase dg="rq144wg">such</phrase>
      access to the PSVI are neither defined nor constrained by this
      specification.</phrase> <!--*
* material suppressed here by diff group ep99 *
*--></p>

    <!--*
* material suppressed here by diff group opt.144 *
*-->
    
    <!--* <issue id="RQ-142i" role="1.1"  diff="del" dg="ep99">
< ! - - *
	  <p><loc href="&reqs;#PSVIProp" target="reqs">RQ-142 (PSVIProp)</loc>,
             <loc href="&reqs;#WhichPSVIPropertiesReqd" target="reqs">RQ-144 
             (WhichPSVIPropertiesReqd)</loc></p>
* - - >
     <p>
      <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=2846"
       target="reqs" >Issue 2846 (RQ-142 PSVI properties)</loc>, <loc
       href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=2822"
       target="reqs" >Issue 2822 (RQ-144 required
       properties)</loc></p>
  <p>Version 1.0 included several properties in the PSVI whose absence
      carried information (e.g. <propref role="psvi"
       ref="e-type_definition"/>),
      while at the same time not being completely clear about which
      PSVI properties, if any, were required.  The Working Group
      intends to eliminate the former and clarify the latter.</p>
  <resolution>
      <p>For 142, which mandates that insofar as possible absence of a
       property should not in general signify, when it does explicit
       'if-and-only-if' language is required, the effect is
       distributed throughout the PSVI sub-sub-sections in section
       3.</p>
      <p>The Working Group appears to be close to consensus (although
       no final decision has been made) on views which can be
       summarized thus:
       <olist>
	<item>
	 <p>We should eliminate any dependency on the absence of
	  specific properties (i.e. important situations should be
	  describable and distinguishable in terms of properties and
	  their values, without appeal to the absence of particular
	  properties), or if this proves unfeasible in particular
	  cases we should say explicitly that a property is present
	  "if and only if" certain conditions apply.  Any remaining
	  "if" (if any) would be a true conditional, not an
	  equivalence.</p>
	</item>
	<item>
	 <p>Any specification of a class of processors (including
	  ours) can require specific additional information not in the
	  PSVI, though should note that interoperability is better if
	  applications depend only on the properties present in the
	  PSVI as we define it.</p>
	</item>
	<item>
	 <p>In our own specification of processor classes, we should
	  be explicit that processors may provide additional
	  information. (Or alternatively be explicit that they must
	  not  &mdash;  but the chair believes the WG consensus was to allow
	  it.)</p>
	</item>
       </olist> 
      </p>
      <p>For 144, a few general remarks here about flexible-but-firm
       conformance are wanted here; most of the new work should end up
       in section 4 and/or 5.</p>
     </resolution>
    </issue> *-->
    <p>Schema-validity assessment has two aspects:
     <olist><item id="c-lsv"><p>Determining local schema-validity,
	that is whether an element or attribute information item
	satisfies the constraints embodied in the relevant components
	of an <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL schema</phrase>;</p></item>
      <item><p>Synthesizing an overall validation outcome for the
	item, combining local schema-validity with the results of
	schema-validity assessments of its descendants, if any, and
	adding appropriate augmentations to the infoset to record this
	outcome.</p></item></olist></p>
    <p>Throughout this specification, <termdef id="key-vn" term="valid">the word <term>valid</term> and its derivatives are
      used to refer to <clauseref ref="c-lsv"/> above, the
      determination of local schema-validity</termdef>.</p>
    <p>Throughout this specification, <termdef id="key-va" term="assessment"> the word <term>assessment</term> is used to
      refer to the overall process of local validation,
      schema-validity assessment and infoset
      augmentation</termdef>.</p>
    <p dg="b3714">During <termref def="key-va"/>, some or
     all of the element and attribute information items in the input
     document are associated with declarations and/or type
     definitions; these declarations and type definitions are then
     used in the <termref def="key-va"/> of those items, in a
     recursive process. <termdef id="key-governing" term="governing">The declaration associated with an information
      item, if any, and with respect to which its validity is <termref def="key-va">assessed</termref> in a given assessment episode
      is said to <term>govern</term> the item, or to be its
      <term>governing</term> element or attribute declaration.
      Similarly the type definition with respect to which the
      type-validity of an item is assessed is its
      <term>governing</term> type definition.</termdef>
     <note dg="b3725">
      <p>See also the definitions of <termref def="key-governing-ed"/> and	<termref def="key-governing-type-elem"/>
       (for elements) and <termref def="key-governing-ad"/> and <termref def="key-governing-type-att"/> (for
       attributes).</p>
     </note>
    </p>
   </div2>
   <div2 id="concepts-data-model">
    <head><!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> Abstract Data Model</head>
    <p>This specification builds on <bibref ref="ref-xml"/> and
<bibref ref="ref-xml-namespaces"/>.  The concepts and definitions used
     herein regarding XML are framed at the abstract level of
     <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/xml-infoset/#infoitem">information
      items</xtermref> as defined in <bibref ref="ref-xmlinfo"/>.  By
     definition, this use of the infoset provides <emph>a
      priori</emph> guarantees of <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/REC-xml/#sec-well-formed">well-formedness</xtermref> 
     (as defined in <bibref ref="ref-xml"/>) and <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/REC-xml-names/#Conformance">namespace
      conformance</xtermref> (as defined in <bibref ref="ref-xml-namespaces"/>) for all candidates for <termref def="key-va">assessment</termref> and for all
     <termref def="key-schemaDoc">schema documents</termref>.</p>
    <p>Just as <bibref ref="ref-xml"/> and
     <bibref ref="ref-xml-namespaces"/> can be described in terms of
     information items, <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL schemas</phrase> can be described in terms of
     an abstract data model.  In defining <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">schemas</phrase> in terms of
     an abstract data model, this specification rigorously specifies
     the information which <rfc2119>must</rfc2119> be available to a conforming
     <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> processor.  The abstract model for schemas is
     conceptual only, and does not mandate any particular
     implementation or representation of this information.  To
     facilitate interoperation and sharing of schema information, a
     normative XML interchange format for schemas is provided.</p>
<!--* 
    <issue id="CC" role="1.1">
     <p><loc href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2003Jun/0090.html">2003-06-13 minutes (Component cleanup)</loc> (W3C-member-only link)</p>
     <p>Some aspects of the abstract components used to organise this
specification have proved clumsy and/or susceptible to improvement.  The way in
which components and their properties are referenced in constraints and
validation rules is sometimes irritatingly verbose.  Wherever possible these
problems should be addressed.</p>
     <resolution>
      <p>Changes to the component structure which do not produce
    substantially different functionality (i.e. change behavior only in
    edge cases) [are consistent with our overall goals].  Such changes might be made in order to make the
    component structure easier to understand, reason about, document,
    or talk about.  This class is not, however, restricted to changes
    which do not affect the information-theoretic information content
    of the component structure.  That is, it may contain changes
    that go beyond renaming or other changes which do not affect
    information content.</p>
      <p>These changes will be disruptive to (some) implementors, but (MSM
    suggested) not to all users, and probably not to any (or: many)
    users.</p>
      <p>The editor intends under this heading to make the presentation of
components much more systematic, because auto-generated from an XML-notated
explicit definition of components and properties, for example:</p>
      <p><![CDATA[<component name="Attribute Declaration" base="Component"
           abstract="false" abbrev="ad">
  <property name="type definition" valueType="component" arity="singleton"
            type="Simple Type Definition" required="true"/>
  . . .]]></p>
      <p>The editor also intends to introduce a number of 'micro-components',
replacing all values with complicated value types, e.g. replacing "A pair consisting of a value and one of <pt>default</pt>, <pt>fixed</pt>." with a
Value Constraint micro-component.</p>
     </resolution>
    </issue> *-->

    <p><termdef id="c" term="schema component"><term>Schema
       component</term> is the generic term for the building blocks
      that <!--*
* material suppressed here by diff group b4399a *
*--><phrase dg="b4399a">make up</phrase> the abstract data model
      of the schema. </termdef> <!--*
* material suppressed here by diff group b4399 *
*--><termdef id="key-schema" term="XSDL schema" dg="b4399"> An <term>XSDL schema</term> is a set of <termref def="c">schema components</termref></termdef>. There are
     <!--*
* material suppressed here by diff group b2861cc-1 *
*--><phrase dg="b2861cc-1">14</phrase> kinds of component in all, falling
     into three groups.  The primary components, which <rfc2119>may</rfc2119> (type
     definitions) or <rfc2119>must</rfc2119> (element and attribute declarations) have
     names, are as follows:</p>
    <ulist>
     <item><p>Simple type definitions
      </p></item>
     <item><p>Complex type definitions</p></item>
     <item><p>Attribute declarations</p></item>
     <item><p>Element declarations</p></item>
    </ulist><p>The secondary components, <!--*
* material suppressed here by diff group b2861cc-1 *
*-->are as
     follows:</p>
    <ulist>
     <item><p>Attribute group definitions</p></item>
     <item><p>Identity-constraint definitions</p></item>
     <item dg="cta-ta"><p>Type alternatives</p></item>
     <item><p><phrase dg="b2861cc-1">Assertions</phrase></p></item>
     <item><p>Model group definitions</p></item>
     <item><p>Notation declarations</p></item>
    </ulist>
    <p>Finally, the <quote>helper</quote> components provide small
     parts of other components; they are not independent of their
     context:</p>
    <ulist>
     <item><p>Annotations</p></item>
     <item><p>Model groups</p></item>
     <item><p>Particles</p></item>
     <item><p>Wildcards</p></item>
     <item><p>Attribute Uses</p></item>
    </ulist>
    <p dg="ep01-revert">The name <compdef name="Component" abbrev="xc" role="termdef" showAKO="true"> covers all the different kinds of
      component defined in this specification.</compdef></p>
    <p>During <termref def="key-vn">validation</termref>, <termdef id="key-declaration" term="declaration"><term>declaration</term>
      components are associated by (qualified) name to information items
      being <termref def="key-vn">validated</termref></termdef>.
    </p>
    <p>On the other hand, <termdef id="key-definition" term="definition"><term>definition</term> components define internal
      schema components that can be used in other schema
      components</termdef>.
    </p>
    <p><termdef id="key-compName" term="component name">Declarations
      and definitions <!--*
* material suppressed here by diff group may *
*--><phrase dg="may"><rfc2119>may</rfc2119></phrase> <phrase dg="modals">and in
       some cases <rfc2119>must</rfc2119></phrase> have and be identified by
      <term>name</term>s, which are NCNames as defined by <bibref ref="ref-xml-namespaces"/></termdef>.</p>

    <p><termdef id="key-targetNS" term="target namespace">Several
      kinds of component have a <term>target namespace</term>, which
      is either <termref def="key-null">absent</termref> or a
      namespace name, also as defined by <bibref ref="ref-xml-namespaces"/></termdef>.  The <termref def="key-targetNS">target namespace</termref> serves to identify
     the namespace within which the association between the component
     and its name exists.  In the case of declarations, this in turn
     determines the namespace name of, for example, the element
     information items it <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">will</phrase> <termref def="key-vn">validate</termref>.</p>
    <note>
     <p>At the abstract level, there is no requirement that the
      components of a schema share a <termref def="key-targetNS">target namespace</termref>.  Any schema for
      use in <termref def="key-va">assessment</termref> of documents
      containing names from more than one namespace will of necessity
      include components with different <termref def="key-targetNS">target namespaces</termref>.  This contrasts
      with the situation at the level of the XML representation of
      components, in which each schema document contributes
      definitions and declarations to a single target namespace.</p>
    </note>
    <p><termref def="key-vn">Validation</termref>, defined in detail
     in <specref ref="components"/>, is a relation between information
     items and schema components.  For example, an attribute
     information item <!--*
* material suppressed here by diff group may *
*--><phrase dg="may">is <termref def="key-vn">validated</termref></phrase>
     with respect to an attribute declaration, a list of element
     information items <!--*
* material suppressed here by diff group may *
*--> with respect to a
     content model, and so on.  The following sections briefly
     introduce the kinds of components in the schema abstract data
     model, other major features of the abstract model, and how they
     contribute to <termref def="key-vn">validation</termref>.</p>
    
    <div3 id="Type_Definition_Summary">
     <head>Type Definition Components</head>
     <p>The abstract model provides two kinds of type definition
      component: simple and complex.</p>
     <p><termdef id="td" term="type definition">This specification
       uses the phrase <term>type definition</term> in cases where no
       distinction need be made between simple and complex
       types</termdef>.</p>
     <p>Type definitions form a hierarchy with a single root.  The
      subsections below first describe characteristics of that
      hierarchy, then provide an introduction to simple and complex
      type definitions themselves.</p>
     
     <div4 id="Type_Derivation">
      <head>Type Definition Hierarchy</head>

<!--*    <issue id="RQ-120i" role="1.1">
	      <p><loc href="&reqs;#term-&derived_AV;" target="reqs">RQ-120 (term-derived)</loc></p>
      <p>There is an inconsistency in the use of the word '&derived;' and related
words between parts 1 and 2 of version 1.0:  Sometimes it refers only to types
defined by
restriction and/or extension, but other times includes lists and unions as
well.  This terminological problem, and the underlying conceptual issue, should
be addressed.</p>
      <resolution>
       <p><loc href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2004May/0007.html">http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2004May/0007.html</loc>, <loc href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2004May/0009.html">http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2004May/0009.html</loc> (W3C-member-only links)</p>
       <p>In anticipation of a change in this area, the editor has replaced all
occurrences of '&derived;' and related words with one of two entity references:
&amp;&derived;; for restriction and extension only, and &amp;constructedDiff; for
restriction, extension, list and union.  The former is defined to be
'derived' for now, the latter a diff-marked replacement of 'derived'
by 'constructed'.</p>
      </resolution>
	      </issue> *-->

      <p><termdef id="key-typeDefinitionHierarchy" term="Type  Definition Hierarchy">Except for <!--*
* material suppressed here by diff group wd-200708-1 *
*--> <phrase dg="wd-200708-1"><termref def="key-anyType"><phrase><code>xs:anyType</code></phrase></termref>,</phrase> every <termref def="td">type definition</termref> is, by construction,
	either a <termref def="key-typeRestriction">restriction</termref> or an
	<termref def="key-typeExtension">extension</termref> of some
	other type definition.  The graph of these relationships forms
	a tree known as the <term>Type Definition
	 Hierarchy</term></termdef>.
      </p>
      <p dg="eg-1852-silent"><termdef id="key-baseTypeDefinition" term="base type definition"><!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852">The</phrase> type definition used as the basis
	for an <termref def="key-typeExtension">extension</termref> or
	<termref def="key-typeRestriction">restriction</termref> is
	known as the <term>base type definition</term> of that
	definition</termdef>.
      </p>
      <p><termdef id="key-typeRestriction" term="restriction"><phrase dg="rq17-x"><!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852">A
	  type defined with the same constraints as its <termref def="key-baseTypeDefinition"/>, or with more,</phrase> is
	 said to be a <term>restriction</term>.</phrase> <!--*
* material suppressed here by diff group rq17-x *
*--></termdef> The <!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852">added constraints</phrase> might include narrowed
       ranges or reduced alternatives. <!--*
* material suppressed here by diff group ftf-2 *
*--><phrase dg="ftf-2">Given two types <var>A</var> and <var>B</var>, if the definition of
	<var>A</var> is a <termref def="key-typeRestriction">restriction</termref> of the
	definition of <var>B</var>, then members of type <var>A</var> are always locally
	valid against type <var>B</var> as well.</phrase></p>

      <!--* <issue id="RQ-17i" role="1.1">
< ! - -* <p><loc href="&reqs;#restrictn-rules" target="reqs">RQ-17 (restrictn-rules)</loc></p> * - ->

       <p><loc
	 href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=2820"
	 target="reqs" >Issue 2820 (RQ-17 simplify restriction
	 rules)</loc></p>
       <p>Version 1.0 made clear that the <emph>intention</emph> for
	derivation by restriction was that restrictions validated a
	subset of what their base validated.  However, the
	constructive rules for what constituted valid content model
	restrictions for complex type definition not only failed to
	enforce this completely correctly, but also ruled out various
	cases which evidently should have been allowed.  The Working
	Group has decided to shift to a much higher level statement of
	what constitutes a valid restriction, appealing directly to
	the subset requirement, in order to address these
	problems.</p>
       <resolution>
	<p>A major change in definition/presentation, with only modest
	 changes in consequences for schemas and validity, will be
	 made, by <emph>defining</emph> restriction for complex type
	 definitions in terms of the desired result, that is that all
	 members of a restricted type are members of its base type.
	 In the normative part of the spec. this will be done by
	 appeal to local validity.</p>
	<p><quote>Clarifying: R restricts B: any EII that is locally
	  valid [per R] &must; also be locally valid [per B], with
	  side conditions on properties on terms you appeal to [to]
	  get same child allowed by two content models.</quote> [-<loc
	  href="http://www.w3.org/XML/Group/2004/05/xml-schema-ftf-minutes.html">F2F 
	  2004-03-12, section Subsumption</loc> (W3C-member-only
	 link)]</p>
	<p>A non-normative appendix will provide references to
	 published algorithms for enforcing the constraint.</p>
       </resolution>
      </issue> *-->
      <p><termdef id="key-typeExtension" term="extension">A complex
	type definition which allows element or attribute content in
	addition to that allowed by another specified type definition
	is said to be an <term>extension</term></termdef>.</p>

      <!--*
* material suppressed here by diff group rq17 *
*-->

      <p dg="rq17"><termdef id="key-anyType" term="definition of anyType">A special complex type
	definition, <!--*
* material suppressed here by diff group f2f0610 *
*--><phrase dg="f2f0610">(referred to in earlier versions of this
	 specification as 'the ur-type definition')</phrase> whose
	name is <pt>anyType</pt> in the <!--*
* material suppressed here by diff group b4399 *
*--><phrase dg="b4399">XSDL</phrase> namespace, is
	present in each <!--*
* material suppressed here by diff group b4399 *
*--><termref def="key-schema" dg="b4399">XSDL schema</termref>. The <term>definition of
	 <phrase><pt>anyType</pt></phrase></term> serves as default
	type definition for element declarations whose XML
	representation does not specify one</termdef>. <!--* why is
       the termdef closed inside the full stop? HST: Because I always
       do it that way :-) *--> <!--*
* material suppressed here by diff group cta *
*-->
      </p>

      <p dg="cta-error">
       <termdef id="key-error" term="xsd:error">A special simple type
	definition, whose name is <pt>error</pt> in the XSDL
	namespace, is also present in each <termref def="key-schema">XSDL schema</termref>. The
	<term>XSDL <phrase><code>error</code></phrase> type</term>
	has no valid instances. It can be used in any place where
	other types are normally used; in particular, it can be used
	in conditional type assignment to cause elements which satisfy
	certain conditions to be invalid. </termdef>
      </p>
      <p dg="cta">
       For brevity, the text and examples in this specification often
       use the qualified names <code>xsd:anyType</code> and
       <code>xsd:error</code> for these type definitions. (In
       practice, any appropriately declared prefix can be used, as
       described in <specref ref="Instance_Document_Constructions"/>.)
      </p>

      <!--*
* material suppressed here by diff group eg-1852 *
*-->
     </div4>

     <div4 id="Simple_Type_Definition">
      <head>Simple Type Definition</head>
      <p>A simple type definition is a set of constraints on strings
       and information about the values they encode, applicable to the
       <termref def="key-nv">normalized value</termref> of an attribute information item or of an element
       information item with no element children. Informally, it
       applies to the values of attributes and the text-only content
       of elements.
      </p>
      <p>Each simple type definition, whether built-in (that is,
       defined in <bibref ref="ref-xsp2"/>) or user-defined, is a <termref def="key-typeRestriction">restriction</termref> of <!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852">its</phrase> <termref def="key-baseTypeDefinition">base type definition</termref>.
       <!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="urtype"><termdef id="key-simpleUrType" term="simple   ur-type definition"><!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852">The</phrase> <term>simple ur-type
	  definition</term>, a special <termref def="key-typeRestriction">restriction</termref> of <!--*
* material suppressed here by diff group wd-200708-1 *
*--><phrase dg="wd-200708-1"><termref def="key-anyType"><phrase><code>xs:anyType</code></phrase></termref></phrase>, whose
	 name is <local>anySimpleType</local> in the XML Schema
	 namespace</termdef><phrase dg="eg-1852"> is the
	 root of the <termref def="key-typeDefinitionHierarchy"/> for
	 the simple type definitions</phrase>. The <termref def="key-simpleUrType">simple ur-type definition</termref> is
	considered to have an unconstrained lexical space, and a value
	space consisting of the union of the value spaces of all the
	built-in primitive datatypes and the set of all lists of all
	members of the value spaces of all the built-in primitive
	datatypes.</phrase> <!--*
* material suppressed here by diff group urtype *
*--> <phrase dg="eg-1852">The
	built-in list datatypes all have <phrase dg="urtype">the <termref def="key-simpleUrType">simple ur-type definition</termref></phrase><!--*
* material suppressed here by diff group urtype *
*--> as their
	<termref def="key-baseTypeDefinition">base type
	 definition</termref>.</phrase></p>
      <p dg="eg-1852"><termdef id="key-anyAtomicType" term="anyAtomicType">There is a further special datatype
	called <term><phrase dg="urtype">anyAtomicType</phrase><!--*
* material suppressed here by diff group urtype *
*--></term>, a
	<termref def="key-typeRestriction">restriction</termref> of
	<phrase dg="urtype">the <termref def="key-simpleUrType">simple ur-type definition</termref></phrase><!--*
* material suppressed here by diff group urtype *
*-->, which is the <termref def="key-baseTypeDefinition">base type definition</termref>
	of all the primitive built-in datatypes.</termdef> <!--*
* material suppressed here by diff group urtype *
*--> It too is
       considered to have an unconstrained lexical space.  Its value
       space consists of the union of the value spaces of all the
       built-in primitive datatypes.</p>
      <p>The mapping from lexical space to value space is unspecified
       for items whose type definition is <phrase dg="urtype">the <termref def="key-simpleUrType">simple ur-type definition</termref></phrase><!--*
* material suppressed here by diff group urtype *
*--> <phrase dg="eg-1852">or <termref def="key-anyAtomicType" dg="urtype"/><!--*
* material suppressed here by diff group urtype *
*--></phrase>. Accordingly
       this specification does not constrain processors'
       behavio<!--*
* material suppressed here by diff group b2861cc-1 *
*-->r in areas
       where this mapping is implicated, for example checking such
       items against enumerations, constructing default attributes or
       elements whose declared type definition is <phrase dg="urtype">the <termref def="key-simpleUrType">simple ur-type definition</termref></phrase><!--*
* material suppressed here by diff group urtype *
*-->
       <!--*
* material suppressed here by diff group urtype *
*-->,
       checking identity constraints involving such items.</p>
      <note>
       <p>The Working Group expects to return to this area in a future
	version of this specification.</p>
      </note>
      <p><!--*
* material suppressed here by diff group eg-1852 *
*--><phrase dg="eg-1852"><bibref ref="ref-xsp2"/>
	provides mechanisms for defin