<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../2002/xmlspec/xhtml/1.13/diffspec.xsl"?>
<spec status="int-review" w3c-doctype="wd">
   <header>
      <title>XML processor profiles</title>
      <w3c-designation>WD-xml-proc-profiles-20120124</w3c-designation>
      <w3c-doctype>W3C Working Draft</w3c-doctype>
      <pubdate>
         <day>24</day>
         <month>January</month>
         <year>2012</year>

         <!-- $Id: xml-proc-profiles.xml,v 1.1 2012/01/20 22:31:30 denis Exp $-->
</pubdate>
      <publoc>
         <loc xmlns:xlink="http://www.w3.org/1999/xlink"
              href="http://www.w3.org/TR/2012/WD-xml-proc-profiles-20120124/"
              xlink:type="simple"
              xlink:show="replace"
              xlink:actuate="onRequest"/>

         <!-- <loc href="http://www.w3.org/XML/XProc/docs/xml-proc-profiles.html"/> -->
</publoc>
      <altlocs>
         <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="xml-proc-profiles.xml"
              xlink:type="simple"
              xlink:show="replace"
              xlink:actuate="onRequest">XML</loc>

         <!--
   <loc href="diff.html">Version with differences from pre-F2F editors' draft version highlighted</loc>
-->
</altlocs>
      <latestloc>
         <loc xmlns:xlink="http://www.w3.org/1999/xlink"
              href="http://www.w3.org/TR/xml-proc-profiles/"
              xlink:type="simple"
              xlink:show="replace"
              xlink:actuate="onRequest"/>
      </latestloc>
      <prevlocs>
         <loc xmlns:xlink="http://www.w3.org/1999/xlink"
              href="http://www.w3.org/TR/2011/WD-xml-proc-profiles-20110412/"
              xlink:type="simple"
              xlink:show="replace"
              xlink:actuate="onRequest"/>

         <!--
 <loc href="http://www.w3.org/TR/2010/WD-xml-proc-profiles-20101130/"/>
 <loc href="http://www.w3.org/TR/2010/WD-xml-proc-profiles-20101021/"/>
 <loc href="http://www.w3.org/TR/2010/WD-xml-proc-profiles-20100518/"/>
 <loc href="http://www.w3.org/TR/2011/WD-xml-proc-profiles-20110412/"/>
-->
</prevlocs>
      <authlist>
         <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"
                   xlink:type="simple"
                   xlink:show="new"
                   xlink:actuate="onRequest">ht@inf.ed.ac.uk</email>
         </author>
         <author>
            <name>Norman Walsh</name>
            <affiliation>MarkLogic Corporation</affiliation>
            <email xmlns:xlink="http://www.w3.org/1999/xlink"
                   href="mailto:norman.walsh@marklogic.com"
                   xlink:type="simple"
                   xlink:show="new"
                   xlink:actuate="onRequest">norman.walsh@marklogic.com</email>
         </author>
         <author>
            <name>James Fuller</name>
            <affiliation>Webcomposite S.R.O</affiliation>
            <email xmlns:xlink="http://www.w3.org/1999/xlink"
                   href="mailto:jim.fuller@webcomposite.com"
                   xlink:type="simple"
                   xlink:show="new"
                   xlink:actuate="onRequest">jim.fuller@webcomposite.com</email>
         </author>
      </authlist>
      <abstract>
         <p>This specification defines several XML processor
profiles, each of which defines how any given XML
document should be processed, both operationally and in
terms of what information must be made available to applications.  It is intended as a resource for other specifications, which can by
a single normative reference establish precisely what input processing they
require as well as what information they require.</p>
      </abstract>
      <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/"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">W3C technical reports index</loc>
at http://www.w3.org/TR/.</emph>
         </p>
         <p>This is a public
<loc xmlns:xlink="http://www.w3.org/1999/xlink"
                 href="http://www.w3.org/2005/10/Process-20051014/tr.html#first-wd"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">Working Draft</loc>
for review by W3C members and other interested parties. This document
is a product of the
<loc xmlns:xlink="http://www.w3.org/1999/xlink"
                 href="http://www.w3.org/XML/Processing/"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">XML Processing Model
Working Group</loc> which is part of the W3C <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/XML/Activity"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">XML Activity</loc>.
The English version of this specification is the only
normative version. However, for translations of this document, see
<loc xmlns:xlink="http://www.w3.org/1999/xlink"
                 href="http://www.w3.org/2003/03/Translations/byTechnology?technology=xproc"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest"/>.
</p>
         <p>This is a Last Call Working Draft for review by W3C members and
other interested parties. It contains one significant addition to
previous drafts: a discussion of validation, as well as extensive
editorial changes made in response to reviewers comments on our
previous draft. Once again it is the Working Group's intention, since
this specification does not require new implementations, as many
existing XML processors implement one or more of the profiles defined
below, that no Candidate Recommendation version will be published, and
that the next step for this specification will be to Proposed
Recommendation—interested parties please take note and comment
accordingly.
</p>
         <p>The effective deadline for comments is 29 February 2012.  Please send comments on this draft to the public mailing list <loc xmlns:xlink="http://www.w3.org/1999/xlink"
                 href="mailto:public-xml-processing-model-comments@w3.org"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">public-xml-processing-model-comments@w3.org</loc> (public
<loc xmlns:xlink="http://www.w3.org/1999/xlink"
                 href="http://lists.w3.org/Archives/Public/public-xml-processing-model-comments/"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">archives</loc> are available).</p>
         <p>As this specification is intended for use by other specifications
which themselves define one or more XML languages, the Working Group
particularly welcomes input for other Working Groups who are responsible for
such specifications.</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 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/"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">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/38398/status"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">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"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">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"
                 xlink:type="simple"
                 xlink:show="replace"
                 xlink:actuate="onRequest">section
6 of the W3C Patent Policy</loc>.</p>
      </status>
      <langusage>
         <language id="en">English</language>
      </langusage>
      <revisiondesc>
         <slist>
            <sitem>Original done at TPAC09</sitem>
            <sitem>Additional profile, name change, FPWD tweaks by HST: 2010-04, 05</sitem>
            <sitem>Per <loc xmlns:xlink="http://www.w3.org/1999/xlink"
                    href="http://www.w3.org/XML/XProc/2010/05/27-minutes.html"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest"/>, minor edits in response to comments, also remove stale use of 'default' and 'model'</sitem>
            <sitem>Added new profile(s?) NDW: 2010-06-24</sitem>
            <sitem>Renamed most profiles, started on invariants section HST: 2010-07-01</sitem>
            <sitem>Adopted <loc xmlns:xlink="http://www.w3.org/1999/xlink"
                    href="http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2010Jul/0011.html"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">pgrosso's base URI and bibliography suggestions</loc>,
try to address <loc xmlns:xlink="http://www.w3.org/1999/xlink"
                    href="http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2010Jul/0013.html"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">pgrosso's concerns</loc> in section 3,
be a bit more expansive <loc xmlns:xlink="http://www.w3.org/1999/xlink"
                    href="http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2010Aug/0019.html"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">wrt impl-dep</loc>  HST: 2010-09-22</sitem>
            <sitem>Corrected one typo, added caveat wrt xml:id HST: 2010-10-12</sitem>
            <sitem>Added caveat to invariant claim HST: 2011-01-31</sitem>
            <sitem>Reverted caveat, and tried to address the data-model
construction requirements issue head-on HST: 2011-02-15</sitem>
            <sitem>Renamed and articulated some classes, changed status of notations
and unparsed entities, elt content whitespace, per feedback and telcon discussion
HST: 2011-02-17</sitem>
            <sitem>Adopted some but not all of Liam Quin's suggestions: http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2011Mar/0003.html</sitem>
            <sitem>Prepared for 2nd Last Call WD HST: 2011-03-30.</sitem>
            <sitem>Removed diff markup, added section on validation HST: 2011-07-21</sitem>
            <sitem>Some editorial fixes per minutes of 2011-10-06 HST: 2011-10-13</sitem>
            <sitem>Changes per minutes of 2011-10-13, to address <emph>inter alia</emph> LCC 3 from Liam Quin HST: 2011-10-13</sitem>
            <sitem>'implement' all diffs since 2011-04-12 WD by removing diff
markup HST: 2011-11-24</sitem>
            <sitem>Changes per actions 1, 4--8 in f2f minutes of 2011-10-31 HST: 2011-11-24</sitem>
            <sitem>Remaining actions from f2f, incl. pretty substantial terminology
changes HST: 2011-11-28</sitem>
            <sitem>Actions from f2f JF: 2011-12-15</sitem>
            <sitem>Simplification of invariants section, per f2f and subsequent
discussion with AM HST: 2011-12-15</sitem>
            <sitem>Added figure, coalesced short profile descriptions, other bits
per recent feedback HST: 2011-12-15</sitem>
            <sitem>Changed short prof. description layout per NW suggestion HST: 2011-12-16</sitem>
         </slist>
      </revisiondesc>
   </header>
   <body>
      <div1 id="intro">
         <head>Introduction</head>
         <p>Few specifications are implemented in their entirety, in exactly the
same way, by every implementor. Many specifications contain optional
features or areas of acknowledged variation and some implementors
choose to ignore required features that aren't needed by the community
they serve, chosing to trade conformance for other benefits.</p>
         <p>In the case of XML, there are exists not only optionality in the XML
Recommendation itself, but there are a whole family of additional
specifications which an implementor may choose to support or ignore.
In principle, there are an enormous number of possible variations. In
practice, there are dependencies between the specifications that limit
the number of possible variations and implementors aren't motivated to
implement completely arbitrary selections.</p>
         <p>The Infoset gave the community a vocabulary for discussing the items
  produced by a parser.  This specification 
  gives the community a vocabulary for describing common
  sets of higher level features by
  describing profiles, collecting specific sets of features
  drawn from the family of specifications, and providing names for them.</p>
         <p>One goal of this work is to help establish a lower bound on the number
and nature of features supported. The ability to communicate by sending XML documents back and forth
  is predicated on the notion that we have the same understanding of
  those documents. While we might
wish for the richest possible understanding, that's not likely to be
supported by the widest range of implementations. Establishing a few
basic profiles, we hope, provides a foundation on which other
specifications can build.</p>
         <div2 id="background">
            <head>Background</head>
            <p>The XML specification <bibref ref="xml"/> defines an XML processor as "a
software module. . .used to read XML documents and provide access to their
content and structure. . .on behalf of another module, called the application."
  XML applications are often created by building on top of the <bibref ref="xml-infoset"/> vocabulary or XML data models such as <bibref ref="xpath"/> or <bibref ref="xpath-datamodel"/>, understood as the output of an XML processor.  Such definitions have suffered to some extent from an uncertainty inherent in using that kind of foundation, in that the kind of processing which XML processors carry out on XML documents, as well as the amount of information they provide to applications as a result, is flexible to a certain extent.  Some of this flexibility stems from the XML specification itself, which is not always explicit about what information must be passed from processor to application, and which also leaves open the possiblity of reading and interpreting external entities, or not.  Another kind of flexibility has arisen from the growth of the XML family of specifications: if the input document includes uses of XInclude, for instance.</p>
            <p>This specification addresses this issue by defining several XML processor
profiles, each of which defines how any given XML
document should be processed, both operationally and in
terms of what information must be made available to applications.  It is intended as a resource for other specifications, which can by
a single normative reference establish precisely what input processing they
require as well as what information they require.</p>
            <p>The profiles presented here are designed for use with respect
to static outcomes, that is, to the result of XML processing as (if) produced by a
batch process. 
They do not attempt to address the question of the
preservation or lack thereof of information itself, or of information
invariants, in the course of incremental construction or in the face of
piecemeal modification.</p>
            <p>The profiles defined here are appropriate for processing both XML 1.0 <bibref ref="xml"/> and XML 1.1 <bibref ref="xml11"/> documents.  References to XML or XML Namespaces below should be understood as references to 1.0 or 1.1 as required by the relevant document or application.</p>
         </div2>
         <div2 id="terminology">
            <head>Terminology</head>
            <p>
               <termdef id="dt-must" term="Must, May, etc.">The key words 
  <term>must</term>, <term>must not</term>, <term>required</term>,
  <term>shall</term>, <term>shall not</term>, <term>should</term>, 
  <term>should not</term>, <term>recommended</term>, <term>may</term>, 
  and <term>optional</term> in this specification are to be interpreted 
  as described in <bibref ref="RFC2119"/>.</termdef>
            </p>
            <p>The term <term>base URI</term> is used in this specification as it is defined in <bibref ref="RFC3986"/>.</p>
         </div2>
      </div1>
      <div1 id="profiles">
         <head>XML processor profiles</head>
         <p>The profile
definitions which follow all assume that the starting point is a <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                      href="http://www.w3.org/TR/xml/#dt-wellformed"
                      xlink:type="simple"
                      xlink:show="new"
                      xlink:actuate="onRequest">well-formed</xspecref> and <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                      href="http://www.w3.org/TR/REC-xml-names/#dt-nwf"
                      xlink:type="simple"
                      xlink:show="new"
                      xlink:actuate="onRequest">namespace well-formed</xspecref> XML document. This specification does not consider documents
that are not namespace well-formed. Documents which are not well-formed are not XML.</p>
         <p>Each profile is defined in terms of conformance requirements on processors
with respect to various XML-family specifications, and in terms of requirements
on the information they provide to applications.  Information provision requirements are specified by
reference to classes of information items and properties, as further defined in <specref ref="infosetClasses"/>.</p>
         <p>It is the <emph>information</emph> itself which is required, not the
particular packaging of it implied by the items and properties used to define
those information classes.  Processors typically package information in terms of
more-or-less standardized <kw>data models</kw> or <kw>application program
interfaces</kw> (APIs).  How the information
required for conformance to a particular profile defined below is conveyed by a
data model or API need
not correspond point-for-point to the Infoset terminology.  For example, a data model may expose element
content as an array of strings.  That does not prevent it from conforming to
the requirements expressed below in terms of the <bibref ref="xml-infoset"/>'s
<kw>Character Information Items</kw>, for example requirement (3) of <specref ref="basicProfile"/>.</p>
         <p>The four profiles defined here identify four increasingly rich
  profiles, in terms of kinds of processing and amount of information
  provided to applications, starting from a profile very close to what many XML
processors do already in their minimal configuration:</p>
         <ulist>
            <item>
               <p>
                  <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#basicProfile"
                       xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">The Basic profile</loc> adds only support for xml:base processing to
  the minimum expected of all processors, in order to allow for
  correct resolution of relative URIs;</p>
            </item>
            <item>
               <p>
                  <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#idProfile" xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">The Id profile</loc> adds xml:id processing in order to identify
  IDs in the possible absence of complete attribute type declaration
  information;</p>
            </item>
            <item>
               <p>
                  <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#extDeclProfile"
                       xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">The External Declarations
profile</loc> adds mandatory external
  markup declaration processing in order to guarantee all
  information-affecting declarations are processed;</p>
            </item>
            <item>
               <p>
                  <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#fullProfile"
                       xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">The Full profile</loc> adds xi:include processing, in order to
  transclude linked infosets as parsed XML or as text, recursively as
  required.</p>
            </item>
         </ulist>
         <p>The precise nature of each of these profiles is described in the sections which follow.</p>
         <div2 id="basicProfile">
            <head>The basic XML processor profile</head>
            <p>To conform to the basic profile an XML processor <rfc2119>must</rfc2119>
            </p>
            <olist>
               <item>
                  <p>Process the document as <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#proc-types"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">required of conformant
non-validating XML processors</xspecref> while not reading any <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-extmkpdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">external markup declarations</xspecref>;</p>
               </item>
               <item>
                  <p>Maintain the <term>base URI</term> of each element in
conformance with <bibref ref="xml-base"/>;</p>
               </item>
               <item>
                  <p>Accurately provide to the application the information in the document
corresponding to information items and properties in classes <termref def="Core">Core</termref>, <termref def="Signal">Signal</termref>, <termref def="Decl">Decl</termref> and <termref def="ImplDef">ImplDef</termref>;</p>
               </item>
            </olist>
         </div2>
         <div2 id="idProfile">
            <head>The id XML processor profile</head>
            <p>To conform to the id profile an XML processor <rfc2119>must</rfc2119>
            </p>
            <olist>
               <item>
                  <p>Process the document as <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#proc-types"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">required of conformant
non-validating XML processors</xspecref> while not reading any <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-extmkpdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">external markup declarations</xspecref>;</p>
               </item>
               <item>
                  <p>Maintain the <term>base URI</term> of each element in
conformance with <bibref ref="xml-base"/>;</p>
               </item>
               <item>
                  <p>Perform ID type assignment for all <code>xml:id</code> attributes as
required by <bibref ref="xml-id"/> by reporting their
<emph>attribute type</emph> Infoset property as <code>ID</code> to the application;</p>
               </item>
               <item>
                  <p>Accurately provide to the application the information in the document
corresponding to information items and properties
in classes <termref def="Core">Core</termref>, <termref def="Signal">Signal</termref>, <termref def="Decl">Decl</termref> and <termref def="ImplDef">ImplDef</termref>.</p>
               </item>
            </olist>
         </div2>
         <div2 id="extDeclProfile">
            <head>The external declarations XML processor profile</head>
            <p>To conform to the external declarations profile an XML processor <rfc2119>must</rfc2119>
            </p>
            <olist>
               <item>
                  <p>Process the document as <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#proc-types"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">required of conformant
non-validating XML processors</xspecref> while reading and processing all <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-extmkpdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">external markup declarations</xspecref> (as specifed in <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-use-mdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">the discussion of non-validating processors in the XML specification</xspecref>);</p>
               </item>
               <item>
                  <p>Maintain the <term>base URI</term> of each element in
conformance with <bibref ref="xml-base"/>;</p>
               </item>
               <item>
                  <p>Perform ID type assignment for all <code>xml:id</code> attributes as
required by <bibref ref="xml-id"/> by reporting their
<emph>attribute type</emph> Infoset property as <code>ID</code> to the application;</p>
               </item>
               <item>
                  <p>Accurately provide to the application the information in the document
corresponding to information items and properties
in classes <termref def="Core">Core</termref>, <termref def="Extended">Extended</termref>
and <termref def="ImplDef">ImplDef</termref>;</p>
               </item>
            </olist>
         </div2>
         <div2 id="fullProfile">
            <head>The full XML processor profile</head>
            <p>To conform to the full profile an XML processor <rfc2119>must</rfc2119>
            </p>
            <olist>
               <item>
                  <p id="fpp1">Process the document as <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#proc-types"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">required of conformant
non-validating XML processors</xspecref> while reading and
processing all <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-extmkpdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">external markup declarations</xspecref> (as specifed in <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xml/#dt-use-mdecl"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">the discussion of non-validating processors in the XML specification</xspecref>);</p>
               </item>
               <item>
                  <p>Maintain the <term>base URI</term> of each element in
conformance with <bibref ref="xml-base"/>;</p>
               </item>
               <item>
                  <p>Perform ID type assignment for all <code>xml:id</code> attributes as
required by <bibref ref="xml-id"/> by reporting their
<emph>attribute type</emph> Infoset property as <code>ID</code> to the application;</p>
               </item>
               <item>
                  <p>Recursively replace all <code>include</code> elements in the XInclude
namespace, and carry out namespace, xml:base and xml:lang fixup of the result, as required for
conformance to <bibref ref="xinclude"/>;</p>
               </item>
               <item>
                  <p>Accurately provide to the application the information in the document
corresponding to information items and properties
in classes <termref def="Core">Core</termref>, <termref def="Extended">Extended</termref>
and <termref def="ImplDef">ImplDef</termref>.</p>
               </item>
            </olist>
            <p>The following <bibref ref="xproc"/> pipeline implements the <specref ref="fullProfile"/> when executed by a
conformant XProc processor which
</p>
            <ulist>
               <item>
                  <p>Processes its input as required by <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#fpp1" xlink:type="simple"
                          xlink:show="replace"
                          xlink:actuate="onRequest">point 1</loc> above;</p>
               </item>
               <item>
                  <p>Recognizes and <phrase>reports</phrase> the ID type of all <code>xml:id</code> attributes in
conformance with <bibref ref="xml-id"/>.</p>
               </item>
            </ulist>
            <example>
               <head>XProc pipeline which implements the full processor profile</head>
               <eg xml:space="preserve">&lt;p:pipeline xmlns:p="http://www.w3.org/ns/xproc"&gt;

  &lt;p:xinclude fixup-xml-base="true" fixup-xml-lang="true"/&gt;

&lt;/p:pipeline&gt;</eg>
            </example>
         </div2>
      </div1>
      <div1 id="infosetClasses">
         <head>Classes of Information</head>
         <p>For the profile definitions above and the invariants below, we
categorize the information expressed in XML documents, which
may be made available to applications, into a number of
(overlapping) classes.  What follows is a complete tabulation of all the
information items and their properties from <bibref ref="xml-infoset"/>, annotated
with one or more class labels.</p>
         <note>
            <p>The glosses which follow immediately below here are explanatory: the
actual class definitions are given in the subsequent table</p>
         </note>
         <glist>
            <gitem id="Core">
               <label>Class Core</label>
               <def>
                  <p>Items and properties which are fundamental for
all XML applications and so <rfc2119>must</rfc2119> be provided by all profiles.</p>
               </def>
            </gitem>
            <gitem id="Extended">
               <label>Class Extended</label>
               <def>
                  <p>Items and properties which depend on declarations and so <rfc2119>must</rfc2119> be provided by <specref ref="extDeclProfile"/> and <specref ref="fullProfile"/> only</p>
               </def>
            </gitem>
            <gitem id="Signal">
               <label>Class Signal</label>
               <def>
                  <p>Items and properties which only are relevant when entity declarations are <emph>not</emph> available and so <rfc2119>must</rfc2119> be provided by <specref ref="basicProfile"/> and <specref ref="idProfile"/> only</p>
               </def>
            </gitem>
            <gitem id="Decl">
               <label>Class Decl</label>
               <def>
                  <p>Items and properties which depend on declarations. 
For <specref ref="basicProfile"/> and <specref ref="idProfile"/>, they will not be provided if the relevant declaration
is in an unprocessed external entity, or is after the first reference to an external entity
which is not processed.</p>
               </def>
            </gitem>
            <gitem id="Validated">
               <label>Class Validated</label>
               <def>
                  <p>Items and properties which will be present for
validating processors, but for which support by <emph>non-</emph>validating processors is
implementation-defined.  Non-validating processors <rfc2119>must</rfc2119> document whether they
provide this information to applications or not.  For the definition of
<kw>implementation-defined</kw>, and the contrasting term
<kw>implementation-determined</kw>, see <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                               href="http://www.w3.org/TR/xpath20/#dt-implementation-defined"
                               xlink:type="simple"
                               xlink:show="new"
                               xlink:actuate="onRequest">the XPath 2.0 specification</xspecref>
                  </p>
               </def>
            </gitem>
            <gitem id="ImplDef">
               <label>Class ImplDef</label>
               <def>
                  <p>Items and properties for which support is
implementation-defined.  Processors <rfc2119>must</rfc2119> document whether they
provide this information to applications or not.</p>
               </def>
            </gitem>
         </glist>
         <p>The tabulation which follows defines the information classes by
enumerating their membership in terms of information items and their
properties—each class contains all and only those items and properties
against which its name appears below.</p>
         <glist>
            <gitem>
               <label>Document Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[children]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="ImplDef">ImplDef</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[document element]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[notations]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[unparsed entities]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[base URI]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[character encoding scheme]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[standalone]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[version]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[all declarations processed]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Element Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[namespace name]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[local name]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[prefix]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[children]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[attributes]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[namespace attributes]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[in-scope namespaces]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[base URI]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[parent]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Attribute Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[namespace name]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[local name]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[prefix]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[normalized value]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[specified]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[attribute type]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[references] to Element Information Items, i.e. for attributes of types IDREF and IDREFS</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[references] to Notation and Unparsed Entity Information Items, i.e. for attributes of types ENTITY, ENTITIES and NOTATION</td>
                           <td rowspan="1" colspan="1">
                              <termref def="ImplDef">ImplDef</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[owner element]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Processing Instruction Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[target]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[content]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[base URI]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[notation]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="ImplDef">ImplDef</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[parent]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Unexpanded Entity Reference Information Item</label>
               <def>
                  <note>
                     <p>This type of information item will not occur at all if <code>standalone="yes"</code>
                     </p>
                  </note>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Signal">Signal</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">
                              <emph>all properties</emph>
                           </td>
                           <td rowspan="1" colspan="1">
                              <termref def="Signal">Signal</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Character Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[character code]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[element content whitespace]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Validated">Validated</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[parent]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Comment Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[content]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[parent]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Document Type Declaration Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="ImplDef">ImplDef</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">
                              <emph>all properties</emph>
                           </td>
                           <td rowspan="1" colspan="1">
                              <termref def="ImplDef">ImplDef</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Unparsed Entity Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">
                              <emph>all properties</emph>
                           </td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Notation Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">
                              <emph>all properties</emph>
                           </td>
                           <td rowspan="1" colspan="1">
                              <termref def="Extended">Extended</termref>, <termref def="Decl">Decl</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
            <gitem>
               <label>Namespace Information Item</label>
               <def>
                  <table width="100%">
                     <col width="30%" span="1"/>
                     <tbody>
                        <tr>
                           <td rowspan="1" colspan="1">the item itself</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[prefix]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                        <tr>
                           <td rowspan="1" colspan="1">[namespace name]</td>
                           <td rowspan="1" colspan="1">
                              <termref def="Core">Core</termref>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </def>
            </gitem>
         </glist>
      </div1>
      <div1 id="invariants">
         <head>Relations and Invariants</head>
         <p>
            <phrase>Whenever a
document is processed</phrase> in conformance with one of the profiles defined
above, the information made available to applications  will
be guaranteed to have certain properties. The relation between the profiles and information classes
defined above is summarized in the illustration below <phrase diff="add">(<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="xmlprocprofiles1.png"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">PNG</loc>,<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="xmlprocprofiles1.svg"
                    xlink:type="simple"
                    xlink:show="replace"
                    xlink:actuate="onRequest">SVG</loc>)</phrase>, then the sub-sections which follow describe
this in terms of invariants with respect to the information made available.</p>
         <graphic xmlns:xlink="http://www.w3.org/1999/xlink" source="xmlprocprofiles1.png"
                  alt="Venn diagram of profiles and classes"
                  xlink:type="simple"
                  xlink:show="embed"
                  xlink:actuate="onLoad"/>
         <p diff="add">Note: in an effort to maintain consistent
relationships in the diagram, the label for the inner-most circle,
around “Full Profile”, has been omitted. It should be read as if it was
labeled “Perform XInclude processing”.
</p>
         <div2 id="within_profile_invariants">
            <head>Information invariants within a given profile</head>
            <p>Every instance of processing a given namespace-well-formed XML
document in conformance with the
<emph>same</emph> profile will make available
exactly the same information with respect to the information items and
properties which
that profile is required to provide accurately, as tabulated above.</p>
         </div2>
         <div2 id="between_profile_variants">
            <head>Information variation between profiles</head>
            <p>In comparing two cases when a given namespace-well-formed XML
document is processed in conformance with
two <emph>different</emph> profiles, the information made available will in some cases (depending on
the specifics of the document in question) differ with repect to the following information items and
properties (leaving aside the items and
properties classified as implementation-defined above):</p>
            <div3 id="min_variants">
               <head>Between basic and richer profiles</head>
               <glist>
                  <gitem>
                     <label>Attribute Information Items</label>
                     <def>
                        <p>
[normalized value],
[attribute type],
[references]—These properties may vary for <code>xml:id</code> attributes
</p>
                     </def>
                  </gitem>
               </glist>
               <p>And all the differences listed in the next two sections.</p>
            </div3>
            <div3 id="id_variants">
               <head>Between id and richer profiles</head>
               <p>Where an id processor reports an Unexpanded Entity
Reference, richer ones will report the entity expansion, that is, they will report
some number of information items and their associated properties.  For this reason,
the information reported from an id processor may differ from that reported by
a processor conforming to a richer profile with respect to any or all of
Element, Attribute, Character, Comment, Namespace, Processing Instruction and
Unexpanded Entity Reference Information Items.</p>
               <glist>
                  <gitem>
                     <label>Attribute Information Items</label>
                     <def>
                        <p>
                           <phrase>With</phrase> respect to [normalized value],
[specified],
[attribute type] and
[references] where an id processor has not processed the relevant
declaration, but a richer one has.</p>
                     </def>
                  </gitem>
               </glist>
               <p>And all the differences listed in the next section.</p>
            </div3>
            <div3 id="modest_variants">
               <head>Between external declarations and full profiles</head>
               <p>Parallel to the case for expanding entity references in the previous
section, XInclude processing in conformance with the full profile may replace
some (XInclude) Element Information Items reported by processing in conformance
to other profiles with some amount of different
information, corresponding to Element, Attribute, Character, Comment,
Namespace and Processing Instruction Information Items.</p>
            </div3>
         </div2>
      </div1>
      <div1 id="otherProfiles">
         <head>Other profiles (non-normative)</head>
         <p>The profiles defined here can be used as a starting point for the definition of further profiles.  For example, the media type registrations for stylesheet languages applicable to XML such as <code>application/xslt+xml</code> or <code>text/css</code> might define a profile specifying appropriate <code>&lt;?xml-stylesheet type="[their media type]" . . .?&gt;</code> processing in addition to the processing required by <specref ref="idProfile"/>.</p>
      </div1>
      <div1 id="conformance">
         <head>Conformance</head>
         <p>Conformance to this specification means conformance by XML processors to profiles, as specified in <specref ref="profiles"/>.</p>
         <p>Which profile or profiles an XML processor conforms to may depend on how it is configured.  The conformance conditions for any specific
 processor configuration with respect to each profile are specified in the
corresponding sub-section of <specref ref="profiles"/>.</p>
         <p>Accordingly, any specification which references this one
normatively
is recommended to do so in terms such as "Conforming implementations
<rfc2119>must</rfc2119> process XML documents and make information available as
required by the <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                      href="http://www.w3.org/TR/xml-proc-profiles/#idProfile"
                      xlink:type="simple"
                      xlink:show="new"
                      xlink:actuate="onRequest">id
XML processor profile</xspecref>."</p>
      </div1>
      <div1 id="validation">
         <head>Validation (Non-normative)</head>
         <p>Specifying desired information outcomes is not sufficient to completely
determine XML processor behaviour.  In particular, if validation is performed
and errors detected, the result may be no outcome at all.</p>
         <p>A range of schema languages and approaches to validation
exist.  Some may provide for additional information items and/or properties
which are not addressed by this specification.  Also, the validation-dependent   [element content whitespace] property of Character Information Items
may only be
reliably provided in conjunction with some approaches
to validation, specifically DTD validation.</p>
         <p>Furthermore, not all of the profiles defined above <emph>can</emph> be combined with all forms of validation:  in particular, DTD
validation requires that all <xspecref xmlns:xlink="http://www.w3.org/1999/xlink"
                      href="http://www.w3.org/TR/xml/#dt-extmkpdecl"
                      xlink:type="simple"
                      xlink:show="new"
                      xlink:actuate="onRequest">external markup declarations</xspecref> be read and processed, and so cannot be required in conjunction with <specref ref="basicProfile"/> or <specref ref="idProfile"/>.</p>
         <p>Accordingly, specifications referencing this one should also specify
whether validation is forbidden, optional or required, with respect to which
schema language(s) with what validation control settings, if
any<phrase>.  If</phrase> the <specref ref="fullProfile"/> is involved,
careful consideration is required as to whether validation is to happen before XInclude processing, or after, or both.</p>
      </div1>
   </body>
   <back>
      <div1 id="references">
         <head>References</head>
         <div2 id="normative-references">
            <head>Normative References</head>
            <blist>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml-infoset"
                     key="XML Information Set"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml-infoset/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XML Information Set</titleref>,
    World Wide Web Consortium.  Most recent edition (the second) is dated
04 Feb 2004, John Cowan and Richard Tobin, Editors.
    The <loc href="http://www.w3.org/TR/xml-infoset/" xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
    is available at http://www.w3.org/TR/xml-infoset/.
  </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="RFC2119" key="RFC 2119"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.ietf.org/rfc/rfc2119.txt" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">RFC 2119: Key words for use in RFCs to Indicate Requirement Levels</titleref>.
  <emph>Internet Engineering Task Force, 1997.</emph>
               </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="RFC3986" key="RFC 3986"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.ietf.org/rfc/rfc3986.txt" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">RFC 3986: Uniform Resource Identifier (URI): Generic Syntax</titleref>.
  <emph>Internet Engineering Task Force, 2005.</emph>
               </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xproc"
                     key="XProc: An XML Pipeline Language"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xproc/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XProc: An XML Pipeline Language</titleref>,
     Norman Walsh, Alex Milowski, and Henry S. Thompson, Editors.
     World Wide Web Consortium, 9 March 2010.
     This version is http://www.w3.org/TR/2010/REC-xproc-20100511/.
     The <loc href="http://www.w3.org/TR/xproc/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xproc/.
   </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xpath2" key="XPath 2.0"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xpath20/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XML Path Language (XPath) 2.0
(Second Edition)</titleref>, Anders Berglund et al. Editors.  World Wide Web
Consortium, 14 December 2010.  This version is
http://www.w3.org/TR/2010/REC-xpath20-20101214/.  The <loc href="http://www.w3.org/TR/xpath20/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc> is available at http://www.w3.org/TR/xpath20/.</bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml-id" key="xml:id Version 1.0"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml-id/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">xml:id Version 1.0</titleref>,
    Norman Walsh, Daniel Veillard, and Jonathan Marsh, Editors.
    World Wide Web Consortium, 09 Sep 2005.
    This version is http://www.w3.org/TR/2005/REC-xml-id-20050909/.
    The <loc href="http://www.w3.org/TR/xml-id/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
    is available at http://www.w3.org/TR/xml-id/.
  </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xinclude"
                     key="XML Inclusions (XInclude) Version 1.0 (Second Edition)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xinclude/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XML Inclusions (XInclude) Version 1.0 (Second Edition)</titleref>,
    David Orchard, Jonathan Marsh, and Daniel Veillard, Editors.
    World Wide Web Consortium, 15 Nov 2006.
    This version is http://www.w3.org/TR/2006/REC-xinclude-20061115/.
    The <loc href="http://www.w3.org/TR/xinclude/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
    is available at http://www.w3.org/TR/xinclude/.</bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml"
                     key="Extensible Markup Language (XML) 1.0 (Fifth Edition)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">Extensible Markup Language (XML) 1.0 (Fifth Edition)</titleref>,
     Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, <emph>et. al.</emph>, Editors.
     World Wide Web Consortium, 28 Nov 2008.
     This version is http://www.w3.org/TR/2008/REC-xml-20081126/.
     The <loc href="http://www.w3.org/TR/xml/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xml/.
   </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml11"
                     key="Extensible Markup Language (XML) 1.1 (Second Edition)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml11/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">Extensible Markup Language (XML) 1.1 (Second Edition)</titleref>,
     Tim Bray, John Cowan, Jean Paoli, <emph>et. al.</emph>, Editors.
     World Wide Web Consortium, 16 Aug 2006.
     This version is http://www.w3.org/TR/2006/REC-xml11-20060816/.
     The <loc href="http://www.w3.org/TR/xml11/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xml11/.
   </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml-names"
                     key="Namespaces in XML 1.0 (Third Edition)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml-names/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">Namespaces in
XML 1.0 (Third Edition)</titleref>, Tim Bray, Dave Hollander, Richard
Tobin, and Andrew Layman, Editors. World Wide Web Consortium,
8 Dec 2009. This version is
http://www.w3.org/TR/2009/REC-xml-names-20091208/. The <loc href="http://www.w3.org/TR/xml-names/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc> is available
at http://www.w3.org/TR/xml-names/.</bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml-names11"
                     key="Namespaces in XML 1.1 (Second Edition)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xml-names11/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">Namespaces in XML 1.1 (Second Edition)</titleref>, Tim Bray, Dave Hollander, Andrew Layman, and Richard Tobin, Editors. World Wide Web Consortium, 16 Aug 2006. This version is http://www.w3.org/TR/2006/REC-xml-names11-20060816/. The <loc href="http://www.w3.org/TR/xml-names11/" xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc> is available at http://www.w3.org/TR/xml-names11/.</bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xml-base" key="XML Base"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xmlbase/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XML Base (Second Edition)</titleref>,
     Jonathan Marsh, Editor. World Wide Web Consortium, 28 January 2009.
     This version is http://www.w3.org/TR/2009/REC-xmlbase-20090128/.
     The <loc href="http://www.w3.org/TR/xmlbase/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xmlbase/.
   </bibl>
            </blist>
         </div2>
         <div2 id="non-normative-references">
            <head>Non-normative References</head>
            <blist>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xpath"
                     key="XML Path Language (XPath) Version 1.0"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xpath/" xlink:type="simple" xlink:show="new"
                            xlink:actuate="onRequest">XML Path Language (XPath) Version 1.0</titleref>,
     James Clark and Steven DeRose, Editors.
     World Wide Web Consortium, 16 Nov 1999.
     This version is http://www.w3.org/TR/1999/REC-xpath-19991116/.
     The <loc href="http://www.w3.org/TR/xpath/" xlink:type="simple" xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xpath/.
   </bibl>
               <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="xpath-datamodel"
                     key="XQuery 1.0 and XPath 2.0 Data Model (XDM)"
                     xlink:type="simple"
                     xlink:show="replace"
                     xlink:actuate="onRequest">
                  <titleref href="http://www.w3.org/TR/xpath-datamodel/" xlink:type="simple"
                            xlink:show="new"
                            xlink:actuate="onRequest">XQuery 1.0 and XPath 2.0 Data Model (XDM)</titleref>,
     Ashok Malhotra, Jonathan Marsh, Norman Walsh, <emph>et al.</emph>, Editors.
     World Wide Web Consortium, 14 Dec 2010.
     This version is http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/.
     The <loc href="http://www.w3.org/TR/xpath-datamodel/" xlink:type="simple"
                       xlink:show="replace"
                       xlink:actuate="onRequest">latest version</loc>
     is available at http://www.w3.org/TR/xpath-datamodel/.
   </bibl>
            </blist>
         </div2>
      </div1>
   </back>
</spec>