<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="xmlspec.xsl"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.1//EN" "xmlspec.dtd" [
	<!ENTITY abstract 'The XPointer &scheme-phrase; is intended to be used with the XPointer Framework <bibref ref="xptr-framework"/> to allow basic addressing of XML elements.'>
	<!ENTITY day "25">
	<!ENTITY month "March">
	<!ENTITY monthno "03">
	<!ENTITY year "2003">
	<!ENTITY trpath "http://www.w3.org/TR/">
	<!ENTITY W3C-path "&trpath;&year;/">
	<!ENTITY doctype "REC">
	<!ENTITY shortname "element">
	<!ENTITY isodate "&year;&monthno;&day;">
	<!ENTITY schemename "element">
	<!ENTITY scheme-phrase "<code>&schemename;()</code> scheme">
	<!ENTITY media-types "one of <code>text/xml</code>, 
<code>application/xml</code>, 
<code>text/xml-external-parsed-entity</code>,
or <code>application/xml-external-parsed-entity</code>">
	<!ENTITY dirname "&W3C-path;&doctype;-xptr-&shortname;-&isodate;/">
	<!ENTITY xptr-framework-file "&W3C-path;&doctype;-xptr-framework-&isodate;/">
	<!ENTITY XML "http://www.w3.org/TR/REC-xml">
	<!ENTITY XMLNames "http://www.w3.org/TR/REC-xml-names/">
        <!-- override xmlspec.dtd -->
        <!ENTITY % header.mdl
        "title, subtitle?, version?, w3c-designation, w3c-doctype,
        pubdate, notice*, publoc, altlocs?, ((prevlocs, latestloc?) |
        (latestloc, prevlocs?))?, authlist, errataloc?, translationloc?, copyright?,
        ((status, abstract) | (abstract, status)), pubstmt?,
        sourcedesc?, langusage, revisiondesc">
        <!ELEMENT errataloc EMPTY>
        <!ATTLIST errataloc href CDATA #REQUIRED>
        <!ELEMENT translationloc EMPTY>
        <!ATTLIST translationloc href CDATA #REQUIRED>
        <!ENTITY % local.div.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.obj.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.entry.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.p.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.hdr.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.termdef.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.p.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.head.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.label.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.eg.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.termdef.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.bibl.pcd.mix " "> <!-- compensate for IE bug -->
        <!ENTITY % local.tech.pcd.mix " "> <!-- compensate for IE bug -->
]>
<spec w3c-doctype="rec">
	<header>
		<title>XPointer &schemename;() Scheme</title>
		<w3c-designation>&doctype;-xptr-&shortname;-&isodate;</w3c-designation>
		<w3c-doctype>W3C Recommendation</w3c-doctype>
		<pubdate>
			<day>&day;</day>
			<month>&month;</month>
			<year>&year;</year>
		</pubdate>
		<publoc>
			<loc href="&dirname;">&dirname;</loc>
		</publoc>
		<altlocs>
			<loc href="&dirname;xptr-&shortname;.xml">XML</loc>
		</altlocs>
		<latestloc>
			<loc href="&trpath;xptr-&shortname;/">&trpath;xptr-&shortname;/</loc>
		</latestloc>
		<prevlocs>
			<loc href="http://www.w3.org/TR/2002/PR-xptr-element-20021113/">http://www.w3.org/TR/2002/PR-xptr-element-20021113/</loc>
			<!--
			<loc href="http://www.w3.org/TR/2001/CR-xptr-20010911/">http://www.w3.org/TR/2001/CR-xptr-20010911/</loc>
-->
		</prevlocs>
		<authlist>
			<author>
				<name>Paul Grosso</name>
				<affiliation>Arbortext, Inc.</affiliation>
				<email href="mailto:paul@arbortext.com">paul@arbortext.com</email>
			</author>
			<author>
				<name>Eve Maler</name>
				<affiliation>Sun Microsystems</affiliation>
				<email href="mailto:eve.maler@sun.com">eve.maler@sun.com</email>
			</author>
			<author>
				<name>Jonathan Marsh</name>
				<affiliation>Microsoft</affiliation>
				<email href="mailto:jmarsh@microsoft.com">jmarsh@microsoft.com</email>
			</author>
			<author>
				<name>Norman Walsh</name>
				<affiliation>Sun Microsystems</affiliation>
				<email href="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</email>
			</author>
		</authlist>
  <errataloc href="http://www.w3.org/&year;/&monthno;/&doctype;-xptr-&isodate;-errata"/>
  <translationloc href="http://www.w3.org/&year;/&monthno;/xptr-translations"/>
		<abstract>
			<p>&abstract;</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. The latest status of this document series is maintained at the W3C.</emph></p>
			<p>This document is a <loc href="http://www.w3.org/Consortium/Process-20010719/#RecsW3C">Recommendation (REC)</loc> of the W3C.	It has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference 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 has been produced by the <loc href="http://www.w3.org/XML/Linking">W3C XML Linking Working Group</loc> as part of the <loc href="http://www.w3.org/XML/Activity">XML Activity</loc>.  It is intended to address a subset of the original <loc href="http://www.w3.org/TR/NOTE-xptr-req">XPointer requirements</loc>, and to serve, along with the accompanying <loc href="http://www.w3.org/TR/xptr-framework/">XPointer Framework</loc> and <loc href="http://www.w3.org/TR/xptr-xmlns/">XPointer xmlns() Scheme</loc> specifications, as a part of a fragment identifier syntax for the XML Media types.</p>
			<p>Public comments on this Recommendation are welcome.  Please send them to
the public mailing list <loc href="mailto:www-xml-linking-comments@w3.org">www-xml-linking-comments@w3.org</loc> (<loc href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/">archive</loc>).</p>
			<p>Information about implementations relevant to this
specification and the accompanying <loc href="http://www.w3.org/TR/xptr-element/">XPointer element() Scheme</loc> and <loc href="http://www.w3.org/TR/xptr-xmlns/">XPointer xmlns() Scheme</loc> can be found in the <loc href="http://www.w3.org/XML/2002/10/LinkingImplementations.html">Implementation Report</loc>.</p>
			<p>There are patent disclosures and license commitments associated with
this Recommendation, which may be found on the <loc href="http://www.w3.org/2002/06/xptr_IPR_summary.html">XPointer IPR Statement</loc> page in conformance with <loc href="http://www.w3.org/Consortium/Process-20010719/#ipr">W3C policy</loc>.</p>
			<p>A list of current W3C Recommendations and other technical documents can
be found at <loc href="http://www.w3.org/TR/">http://www.w3.org/TR/</loc>.  W3C publications may be updated, replaced, or obsoleted by other documents at any time.</p>
		</status>
		<langusage>
			<language id="en">English</language>
			<language id="ebnf">Extended Backus-Naur Form (formal grammar)</language>
		</langusage>
       <revisiondesc><p>So out of date it's been dropped</p></revisiondesc>
	</header>
	<body>
		<div1 id="introduction">
			<head>Introduction</head>
			<p>&abstract;</p>
			<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 pointer part, scheme, XPointer processor, error, and namespace binding context are used in this specification as <xspecref href="&xptr-framework-file;#terminology">defined</xspecref> in the XPointer Framework specification.</p>
			<p>The formal grammar for the &scheme-phrase; is given using simple Extended Backus-Naur Form (EBNF) notation, as described in the XML Recommendation <bibref ref="XML"/>.</p>
		</div1>
		<div1 id="conformance">
			<head>Conformance </head>
			<p>This specification normatively depends on the XPointer Framework <bibref ref="xptr-framework"/> specification.</p>
			<p>XPointer processors supporting the &scheme-phrase; depend on the ability of applications to expose an XML resource as at least the XML Information Set <bibref ref="Infoset"/> and XML Schema <bibref ref="xsd"/> information items and properties listed in the XPointer Framework specification.</p>
			<p>Conforming XPointer processors claiming to support the &scheme-phrase; <termref def="dt-must">must</termref> conform to the behavior defined in this specification and <termref def="dt-must">may</termref> conform to additional XPointer scheme specifications.</p>
		</div1>
		<div1 id="model">
			<head>Language and Processing</head>
			<p>This section describes the syntax and semantics of the &scheme-phrase; and the behavior of XPointer processors with respect to this scheme.</p>
			<p>The scheme name is <quote>&schemename;</quote>. The scheme data syntax is as follows; if scheme data in a pointer part with the &scheme-phrase; does not conform to the syntax defined in this section the pointer part does not identify a subresource.</p>
			<scrap>
				<head>element() Scheme Syntax</head>
				<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
					<prod id="NT-ElementSchemeData">
						<lhs>ElementSchemeData</lhs>
						<rhs>(<xnt href="&XMLNames;#NT-NCName">NCName</xnt>&#x20;<nt def="NT-ChildSequence">ChildSequence</nt>?) | <nt def="NT-ChildSequence">ChildSequence</nt>
						</rhs>
					</prod>
					<prod id="NT-ChildSequence">
						<lhs>ChildSequence</lhs>
						<rhs>('/' [1-9] [0-9]*)+</rhs>
					</prod>
				</prodgroup>
			</scrap>
			<p>The scheme data consists of either a <xnt href="&XMLNames;#NT-NCName">NCName</xnt> (as defined in the XML namespaces specification <bibref ref="XML-Names"/>) or a child sequence, or both.</p>
			<p>A <xnt href="&XMLNames;#NT-NCName">NCName</xnt> appearing alone identifies a single element exactly as it would in a shorthand pointer, as defined in the XPointer Framework <bibref ref="xptr-framework"/> specification, except that failure to identify an element results simply in no subresource being identified by this pointer part rather than an XPointer Framework error.</p>
			<p>For example, the following pointer part identifies the element with an ID (as defined in XPointer Framework) of <quote>intro</quote>:</p>
			<eg>element(intro)</eg>
			<p>A child sequence appearing alone identifies an element by means of stepwise navigation, which is directed by a sequence of integers separated by slashes (/); each integer <var>n</var> locates the <var>n</var>th child element of the previously located element. The integer <var>n</var> following the first slash locates the <var>n</var>th top-level element: either the unique document element (the <kw>[document element]</kw> property, if the resource is an XML document, in which case the integer is always 1) or one of potentially several root elements (the entity root element(s), if the resource is an external parsed entity). For example, assuming that the XML resource is a whole XML document, the following pointer part identifies the second child element inside the root element of the document:</p>
			<eg>element(/1/2)</eg>
			<p>A child sequence appearing after an <xnt href="&XMLNames;#NT-NCName">NCName</xnt> identifies an element by means of stepwise navigation, starting from the element located by the given name. For example, the following pointer part identifies an element by first locating the element identified by the value <attval>intro</attval>, then locating that element's third child element, then finally identifying that element's first child element:</p>
			<eg>element(intro/3/1)</eg>
			<p>If either the <xnt href="&XMLNames;#NT-NCName">NCName</xnt> or the child sequence does not locate an element, no element is identified by the pointer part as a whole.</p>
			<p>The &scheme-phrase; does not use the namespace binding context because it does not support qualified names.</p>
		</div1>
	</body>
	<back>
		<div1 id="references">
			<head>Normative References</head>
			<blist>
				<bibl id="Infoset" key="Infoset">
					John Cowan and Richard Tobin, editors.
					<titleref href="http://www.w3.org/TR/xml-infoset/">XML Information Set</titleref>.
					World Wide Web Consortium, 2001.
				</bibl>
				<bibl id="rfc2119" key="RFC 2119">
					Scott Bradner, 
					<titleref href="http://www.rfc-editor.org/rfc/rfc2119.txt">RFC 2119: Key words for use in RFCs to Indicate Requirement Levels</titleref>.
					Internet Engineering Task Force, 1997.
				</bibl>
				<bibl id="XML" key="XML">
					Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, and Eve Maler, editors.
					<titleref href="http://www.w3.org/TR/REC-xml">Extensible Markup Language (XML) 1.0 (Second Edition).</titleref> 
					World Wide Web Consortium, 2000.
				</bibl>
				<bibl id="XML-Names" key="XML-Names">
					Tim Bray, Dave Hollander, and Andrew Layman, editors.  
					<titleref href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</titleref>. 
					World Wide Web Consortium, 1999.
				</bibl>
				<bibl id="xptr-framework" key="XPtrFrame">
					Paul Grosso, Eve Maler, Jonathan Marsh, and Norman Walsh, editors.
					<titleref href="&xptr-framework-file;">XPointer Framework</titleref>.
					World Wide Web Consortium, 2002.
				</bibl>
				<bibl id="xsd" key="XMLSchema">
					Henry S. Thompson et al., editors. 
					<titleref href="http://www.w3.org/TR/xmlschema-1/">XML Schema Part 1.</titleref> 
					World Wide Web Consortium, 2001.
				</bibl>
			</blist>
		</div1>
	</back>
</spec>
