<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="diffspec.xsl"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec-v210.dtd" [
<!ENTITY year "2009">
<!ENTITY month "January">
<!ENTITY MM "01">
<!ENTITY day "28">
<!ENTITY DD "28">
<!ENTITY internalXMLBase "http://www.w3.org/XML/Group/&year;/&MM;/xmlbase-&year;&MM;&DD;">
<!ENTITY externalXMLBase "http://www.w3.org/TR/&year;/REC-xmlbase-&year;&MM;&DD;">
<!--
<!ENTITY externalXMLBase "http://www.w3.org/XML/&year;/&MM;/xmlbase-2e">
-->
<!ENTITY XMLBase "&externalXMLBase;">
<!ENTITY LatestXMLBase "http://www.w3.org/TR/xmlbase">
]>
<spec w3c-doctype="rec">
<header>
  <title>XML Base (Second Edition)</title>
  <w3c-designation>xml-base-&year;&MM;&DD;</w3c-designation>
  <w3c-doctype>W3C Recommendation</w3c-doctype>
  <pubdate><day>&day;</day><month>&month;</month><year>&year;</year></pubdate>
  <publoc>
    <loc href="&XMLBase;/">&XMLBase;/</loc>
  </publoc>
  <altlocs>
    <loc role="available-format" href="&XMLBase;/Overview-review.html">HTML with diff markup</loc>
    <loc role="available-format" href="&XMLBase;/Overview.xml">XML</loc>
  </altlocs>
  <prevlocs>
    <loc href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">http://www.w3.org/TR/2001/REC-xmlbase-20010627/</loc>
    <loc href="http://www.w3.org/TR/2008/PER-xmlbase-20080320/">http://www.w3.org/TR/2008/PER-xmlbase-20080320/</loc>
<!-- 
    <loc href="http://www.w3.org/TR/2006/PER-xmlbase-20061220/">http://www.w3.org/TR/2006/PER-xmlbase-20061220/</loc>
    <loc href="http://www.w3.org/TR/2000/PR-xmlbase-20001220/">http://www.w3.org/TR/2000/PR-xmlbase-20001220/</loc>
    <loc href="http://www.w3.org/TR/2000/CR-xmlbase-20000908">http://www.w3.org/TR/2000/CR-xmlbase-20000908</loc>
    <loc href="http://www.w3.org/TR/2000/WD-xmlbase-20000607">http://www.w3.org/TR/2000/WD-xmlbase-20000607</loc>
    <loc href="http://www.w3.org/TR/2000/WD-xmlbase-20000221">http://www.w3.org/TR/2000/WD-xmlbase-20000221</loc>
    <loc href="http://www.w3.org/TR/1999/WD-xmlbase-19991220">http://www.w3.org/TR/1999/WD-xmlbase-19991220</loc>-->
  </prevlocs>
  <latestloc>
    <loc href="&LatestXMLBase;/">&LatestXMLBase;/</loc>
  </latestloc>
  <authlist>
  <author>
    <name>Jonathan Marsh</name>
    <affiliation>Microsoft</affiliation>
    <email href="mailto:jmarsh@microsoft.com">jmarsh@microsoft.com</email>
  </author>
  <author diff="add">
    <name>Richard Tobin</name>
    <affiliation>University of Edinburgh</affiliation>
    <email href="mailto:richard@inf.ed.ac.uk">richard@inf.ed.ac.uk</email>
  </author>
  </authlist>
  <errataloc href="http://www.w3.org/2009/01/xmlbase-errata"/>
  <translationloc href="http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase"/>

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

<p>
This document has been produced by the
<loc href="http://www.w3.org/XML/Core/">W3C XML Core Working Group</loc>
as part of the
<loc href="http://www.w3.org/XML/Activity.html">W3C XML Activity</loc>.
The English version of this specification is the only normative version.
However, for translations of this document, see 
<loc href="http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase">
http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase</loc>
</p>

<p>
This document is an Edited Recommendation of the W3C. 
It supersedes the previous
<loc href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">W3C Recommendation
of 27 June 2001</loc>.
This second edition is not a new version of XML Base;
its purpose is to clarify a number of issues that
have become apparent since the first edition was published.
Some of these were first published as separate errata
(<loc href="http://www.w3.org/2001/06/xmlbase-errata">
http://www.w3.org/2001/06/xmlbase-errata</loc>),
others were published in a public editor's draft in November 2006
(<loc href="http://www.w3.org/XML/2006/11/xmlbase-2e/Overview.html">http://www.w3.org/XML/2006/11/xmlbase-2e/Overview.html</loc>),
and a PER in December 2006
(<loc href="http://www.w3.org/TR/2006/PER-xmlbase-20061220/">http://www.w3.org/TR/2006/PER-xmlbase-20061220/</loc>).
The changes are summarized in an
<loc href="#changes">appendix</loc>.
</p>

<p>
Please report errors in this document to the public mailing list
<loc href="mailto:www-xml-linking-comments@w3.org">www-xml-linking-comments@w3.org</loc>;
public
<loc href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/">archives</loc>
are available.
</p>

<p>
There is no implementation report or test suite for this specification, but
there is a document describing
<loc href="http://www.w3.org/XML/2006/12/xmlbase-testing.html">methods of
testing XML Base conformance</loc>.
</p>

<p>
This document has been reviewed by W3C Members, by software
developers, and by other W3C groups and interested parties, and is
endorsed by the Director as a W3C Recommendation. It is a stable
document and may be used as reference material or cited from another
document. W3C's role in making the Recommendation is to draw attention
to the specification and to promote its widespread deployment. This
enhances the functionality and interoperability of the Web.
</p>

<p>
This document is governed by the
<loc href="http://www.w3.org/TR/2002/NOTE-patent-practice-20020124">24 January 2002 CPP</loc>
as amended by the 
<loc href="http://www.w3.org/2004/02/05-pp-transition">W3C Patent Policy Transition Procedure</loc>.
W3C maintains a
<loc href="http://www.w3.org/2004/01/pp-impl/18796/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 href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
Essential Claim(s)</loc>
must 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>

   </status>

  <abstract>
    <p>This document 
    <phrase diff="del">proposes</phrase>
    <phrase diff="add">describes</phrase>
    a facility, similar to that of HTML BASE, 
    for defining base URIs for parts of XML documents.</p>
  </abstract>

  <langusage>
    <language id="EN">English</language>
  </langusage>
  <revisiondesc>
    <slist>
      <sitem>November 11, 1999: Created v0.1.</sitem>
      <sitem>November 18, 1999: v0.2 Changed xml:base to xbase:base.</sitem>
      <sitem>December 2, 1999: v0.3 Changed xbase:base back to xml:base.</sitem>
      <sitem>December 3, 1999: v0.4 Minor editorial changes.</sitem>
      <sitem>February 10, 2000: v0.6 Removed remaining issues.</sitem>
      <sitem>May 24, 2000: v0.7 Integrated Disposition of Comments 
        resolutions, prepared for second Last Call.</sitem>
      <sitem>August 30, 2000: Final modifications requested by W3C
        staff for CR.</sitem>
    </slist>
  </revisiondesc>
</header>

<body>
<!--
<div1 id="notes" diff="add">
 <head>Editor's Notes</head>
 <p>
The changes planned in this revision are:
 </p>
  <olist>
   <item>
   <p>
switch the definition of URI reference from RFC2396 to 3986;
   </p>
   </item>
   <item>
   <p>
redescribe xml:base attributes as XML resource identifiers (a
new term introduced in XLink 1.1);
   </p>
   </item>
   <item>
   <p>
encourage implementations to return base "URIs" without escaping
non-URI characters;
   </p>
   </item>
   <item>
   <p>
clarify the meaning of xml:base="" and xml:base="#frag";
   </p>
   </item>
   <item>
   <p>
incorporate the existing errata
(see <loc href="http://www.w3.org/2001/06/xmlbase-errata">
http://www.w3.org/2001/06/xmlbase-errata</loc>).

   </p>
   </item>
  </olist>
</div1>
-->
<div1 id="introduction">
  <head>Introduction</head>

  <p>The XML Linking Language <bibref ref="XLink"/> defines Extensible 
  Markup Language (XML) 1.0 <bibref ref="XML"/> constructs to describe 
  links between resources.  One of the stated requirements on XLink is to support HTML 
  <bibref ref="HTML40"/> linking constructs in a generic way.  The HTML BASE element is 
  one such construct which the XLink Working Group has considered.  BASE allows authors 
  to explicitly specify a document's base URI for the purpose of resolving relative URIs  
  in links to external images, applets, form-processing programs, style sheets, and so 
  on.</p>
  
  <p>This document describes a mechanism for providing base URI services to XLink, but 
  as a modular specification so that other XML applications benefiting from additional 
  control over relative URIs but not built upon XLink can also make use of it.  The 
  syntax consists of a single XML attribute named <att>xml:base</att>.</p>

  <p>The deployment of XML Base is through normative reference by new 
  specifications, for example XLink and the XML Infoset.  Applications 
  and specifications built upon these new technologies will natively 
  support XML Base.  The behavior of <att>xml:base</att> attributes 
  in applications based on specifications that do not have direct or
  indirect normative reference to XML Base is undefined.</p>

  <p diff="add">
  This specification does not attempt to specify which text strings in
  a document are to be interpreted as URIs.  That is the responsibility of
  each XML vocabulary.  The question addressed by this specification
  is: given a relative URI in an XML document, what base URI is
  it resolved against?
  </p>

  <p diff="add">
  It is expected that a future RFC for XML Media Types will specify XML Base
  as the mechanism for establishing base URIs in the media types it defines.
  </p>
</div1>

<div1 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 terms <term>base URI</term> and <term>relative URI</term> 
  are used in this specification as they are defined in <bibref diff="chg" ref="RFC3986"/>.</p>
</div1>

<div1 id="syntax">
  <head><att>xml:base</att> Attribute</head>

  <p>The attribute <att>xml:base </att> <termref def="dt-must">may</termref> be inserted in XML documents to 
  specify a base URI other than the base URI of the document or external 
  entity.  The value of this attribute is interpreted as
  <phrase diff="del">
  a URI Reference as 
  defined in RFC 2396 <bibref ref="RFC2396"/>, after processing
  according to Section 3.1
  </phrase>
  <phrase diff="add">
  a Legacy Extended IRI (LEIRI) as defined in 
  the W3C Note "Legacy extended IRIs for XML resource identification"
  <bibref ref="LEIRI"/>
  </phrase>.</p>

  <p>In namespace-aware XML processors, the "xml" prefix is bound to the namespace 
  name <code>http://www.w3.org/XML/1998/namespace</code> as described in Namespaces in XML
  <bibref ref="XMLNS"/>.  Note that <att>xml:base</att> can be still used by 
  non-namespace-aware processors.</p>

  <p>An example of <att>xml:base</att> in a simple document containing
  XLinks follows.  XLink normatively references XML Base for interpretation
  of relative URI references in <att>xlink:href</att> attributes.</p>
  
  <eg><![CDATA[<?xml version="1.0"?>
<doc xml:base="http://example.org/today/"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <paragraph>See <link xlink:type="simple" xlink:href="new.xml">what's
      new</link>!</paragraph>
    <paragraph>Check out the hot picks of the day!</paragraph>
    <olist xml:base="/hotpicks/">
      <item>
        <link xlink:type="simple" xlink:href="pick1.xml">Hot Pick #1</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick2.xml">Hot Pick #2</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick3.xml">Hot Pick #3</link>
      </item>
    </olist>
  </body>
</doc>]]></eg>

  <p>The URIs in this example resolve to full URIs as follows:</p>
  <ulist spacing="compact">
    <item><p>"what's new"  resolves to the URI "http://example.org/today/new.xml"</p></item>
    <item><p>"Hot Pick #1"  resolves to the URI "http://example.org/hotpicks/pick1.xml"</p></item>
    <item><p>"Hot Pick #2"  resolves to the URI "http://example.org/hotpicks/pick2.xml"</p></item>
    <item><p>"Hot Pick #3"  resolves to the URI "http://example.org/hotpicks/pick3.xml"</p></item>
  </ulist>
 
  <note diff="add">
  <p>
  This specification does not give the xml:base attribute any special status as
  far as XML validity is concerned.  In a valid document the attribute must be
  declared in the DTD, and similar considerations apply to other schema languages.
  </p>
  </note>

<div2 id="escaping">
  <head>URI Reference Encoding and Escaping</head>
  
  <p diff="del">The set of characters allowed in <att>xml:base</att> attributes
  is the same as for XML, namely <bibref ref="Unicode"/>. However, some 
  Unicode characters are disallowed from URI references, and thus 
  processors <termref def="dt-must">must</termref> encode and escape these 
  characters to obtain a valid URI reference from the attribute value.</p>

  <p diff="del">The disallowed characters include all non-ASCII characters, plus the 
  excluded characters listed in Section 2.4 of <bibref ref="RFC2396"/>, 
  except for the number sign (#) and percent sign (%) characters and the 
  square bracket characters re-allowed in <bibref ref="RFC2732"/>.
  Disallowed characters <termref def="dt-must">must</termref> be escaped as follows:</p>

  <olist diff="del">
    <item><p>Each disallowed character is converted to UTF-8 <bibref ref="RFC2279"/>
      as one or more bytes.</p></item>
    <item><p>Any bytes corresponding to a disallowed character are escaped 
      with the URI escaping mechanism (that is, converted to %HH, where HH 
      is the hexadecimal notation of the byte value).</p></item>
    <item><p>The original character is replaced by the resulting character
      sequence.</p></item>
  </olist>

 <p diff="add">
 The value of an <att>xml:base</att> attribute is a 
 Legacy Extended IRI (LEIRI)
 and may contain characters not allowed in URIs.
 (However, some characters allowed in LEIRIs are not legal XML characters, and
 cannot therefore appear in <att>xml:base</att> values.)
 </p>
 

<p diff="add">
 In accordance with the principle
 that percent-encoding must occur as late as possible in the processing chain,
 applications which provide access to the base URI of an element
 <termref def="dt-must">should</termref>
 calculate and return the value without escaping.
 </p>

 <p diff="add">
 In the example below, the base URI of element <el>e2</el> should be
 returned as <attval>http://example.org/wine/ros&#xe9;</attval>.
 </p>

<eg diff="add">
&lt;?xml version="1.0"?>
&lt;e1 xml:base="http://example.org/wine/">
  &lt;e2 xml:base="ros&#xe9;"/>
&lt;/e1>
</eg>

</div2>

</div1>

<div1 id="resolution">
  <head>Resolving Relative URIs</head>

<div2 id="rfc3986">
  <head diff="chg">Relation to RFC 3986</head>
  <p>
  <phrase diff="chg">RFC 3986 <bibref ref="RFC3986"/></phrase>
  provides for base URI information to be
  embedded within a document.  The rules for determining the base URI can be 
  summarized as follows (highest priority to lowest):</p>
      
  <olist>
    <item><p>The base URI is embedded in the document's content.</p></item>
    <item><p>The base URI is that of the encapsulating entity (message, 
      document, or none).</p></item>
    <item><p>The base URI is the URI used to retrieve the entity.</p></item>
    <item><p>The base URI is defined by the context of the application.</p></item>
  </olist>
  
  <note><p>The term "entity" in points #2 and #3 above uses the
  <phrase diff="chg">RFC 3986</phrase>
  meaning of the term.  Elsewhere in this document the term "entity"
  is used in the XML sense.</p></note>
  
  <p>This document specifies the details of rule #1 for embedding
  base URI information in the specific case of XML documents.</p>
</div2>
  
<div2 id="granularity">
  <head>Granularity of base URI information</head>
  
  <p>Relative URIs appearing in an XML document are always resolved 
  relative to either an element, a document entity, or an external
  entity.  There is no provision for finer granularity, such as 
  per-attribute, per-character, or per-entity base information.
  Neither internal entities, whether declared in the internal 
  subset or in an external DTD, nor freestanding text (text not 
  enclosed in an element) in an external entity, are considered 
  to set a base URI separate from the base URI in scope for the 
  entity reference.</p>

  <p>The base URI of a document entity or an external entity is
  determined by
  <phrase diff="chg">RFC 3986</phrase>
  rules, namely, that the base URI is
  the URI used to retrieve the document entity or external 
  entity.</p>
    
  <p>The base URI of an element is:</p>
  
  <olist>
    <item>
      <p>the base URI specified by an <att>xml:base</att> attribute 
      on the element, if one exists, otherwise</p>
    </item>
    <item>
      <p>the base URI of the element's parent element within the 
      document <phrase diff="add">entity</phrase> or external entity, if one exists, otherwise</p>
    </item>
    <item>
      <p>the base URI of the document entity or external entity 
      containing the element.</p>
    </item>
  </olist>

  <note diff="add">
   <p>
    It follows that the base URI specified by an <att>xml:base</att> attribute
    is inherited by descendant elements within the same entity until another
    element with an <att>xml:base</att> attribute is encountered.
   </p>
  </note>

  <p diff="add">
The base URI of an element bearing an <att>xml:base</att> attribute with a value
that is not a valid Legacy Extended IRI is application dependent.
  </p>

</div2>
  
<div2 id="matching">
  <head>Matching URIs with base URIs</head>

  <p>The base URI corresponding to a given relative URI appearing 
  in an XML document is determined as follows:</p>
  
  <ulist>
    <item>
      <p>The base URI for a URI reference appearing in text content 
      is the base URI of the element containing the text.</p>
    </item>
    <item>
      <p>The base URI for a URI reference appearing in an 
      <att>xml:base</att> attribute is the base URI of the parent 
      element of the element bearing the <att>xml:base</att> 
      attribute, if one exists within the document entity or
      external entity, otherwise the base URI of the
      document entity or external entity containing the element.</p>
    </item>
    <item>
      <p>The base URI for a URI reference appearing in any other 
      attribute value, including default attribute values, is the 
      base URI of the element bearing the attribute.</p>
    </item>
    <item>
      <p>The base URI for a URI reference appearing in the content 
      of a processing instruction is the base URI of the parent
      element of the processing instruction, if one exists within
      the document entity or external entity, otherwise the base 
      URI of the document entity or external entity containing
      the processing instruction.</p>
    </item>
  </ulist>

  <note diff="del">
    <p>The presence of <att>xml:base</att> attributes might 
    lead to unexpected results in the case where the attribute value 
    is provided, not directly in the XML document entity, but via a 
    default attribute declared in an external entity. Such 
    declarations   might not be read by software which is based on
    a non-validating XML processor. Many XML applications fail to 
    require validating processors.  For correct operation with 
    such applications, <att>xml:base</att> values 
    <termref def="dt-must">should</termref>
    be provided either directly or via default attributes declared 
    in the internal subset of the DTD.</p>
  </note>

  <note diff="add">
   <p>
The presence of <att>xml:base</att> attributes might
lead to unexpected results in the case where the attribute value
is provided, not directly in the XML document entity, but via a
default attribute.
For instance, such a declaration in an external entity might
not be read by software which is based on
a non-validating XML processor. Defaulting attributes
through an external mechanism such as XML Schema may also lead to
unexpected results; even if a validating processor is used by the
application, the addition of defaulted attributes subsequent to
creation of the infoset can cause xml:base attributes to get out of
sync with the [base URI] infoset property. For these reasons, 
<att>xml:base</att> values
<termref def="dt-must">should</termref>
be provided either directly in the XML document instance
or via default attributes declared
in the internal subset of the DTD.
   </p>
  </note>

</div2>

<div2 diff="add" id="same-document">
  <head>Interpretation of same-document references</head>
  <p>
RFC 3986 defines certain relative URI references, in particular the
empty string and those of the form <code>#fragment</code>,
as <emph>same-document references</emph>.  Dereferencing
of same-document references is handled specially.  However, their use as
the value of an <att>xml:base</att> attribute does not involve
dereferencing, and XML Base processors should resolve them in
the usual way.  In particular, <code>xml:base=""</code> does not
reset the base URI to that of the containing document.
  </p>
  <note>
  <p>
Some existing processors <emph>do</emph> treat these <att>xml:base</att>
values as resetting the base URI to that of the containing document,
so the use of such values is strongly discouraged.
  </p>
  </note>
</div2>

</div1>

<div1 id="conformance">
  <head>Conformance</head>
  <p>An application conforms to XML Base if it calculates base URIs
  in accordance with the conditions set forth in this specification.</p>
</div1>

</body>

<back>
<div1 id="references">
<head>References</head>

<blist>

<bibl id="RFC2119" key="RFC 2119">
  <titleref href="http://www.ietf.org/rfc/rfc2119.txt">RFC 2119: Key words for use in RFCs to Indicate Requirement Levels</titleref>.
  <emph>Internet Engineering Task Force, 1997.</emph>
</bibl>

<bibl diff="del" id="RFC2279" key="RFC 2279">
  <titleref href="http://www.ietf.org/rfc/rfc2279.txt">RFC 2279: UTF-8, a transformation format of ISO 10646</titleref>.
  <emph>Internet Engineering Task Force, 1998.</emph>
</bibl>

<bibl diff="chg" id="RFC3986" key="RFC 3986">
  <titleref href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986: Uniform Resource Identifier (URI): Generic Syntax</titleref>.
  <emph>Internet Engineering Task Force, 2005.</emph>
</bibl>

<bibl diff="add" id="LEIRI" key="LEIRI">
  <titleref href="http://www.w3.org/TR/leiri/">Legacy extended IRIs for XML resource identification</titleref>.
  Henry S. Thompson, Richard Tobin, and Norman Walsh, editors.
  <emph>World Wide Web Consortium.</emph>
</bibl>

<bibl diff="del" id="RFC2732" key="RFC 2732">
  <titleref href="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732: Format for Literal IPv6 Addresses in URL's</titleref>.
  <emph>Internet Engineering Task Force, 1999.</emph>
</bibl>

<bibl diff="del" id="Unicode" key="Unicode">
  <titleref href="http://www.unicode.org/unicode/standard/standard.html">The Unicode Standard.</titleref>
  <emph>The Unicode Consortium.</emph>
</bibl>

<bibl diff="chg" id="XML" key="XML">
  <titleref href="http://www.w3.org/TR/xml/">Extensible Markup Language (XML) 1.0.</titleref>
  Tim Bray et al.
  <emph>World Wide Web Consortium.</emph>
</bibl>

<bibl diff="chg" id="XMLNS" key="XML Names">
  <titleref href="http://www.w3.org/TR/xml-names/">Namespaces in XML 1.0.</titleref>.
  Tim Bray et al.
  <emph>World Wide Web Consortium.</emph>
</bibl>

<!-- not needed now we use LEIRIs
<bibl id="XLink11" key="XLink11">
  <titleref href="http://www.w3.org/TR/xlink11">XML Linking Language (XLink) Version 1.1.</titleref>
  Steve DeRose, Eve Maler, David Orchard, and Norman Walsh, editors. 
  <emph>World Wide Web Consortium, 2006.</emph>
</bibl>
-->

</blist>
</div1>

<inform-div1 id="references2">
<head>References</head>

<blist>
<bibl id="HTML40" key="HTML 4.01">
  <titleref href="http://www.w3.org/TR/1999/REC-html401-19991224/">HTML 4.01 Specification</titleref>.
  Dave Raggett, Arnaud Le Hors, Ian Jacobs, editors.
  <emph>World Wide Web Consortium, 1999.</emph>
</bibl> 

<bibl id="XLink" key="XLink">
  <titleref href="http://www.w3.org/TR/2001/REC-xlink-20010627/">XML Linking Language (XLink).</titleref>
  Steve DeRose, Eve Maler, David Orchard, and Ben Trafford, editors. 
  <emph>World Wide Web Consortium, 2000.</emph>
</bibl>

<bibl id="XMLDT" key="XML Datatypes">
  <titleref href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">XML Schema Part 2: Datatypes.</titleref>
  Paul V. Biron, Ashok Malhotra, editors.
  <emph>World Wide Web Consortium Working Draft.</emph>
</bibl>

<bibl id="XHTML" key="XHTML">
  <titleref href="http://www.w3.org/TR/2000/REC-xhtml1-20000126/">XHTML(TM) 1.0: The Extensible HyperText Markup Language.</titleref>
  Steven Pemberton, et al.
  <emph>World Wide Web Consortium, 2000.</emph>
</bibl>

<bibl id="XMLIS" key="XML Infoset">
  <titleref href="http://www.w3.org/TR/2001/CR-xml-infoset-20010514/">XML Information Set</titleref>.
  John Cowan and Richard Tobin, editors.
  <emph>World Wide Web Consortium, 1999.</emph>
</bibl>

<bibl id="XPath" key="XPath">
  <titleref href="http://www.w3.org/TR/1999/REC-xpath-19991116">XML Path Language</titleref>
  James Clark and Steven DeRose, editors.
  <emph>World Wide Web Consortium, 1999.</emph>
</bibl>

<bibl id="XSLT" key="XSLT">
  <titleref href="http://www.w3.org/TR/1999/REC-xslt-19991116">XSL Transformations</titleref>.
  James Clark, editor.
  <emph>World Wide Web Consortium, 1999.</emph>
</bibl>

</blist>
</inform-div1>

<inform-div1 id="impacts">
  <head>Impacts on Other Standards</head>

  <p diff="add">This section has been deleted.</p>

  <p diff="del">XML Base defines a mechanism for embedding base URI information
  within an XML document.  It does not define a mechanism to recognize
  which content or attribute values might contain URIs.  This is only
  known by the specifications or applications assigning semantics to
  the vocabulary.</p>
  
  <p diff="del">It is the intention of XML Base that future specifications
  and revisions of XML vocabularies identify which parts of the XML 
  document are considered to be URIs, and provide normative reference 
  to this specification in order to ensure that relative URIs are 
  treated consistently across XML documents.</p>
  
  <p diff="del">The impacts of XML Base on other standards (as of the publication date
  of this document) are described below.</p>

  <ulist diff="del">
    <item>
      <p>XML 1.0 <bibref ref="XML"/> uses URI references in the system identifiers
      for external entities.  Since these declarations appear outside of the document
      element (in an internal subset or external DTD), the scoping rules for
      <att>xml:base</att> prevent these URIs from being affected by the value of 
      <att>xml:base</att>.</p>
    </item>
    
    <item>
      <p>The XML Infoset <bibref ref="XMLIS"/> defines the base URI property
      of element information items.  The latest Infoset specification 
      supports XML Base for purposes of determining the value 
      of this property.  Interfaces, applications, and specifications
      referencing this infoset property will support XML Base natively.</p>
    </item>
    
    <item>
      <p>Namespaces in XML <bibref ref="XMLNS"/> uses URI references, which as currently
      defined should not be resolved relative to the base URI defined by 
      <att>xml:base</att> for the purposes of namespace identification.  Higher level 
      processes which dereference namespace URIs are not covered by the namespaces specification
      and might at their option specify that <att>xml:base</att> is honored for the 
      purposes of fetching resources at those URIs.</p>
    </item>
    
	  <item>
	    <p>The XPath <bibref ref="XPath"/> data model preserves neither base
	    URI information nor the boundaries of external entities and thus is insufficient 
	    to support resolution of relative URI references within these entities to be 
	    resolved correctly.  This includes relative URI references in <att>xml:base</att> 
	    attributes.</p>
    </item>
    
    <item>
	    <p>The XSLT <bibref ref="XSLT"/> extensions to the XPath data model do provide
	    for base URI information to be retained, but defines this information in a way
	    that precludes support for XML Base.  Future XSLT versions might want to require 
	    support for XML Base.</p>
	  </item>
	  
	  <item>
	    <p>XML Schema Part 2: Datatypes <bibref ref="XMLDT"/> defines a <att>uriReference</att> primitive
	    datatype.  The XML Datatypes specification might want to require that applications 
	    recognizing this datatype and resolving such URIs be aware of XML Base.</p>
	  </item>
	  
	  <item>
	    <p>The XLink <bibref ref="XLink"/> specification requires support for 
	    XML Base.</p>
	  </item>
	  
	  <item>
	    <p>XHTML <bibref ref="XHTML"/> uses URI references beyond those expressible in
	    XLink.  These URI references might be resolved by an application relative to the 
	    base URI defined by XML Base.  The XHTML specification might want to describe 
	    their level of support for XML Base.</p>
	  </item>
	  
	  </ulist>
</inform-div1>

<inform-div1 id="changes" diff="add">
 <head>Changes since the first edition</head>
  <olist>
   <item>
   <p>
The published errata
(see <loc href="http://www.w3.org/2001/06/xmlbase-errata">
http://www.w3.org/2001/06/xmlbase-errata</loc>)
have been incorporated;
   </p>
   </item>
   <item>
   <p>
The definition of URI reference has been switched from RFC2396 to 3986;
   </p>
   </item>
   <item>
   <p>
The xml:base attribute has been redescribed as a 
Legacy Extended IRI,
but this does not change its syntax
(the December 2006 PER used
the term "XML Resource Identifier" which was to be defined in an XLink
revision, but that plan has been superseded by the definition of LEIRI
in the W3C Note);
   </p>
   </item>
   <item>
   <p>
Implementations are now encouraged to return base &#x201c;URIs&#x201d; without escaping
non-URI characters;
   </p>
   </item>
   <item>
   <p>
The meanings of xml:base="" and xml:base="#frag" have been clarified;
   </p>
   </item>
   <item>
   <p>
The expected reference to XML Base in the forthcoming XML Media Types RFC
(&#x201c;son of 3023&#x201d;) has been noted;
   </p>
   </item>
   <item>
   <p>
It has been clarified that normal validity rules apply to the xml:base attribute;
   </p>
   </item>
   <item>
   <p>
The out-of-date appendix describing effects on other standards has been removed;
   </p>
   </item>
   <item>
   <p>
Various minor editorial changes have been made.
   </p>
   </item>
  </olist>
</inform-div1>

</back>
</spec>
