continuing port of document.
authorfgandon@strongy.inria.fr
Wed, 22 Feb 2012 18:19:29 +0100
changeset 204 f6311ba4d3bb
parent 200 3ef1b4f35004
child 205 9a37a406f2ca
continuing port of document.
rdf-xml/index.html
--- a/rdf-xml/index.html	Wed Feb 08 19:03:30 2012 +0100
+++ b/rdf-xml/index.html	Wed Feb 22 18:19:29 2012 +0100
@@ -186,6 +186,7 @@
 <!-- FIRST PART : THE SYNTAX -->
 
 <section id="section-Syntax">
+
   <h2>An XML Syntax for RDF</h2>
   <p>This section introduces the RDF/XML syntax, describes how it
    encodes RDF graphs and explains this with examples.  If there is any
@@ -197,7 +198,6 @@
   </p>
 
     <!-- intro -->
-	
     <section id="section-Syntax-intro">
     <h3>Introduction</h3>
 
@@ -280,10 +280,10 @@
     building up to complete RDF/XML documents.  <a href="#example7">Example 7</a>
     is the first complete RDF/XML document.</p>
     </section>
-	
-	
-	<!-- node and property elements -->
-	<section id="section-Syntax-node-property-elements">
+    
+    
+    <!-- node and property elements -->
+    <section id="section-Syntax-node-property-elements">
     <h3>Node Elements and Property Elements</h3>
 
 
@@ -431,9 +431,9 @@
     </div>
     </div>
     </section>
-	
-	<!-- multiple properties -->
-	<section id="section-Syntax-multiple-property-elements" >
+    
+    <!-- multiple properties -->
+    <section id="section-Syntax-multiple-property-elements" >
     <h3>Multiple Property Elements</h3>
 
     <p>There are several abbreviations that can be used to make common
@@ -479,8 +479,8 @@
     </div>
     </section>
 
-	<!-- empty property elements -->
-	<section id="section-Syntax-empty-property-elements">
+    <!-- empty property elements -->
+    <section id="section-Syntax-empty-property-elements">
     <h3>Empty Property Elements</h3>
 
     <p>When a predicate arc in an RDF graph points to an object node which has no
@@ -522,7 +522,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-property-attributes">
+    <!-- empty property attributes -->
+    <section id="section-Syntax-property-attributes">
     <h3>Property Attributes</h3>
 
     <p>When a property element's content is string literal,
@@ -568,7 +569,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-complete-document">
+    <!-- complete rdf/xml document -->
+    <section id="section-Syntax-complete-document">
     <h3>Completing the Document: Document Element and XML Declaration</h3>
 
     <p>To create a complete RDF/XML document, the serialization of the
@@ -623,7 +625,8 @@
     is not shown here.</p>
     </section>
 
-	<section id="section-Syntax-languages">
+    <!-- language attribute -->
+    <section id="section-Syntax-languages">
     <h3>Languages: <code>xml:lang</code></h3>
 
     <p>RDF/XML permits the use of the <code>xml:lang</code> attribute as defined by
@@ -673,6 +676,7 @@
     </div>
     </section>
 
+    <!-- XML Literal -->
     <section id="section-Syntax-XML-literals">
     <h3>XML Literals: <code>rdf:parseType="Literal"</code></h3>
 
@@ -723,7 +727,8 @@
     </div>
     </div>
     </section>
-	
+
+    <!-- datatyped literals -->    
     <section id="section-Syntax-datatyped-literals">
     <h3>Typed Literals: <code>rdf:datatype</code></h3>
 
@@ -775,7 +780,8 @@
     </div>
     </div>
     </section>
-
+    
+    <!-- blank nodes -->
     <section id="section-Syntax-blank-nodes">
     <h3>Identifying Blank Nodes: <code>rdf:nodeID</code></h3>
 
@@ -830,7 +836,8 @@
     </div>
     </div>
     </section>
-	
+
+    <!-- parsetype resource -->    
     <section id="section-Syntax-parsetype-resource">
     <h3>Omitting Blank Nodes: <code>rdf:parseType="Resource"</code></h3>
 
@@ -878,7 +885,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-property-attributes-on-property-element">
+    <!-- attributes on property elements -->    
+    <section id="section-Syntax-property-attributes-on-property-element">
     <h3>Omitting Nodes: Property Attributes on an empty Property Element</h3>
 
     <p>If all of the property elements on a blank node element have
@@ -928,7 +936,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-typed-nodes">
+    <!-- typed nodes -->    
+    <section id="section-Syntax-typed-nodes">
     <h3>Typed Node Elements</h3>
 
     <p>It is common for RDF graphs to have <code>rdf:type</code> predicates
@@ -992,7 +1001,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-ID-xml-base">
+    <!-- xml base -->
+    <section id="section-Syntax-ID-xml-base">
     <h3>Abbreviating URIs: <code>rdf:ID</code> and <code>xml:base</code></h3>
 
     <p>RDF/XML allows further abbreviating <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> in XML attributes in two
@@ -1048,6 +1058,7 @@
     </div>
     </section>
 
+    <!-- list elements -->
     <section id="section-Syntax-list-elements">
     <h3>Container Membership Property Elements: <code>rdf:li</code> and <code>rdf:_</code><em>n</em></h3>
 
@@ -1108,7 +1119,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-parsetype-Collection">
+    <!-- parsetype collection -->
+    <section id="section-Syntax-parsetype-Collection">
     <h3>Collections: <code>rdf:parseType="Collection"</code></h3>
 
     <p>RDF/XML allows an <code>rdf:parseType="Collection"</code>
@@ -1151,7 +1163,8 @@
     </div>
     </section>
 
-	<section id="section-Syntax-reifying">
+    <!-- reification -->
+    <section id="section-Syntax-reifying">
     <h3>Reifying Statements: <code>rdf:ID</code></h3>
 
     <p>The <code>rdf:ID</code> attribute can be used on a property
@@ -1200,2184 +1213,2231 @@
 </section>
 
 
-
-
-
-<h2>
-<a id="section-Terminology" name="section-Terminology">3 Terminology</a>
-</h2>
-
-<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
-NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
-this document are to be interpreted as described in
-<a href="http://www.ietf.org/rfc/rfc2119.txt">RFC 2119</a>
-<a href="#ref-keywords">[KEYWORDS]</a>.</p>
-
-<p>All use of string without further qualification refers to
-a Unicode<a href="#ref-unicode">[UNICODE]</a> character string; 
-a sequence of characters represented by a code point in Unicode.
-(Such as defined in <a href="#ref-charmod">[CHARMOD]</a> in section
-<a href="http://www.w3.org/TR/2003/WD-charmod-20030822/#sec-Strings">3.4 Strings</a>).</p>
-
-
-<h2><a id="section-MIME-Type" name="section-MIME-Type">4 RDF MIME Type, File Extension and Macintosh File Type</a></h2>
-
-<p>The Internet media type / MIME type for RDF/XML is
-"<code>application/rdf+xml</code>" &mdash; 
-
-see <a href="http://www.ietf.org/rfc/rfc3023.txt">RFC 3023</a>
-<a href="#ref-rfc3023">[RFC-3023]</a> section 8.18.
-</p>
-
-<div class="note"><p><strong>Registration Note (Informative):</strong>
-For the state of the MIME type registration, consult
-<a href="http://www.iana.org/assignments/media-types/">IANA MIME Media Types</a> <a href="#ref-iana-media-types">[IANA-MEDIA-TYPES]</a>
-</p></div>
-
-<p>It is recommended that RDF/XML files have the extension
-<code>".rdf"</code> (all lowercase) on all platforms.</p>
-
-<p>It is recommended that RDF/XML files stored on Macintosh HFS file
-systems be given a file type of <code>"rdf&nbsp;"</code>
-(all lowercase, with a space character as the fourth letter).</p>
-
-
-<h2><a id="section-Global" name="section-Global">5 Global Issues</a></h2>
-
-
-<h3><a id="section-Namespace" name="section-Namespace">5.1 The RDF Namespace and Vocabulary</a></h3>
-
-<div class="note"><p><strong>Note (Informative):</strong>
-The names <code>aboutEach</code> and <code>aboutEachPrefix</code> were removed
-from the language and the RDF vocabulary by the RDF Core Working Group.
-See the resolution of issues
-<a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach">rdfms-abouteach</a> and
-
-<a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteachprefix">rdfms-abouteachprefix</a>
-for further information.
-</p></div>
-
-<div class="note"><p><strong>Note (Informative):</strong>
-The names <code>List</code>, <code>first</code>,
-<code>rest</code> and <code>nil</code> were added for issue
-
-<a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-seq-representation">rdfms-seq-representation</a>.
-The names <code>XMLLiteral</code> and <code>datatype</code> were added
-to support RDF datatyping.
-The name <code>nodeID</code> was added
-for issue
-<a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-syntax-incomplete">rdfms-syntax-incomplete</a>.
-See the
-<a href="http://www.w3.org/2000/03/rdf-tracking/">RDF Core Issues List</a>
-for further information.
-</p></div>
-
-
-<p>The
-<span class="termdef"><a id="rdf-ns-uri" name="rdf-ns-uri">RDF namespace URI reference</a></span> (or namespace name) is
-<code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>
-and is typically used in XML with the prefix <code>rdf</code>
-although other prefix strings may be used.
-The <span class="termdef"><a id="rdf-vocabulary" name="rdf-vocabulary">RDF Vocabulary</a></span>
-is identified by this namespace name and consists of the following names only:</p>
-
-<dl>
-<dt>Syntax names &mdash; not concepts</dt>
-<dd>
-<p>
-<code>RDF Description ID about parseType resource li nodeID datatype</code>
-</p>
-</dd>
-
-<dt>Class names</dt>
-<dd>
-<p>
-<code>Seq Bag Alt Statement Property XMLLiteral List</code>
-
-</p>
-</dd>
-
-<dt>Property names</dt>
-<dd>
-<p>
-<code>subject predicate object type value first rest _</code><em>n</em><br />
-where <em>n</em> is a decimal integer greater than zero with no leading zeros.
-</p>
-</dd>
-
-<dt>Resource names</dt>
-<dd>
-<p>
-<code>nil</code>
-</p>
-</dd>
-
-</dl>
-
-<p>Any other names are not defined and SHOULD generate a warning when
-encountered, but should otherwise behave normally.</p>
-
-<p>Within RDF/XML documents it is not permitted to use XML namespaces
-whose namespace name is the
-<a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a>
-
-concatenated with additional characters.</p>
-
-<p>Throughout this document the terminology <code>rdf:</code><em>name</em>
-will be used to indicate <em>name</em> is from the RDF vocabulary
-and it has a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of the concatenation of the
-<a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a> and <em>name</em>.
-For example, <code>rdf:type</code> has the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> 
-
-<code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code></p>
-
-
-<h3><a id="section-Identifiers" name="section-Identifiers">5.2 Identifiers</a></h3>
-
-<p>The
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
-(<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> Section 3)
-defines three types of nodes and one type of predicate:</p>
-
-<dl>
-
-<dt><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> nodes and predicates</dt>
-<dd>
-<p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> (<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> Section 3.1)
-can be either:</p>
-<ul>
-<li>given as XML attribute values interpreted as relative
-URI references that are resolved against the in-scope base URI
-as described in <a href="#section-baseURIs">section 5.3</a>
-
-to give absolute <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a></li>
-<li>transformed from XML namespace-qualified element and attribute names
-(QNames)</li>
-<li>transformed from <code>rdf:ID</code> attribute values.</li>
-</ul>
-
-<p>Within RDF/XML, XML QNames are transformed into
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-by appending the XML local name to the namespace name (URI reference).
-For example, if the XML namespace prefix <code>foo</code> has
-namespace name (URI reference)
-
-<code>http://example.org/somewhere/</code> then the QName
-<code>foo:bar</code> would correspond to the RDF URI reference
-<code>http://example.org/somewhere/bar</code>.  Note that this
-restricts which
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> can be made and the same URI can be given in multiple ways.</p>
-
-<p>The <a href="#idAttr"><code>rdf:ID</code></a> values
-are transformed into
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-by appending the attribute value to the result of appending
-"#" to the in-scope base URI which is defined in
-<a href="#section-baseURIs">Section 5.3 Resolving URIs</a></p>
-</dd>
-
-<dt>Literal nodes (always object nodes)</dt>
-<dd><p>
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a> (<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> 6.5) are either
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literals</a> (ibid),
-or
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literals</a> (ibid).
-The latter includes <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a> (ibid section 5, <cite>XML Content within an RDF graph</cite>).
-</p>
-</dd>
-
-<dt>Blank Node Identifiers</dt>
-<dd><p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> have distinct identity in the RDF graph.
-When the graph is written in a syntax such as RDF/XML, these
-blank nodes may need graph-local identifiers and a syntax
-in order to preserve this distinction.  These local identifiers are called
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifiers</a>
-
-and are used in RDF/XML as values of the <code>rdf:nodeID</code> attribute 
-with the syntax given in <a href="#nodeIdAttr">Production nodeIdAttr</a>.
-Blank node identifiers in RDF/XML are scoped to the XML Information Set
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>.</p>
-
-<p>If no blank node identifier is given explicitly as an
-<code>rdf:nodeID</code> attribute value then one will need to be
-generated (using generated-blank-node-id, see section <a href="#section-Infoset-Grammar-Action">6.3.3</a>).
-Such generated blank node
-identifiers must not clash with any blank node identifiers derived
-from <code>rdf:nodeID</code> attribute values.  This can be
-implemented by any method that preserves the distinct identity of all
-the blank nodes in the graph, that is, the same blank node identifier
-is not given for different blank nodes.  One possible method would be
-to add a constant prefix to all the <code>rdf:nodeID</code> attribute
-values and ensure no generated blank node identifiers ever used that
-prefix.  Another would be to map all <code>rdf:nodeID</code> attribute
-values to new generated blank node identifiers and perform that mapping
-on all such values in the RDF/XML document.</p>
-
-</dd>
-
-</dl>
-
-
-<h3><a id="section-baseURIs" name="section-baseURIs">5.3 Resolving URIs</a></h3>
-
-<p>RDF/XML supports 
-<a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>
-which defines a
-<a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
-
-accessor for each
-<a href="#section-root-node"><span class="arrow">·</span>root event<span class="arrow">·</span></a> and
-<a href="#section-element-node"><span class="arrow">·</span>element event<span class="arrow">·</span></a>.
-Relative URI references are resolved into
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-according to the algorithm specified in
-<a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>
-
-(and RFC 2396).
-These specifications do not specify an algorithm for resolving a
-fragment identifier alone, such as <code>#foo</code>, or the empty
-string <code>""</code> into an
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>. In RDF/XML, a fragment identifier
-is transformed into a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-by appending the fragment identifier to the in-scope base URI. The
-empty string is transformed
-into an
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
-by substituting the in-scope base URI.
-</p>
-
-<div class="note"><p><strong>Test:</strong>
-
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test001.rdf">test001.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test001.nt">test001.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test004.rdf">test004.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test004.nt">test004.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test008.rdf">test008.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test008.nt">test008.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.rdf">test013.rdf</a> and
-
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.nt">test013.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test016.rdf">test016.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test016.nt">test016.nt</a>
-</p></div>
-
-<p>An empty same document reference ""
-resolves against the URI part of the base URI; any fragment part
-is ignored.  See
-<a href="http://www.isi.edu/in-notes/rfc2396.txt">Uniform Resource Identifiers (URI)</a> <a href="#ref-uri">[URIS]</a> section 4.2 
-
-</p>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.rdf">test013.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.nt">test013.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Implementation Note (Informative):</strong>
-When using a hierarchical base
-URI that has no path component (/), it must be added before using as a
-base URI for resolving.
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test011.rdf">test011.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test011.nt">test011.nt</a>
-</p></div>
-
-
-<h3><a id="section-constraints" name="section-constraints">5.4 Constraints</a></h3>
-
-<dl>
-<dt><strong><a id="constraint-id" name="constraint-id">constraint-id</a></strong><br /></dt>
-
-<dd><p>Each application of production <a href="#idAttr">idAttr</a>
-matches an attribute.  The pair formed by the
-<a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
-accessor of the matched attribute and the
-<a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
-accessor of the matched attribute is unique within a single RDF/XML
-document.</p>
-
-<p>The syntax of the  names must match the
-
-<a href="#rdf-id">rdf-id production</a>.</p>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test014.rdf">test014.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test014.nt">test014.nt</a>
-</p></div>
-</dd>
-
-</dl>
-
-<h3><a id="section-conformance" name="section-conformance">5.5 Conformance</a></h3>
-
-<dl>
-<dt>Definition:<br /></dt>
-  <dd>An <span class="termdef"><a id="dfn-rdf-document" name="dfn-rdf-document">RDF Document</a></span> is a serialization of an
-  <a href="http://www.w3.org/TR/rdf-concepts/#dfn-rdf-graph">RDF Graph</a>
-  into a concrete syntax.</dd>
-
-<dt>Definition:<br /></dt>
-  <dd>An <span class="termdef"><a name="dfn-rdf-xml-document">RDF/XML Document</a></span> is an
-  <a href="#dfn-rdf-document" class="termref">RDF Document</a> written in the
-  recommended XML transfer syntax for RDF as defined in this document.</dd>
-
-<dt>Conformance:<br /></dt>
-  <dd>An <a href="#dfn-rdf-xml-document" class="termref">RDF/XML Document</a> is a
-  <span class="termdef"><a name="dfn-conforming-rdf-xml-document">conforming RDF/XML document</a></span>
-
-  if it adheres to the specification defined in this document.</dd>
-</dl>
-
-
-<h2>
-<a id="section-Data-Model" name="section-Data-Model">6 Syntax Data Model</a>
-</h2>
-
-<p>This document specifies the syntax of RDF/XML as a grammar on an
-alphabet of symbols. The symbols are called <em>events</em> in the
-style of the <a href="#ref-xpath">[XPATH]</a>&#160;
-
-<a href="http://www.w3.org/TR/xpath#infoset">Information Set Mapping</a>.
-A sequence of events is normally derived from an XML document, in
-which case they are in document order as defined below in 
-<a href="#section-Infoset-Mapping">Section 6.2 Information Set Mapping</a>.
-The sequence these events form are intended to be similar to the sequence
-of events produced by the <a href="#ref-sax">[SAX2]</a> XML API from
-the same XML document.  Sequences of events may be checked against
-the grammar to determine whether they are or are not syntactically
-well-formed RDF/XML.</p>
-
-<p>The grammar productions may include actions which fire when the
-production is recognized.  Taken together these actions define a
-transformation from any syntactically well-formed RDF/XML sequence of
-events into an RDF graph represented in the
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-language.</p>
-
-<p>The model given here illustrates one way to create a representation of
-an <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
-
-from an RDF/XML document.  It does not mandate any implementation
-method &mdash; any other method that results in a representation of the same
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
-may be used.</p>
-
-<p>In particular:</p>
-<ul>
-<li>This specification permits any
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#implementation-note">representation</a>
-of an RDF graph (see <a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a>);
-in particular, it does not require the use of
-
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>.</li>
-<li>This specification does not require the use of
-<a href="#ref-xpath">[XPATH]</a> or <a href="#ref-sax">[SAX2]</a></li>
-<li>This specification places no constraints on the order in which
-software transforming RDF/XML into a representation of a graph,
-constructs the representation of the graph.</li>
-<li>Software transforming RDF/XML into a representation of a graph
-MAY eliminate duplicate predicate arcs.</li>
-</ul>
-
-<p>The syntax does not support non-well-formed XML documents, nor
-documents that otherwise do not have an XML Information Set; for
-example, that do not conform to
-<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">Namespaces in XML</a>
-
-<a href="#ref-namespaces">[XML-NS]</a>.
-</p>
-
-<p>The Infoset requires support for
-<a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>.
-RDF/XML uses the information item property [base URI], discussed in
-<a href="#section-baseURIs">section 5.3</a>
-</p>
-
-<p>This specification requires an
-XML Information Set <a href="#ref-xml-infoset">[INFOSET]</a>
-which supports at least the following information items and
-properties for RDF/XML:</p>
-
-<dl>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a></dt>
-<dd>[document element], [children], [base URI]</dd>
-
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">element information item</a></dt>
-<dd>[local name], [namespace name], [children], [attributes], [parent], [base URI]</dd>
-
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute">attribute information item</a></dt>
-<dd>[local name], [namespace name], [normalized value]</dd>
-
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character information item</a></dt>
-<dd>[character code]</dd>
-</dl>
-
-<p>There is no mapping of the following items to data model events:</p>
-<dl>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.pi">processing instruction information item</a></dt>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.rse">unexpanded entity reference information item</a></dt>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.comment">comment information item</a></dt>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.doctype">document type declaration information item</a></dt>
-
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.entity.unparsed">unparsed entity information item</a></dt>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.notation">notation information item</a></dt>
-<dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.namespace">namespace information item</a></dt>
-</dl>
-
-<p>Other information items and properties have no mapping to
-syntax data model events.
-</p>
-
-<p>Element information items with reserved XML Names
-(See <a href="http://www.w3.org/TR/2000/REC-xml-20001006#dt-name">Name</a>
-in <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a>)
-are not mapped to data model element events.  These are all those
-with property [prefix] beginning with <code>xml</code> (case
-independent comparison) and all those with [prefix] property
-having no value and which have [local name] beginning with
-
-<code>xml</code> (case independent comparison).
-</p>
-
-<p>All information items contained inside XML elements matching the
-<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
-production form
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a>
-and do not follow this mapping.  See
-<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
-for further information.</p>
-
-<p>This section is intended to satisfy the requirements for
-<a href="http://www.w3.org/TR/xml-infoset/#conformance">Conformance</a>
-in the <a href="#ref-xml-infoset">[INFOSET]</a> specification.
-It specifies the information items and properties that are needed
-to implement this specification.
-</p>
-
-
-<h3>
-<a id="section-Nodes" name="section-Nodes">6.1 Events</a>
-</h3>
-
-<p>There are nine types of event defined in the following subsections.
-Most events are constructed from an Infoset information item (except
-for <a href="#section-identifier-node">URI reference</a>,
-
-<a href="#section-blank-nodeid-event">blank node</a>,
-<a href="#section-literal-node">plain literal</a> and
-<a href="#section-typed-literal-node">typed literal</a>).  The effect
-of an event constructor is to create a new event with a unique identity,
-distinct from all other events.  Events have accessor operations on them
-and most have the <em>string-value</em> accessor that may be a static value
-or computed.</p>
-
-
-<h3>
-<a id="section-root-node" name="section-root-node">6.1.1 Root Event</a>
-</h3>
-
-<p>Constructed from a
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>
-and takes the following accessors and values.</p>
-
-<dl>
-<dt><span class="termdef"><a id="eventterm-root-document-element" name="eventterm-root-document-element">document-element</a></span><br /></dt>
-<dd>Set to the value of document information item property [document-element].</dd>
-<dt><span class="termdef"><a id="eventterm-root-children" name="eventterm-root-children">children</a></span><br /></dt>
-<dd>Set to the value of document information item property [children].</dd>
-<dt><span class="termdef"><a id="eventterm-root-base-uri" name="eventterm-root-base-uri">base-uri</a></span><br /></dt>
-
-<dd>Set to the value of document information item property [base URI].</dd>
-<dt><span class="termdef"><a id="eventterm-root-language" name="eventterm-root-language">language</a></span><br /></dt>
-<dd>Set to the empty string.</dd>
-</dl>
-
-
-<h3>
-<a id="section-element-node" name="section-element-node">6.1.2 Element Event</a>
-</h3>
-
-<p>Constructed from an 
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">element information item</a>
-
-and takes the following accessors and values:
-</p>
-
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-element-local-name" name="eventterm-element-local-name">local-name</a></span><br /></dt>
-  <dd>Set to the value of element information item property [local name].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-namespace-name" name="eventterm-element-namespace-name">namespace-name</a></span><br /></dt>
-  <dd>Set to the value of element information item property [namespace name].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-children" name="eventterm-element-children">children</a></span><br /></dt>
-  <dd>Set to the value of element information item property [children].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-base-uri" name="eventterm-element-base-uri">base-uri</a></span><br /></dt>
-  <dd>Set to the value of element information item property [base URI].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-attributes" name="eventterm-element-attributes">attributes</a></span><br /></dt>
-
-  <dd><p>Made from the value of element information item property [attributes] which is a set of attribute information items.</p>
-
-  <p>If this set contains an attribute information item <code>xml:lang</code> (
-  [namespace name] property with the value 
-  "http://www.w3.org/XML/1998/namespace" and
-  [local name] property value "lang")
-  it is removed from the set of attribute information items and the 
- <a href="#eventterm-element-language" class="termref"><span class="arrow">·</span>language<span class="arrow">·</span></a> accessor is set to the
-  [normalized-value] property of the attribute information item.</p>
-
-  <p>All remaining reserved XML Names
-  (See <a href="http://www.w3.org/TR/2000/REC-xml-20001006#dt-name">Name</a>
-
-  in <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a>)
-  are now removed from the set.  These are, all
-  attribute information items in the set with property [prefix]
-  beginning with <code>xml</code> (case independent
-  comparison) and all attribute information items with [prefix]
-  property having no value and which have [local name] beginning with
-  <code>xml</code> (case independent comparison) are removed.
-  Note that the [base URI] accessor is computed by XML Base before any
-  <code>xml:base</code> attribute information item is deleted.</p>
-
-  <p>The remaining set of attribute information items are then used
-  to construct a new set of 
-  <a href="#section-attribute-node">Attribute Events</a>
-
-  which is assigned as the value of this accessor.</p>
-  </dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-URI" name="eventterm-element-URI">URI</a></span><br /></dt>
-  <dd>Set to the string value of the concatenation of the
-  value of the namespace-name accessor and the value of the
-  local-name accessor.
-  </dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-URI-string-value" name="eventterm-element-URI-string-value">URI-string-value</a></span><br /></dt>
-  <dd>
-
-<p>The value is the concatenation of the following in this order "&lt;",
-the escaped value of the
-<a href="#eventterm-element-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
-accessor and "&gt;".</p>
-
-<p>The escaping of the
-<a href="#eventterm-element-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
-accessor uses the N-Triples escapes for
-URI references as described in 3.3 URI References.
-</p>
-
-  </dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-liCounter" name="eventterm-element-liCounter">li-counter</a></span><br /></dt>
-  <dd>Set to the integer value 1.</dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-language" name="eventterm-element-language">language</a></span><br /></dt>
-  <dd>Set from the
-  <a href="#eventterm-element-attributes" class="termref"><span class="arrow">·</span>attributes<span class="arrow">·</span></a> 
-  as described above.
-  If no value is given from the attributes, the value is set to the value of
-  the language accessor on the parent event (either a
-  <a href="#section-root-node">Root Event</a> or an
-  <a href="#section-element-node">Element Event</a>), which may be the empty string.
-  </dd>
-
-  <dt><span class="termdef"><a id="eventterm-element-subject" name="eventterm-element-subject">subject</a></span><br /></dt>
-  <dd>Has no initial value.  Takes a value that is an
-  <a href="#section-identifier-node">Identifier</a> event.
-  This accessor is used on elements that deal with one node in the RDF graph,
-  this generally being the subject of a statement.</dd>
-
-</dl>
-
-
-
-<h3>
-<a id="section-end-element-node" name="section-end-element-node">6.1.3 End Element Event</a>
-
-</h3>
-
-<p>Has no accessors.  Marks the end of the containing element in
-the sequence.</p>
-
-
-<h3>
-<a id="section-attribute-node" name="section-attribute-node">6.1.4 Attribute Event</a>
-</h3>
-
-<p>Constructed from an 
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute">attribute information item</a>
-and takes the following accessors and values:</p>
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-attribute-local-name" name="eventterm-attribute-local-name">local-name</a></span><br /></dt>
-  <dd>Set to the value of attribute information item property [local name].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-attribute-namespace-name" name="eventterm-attribute-namespace-name">namespace-name</a></span><br /></dt>
-  <dd>Set to the value of attribute information item property [namespace name].</dd>
-
-  <dt><span class="termdef"><a id="eventterm-attribute-string-value" name="eventterm-attribute-string-value">string-value</a></span><br /></dt>
-
-  <dd>Set to the value of the attribute information item property [normalized value] as specified by
-  <a href="#ref-xml">[XML]</a> (if an attribute whose normalized
-  value is a zero-length string, then the string-value is also
-  a zero-length string).</dd>
-
-  <dt><span class="termdef"><a id="eventterm-attribute-URI" name="eventterm-attribute-URI">URI</a></span><br /></dt>
-  <dd><p>If <a href="#eventterm-attribute-namespace-name" class="termref"><span class="arrow">·</span>namespace-name<span class="arrow">·</span></a> is present,
-  set to a string value of the concatenation of the value of the
-  <a href="#eventterm-attribute-namespace-name" class="termref"><span class="arrow">·</span>namespace-name<span class="arrow">·</span></a> accessor
-  and the value of the
-  <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor.
-  Otherwise if <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> is
-  <code>ID</code>, <code>about</code>, <code>resource</code>, <code>parseType</code> or <code>type</code>, set to a string value of the
-  concatenation of the
-  <a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a>
-
-  and the value of the <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor.   Other non-namespaced <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor values are forbidden.</p>
-
-   <p>The support for a limited set of non-namespaced names is
-   REQUIRED and intended to allow RDF/XML documents specified in
-   <a href="#ref-rdfms">[RDF-MS]</a> to remain valid; new documents
-   SHOULD NOT use these unqualified attributes and applications MAY
-   choose to warn when the unqualified form is seen in a document.</p>
-
-   <p>The construction of
-   <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-   from XML attributes can generate the same
-   <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-   from different XML attributes.  This can cause ambiguity in the
-   grammar when matching attribute events (such as when
-   <code>rdf:about</code> and <code>about</code> XML attributes are
-   both present).  Documents that have this are illegal.
-   </p>
-
-</dd>
-
-  <dt><span class="termdef"><a id="eventterm-attribute-URI-string-value" name="eventterm-attribute-URI-string-value">URI-string-value</a></span><br /></dt>
-  <dd>
-<p>The value is the concatenation of the following in this order "&lt;",
-the escaped value of the 
-<a href="#eventterm-attribute-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
-accessor and "&gt;".</p>
-
-<p>The escaping of the
-<a href="#eventterm-attribute-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
-accessor uses the N-Triples escapes for
-URI references as described in 3.3 URI References.
-</p>
-  </dd>
-
-</dl>
-
-
-<h3>
-<a id="section-text-node" name="section-text-node">6.1.5 Text Event</a>
-</h3>
-
-<p>Constructed from a sequence of one or more consecutive
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character information items</a>.
-Has the single accessor:</p>
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-text-string-value" name="eventterm-text-string-value">string-value</a></span><br /></dt>
-  <dd>Set to the value of the string made from concatenating the
-  [<a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character code</a>] property of each of the character information items.
-  </dd>
-</dl>
-
-<h3>
-<a id="section-identifier-node" name="section-identifier-node">6.1.6 URI Reference Event</a>
-</h3>
-
-<p><a id="eventterm-identifier-identifier-type" name="eventterm-identifier-identifier-type"></a>
-An event for a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
-which has the following accessors:</p>
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-identifier-identifier" name="eventterm-identifier-identifier">identifier</a></span><br /></dt>
-  <dd>Takes a string value used as an
-  <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.
-  </dd>
-
-  <dt><span class="termdef"><a id="eventterm-identifier-string-value" name="eventterm-identifier-string-value">string-value</a></span><br /></dt>
-  <dd><p>The value is the concatenation of "&lt;", the escaped value of the <a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor and "&gt;"</p>
-
-  <p>The escaping of the <a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor value
-    uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a> escapes for URI references as described in
-  <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#sec-uri-encoding">3.3 URI References</a>.</p>
-
- </dd>
-
-</dl>
-
-<p>These events are constructed by giving a value for the
-<a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
-</p>
-
-<p>For further information on identifiers in the RDF graph, see
-<a href="#section-Identifiers">section 5.2</a>.</p>
-
-
-<h3>
-<a id="section-blank-nodeid-event" name="section-blank-nodeid-event">6.1.7 Blank Node Identifier Event</a>
-</h3>
-
-<p>An event for a
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>
- which has the following accessors:</p>
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-blanknodeid-identifier" name="eventterm-blanknodeid-identifier">identifier</a></span><br /></dt>
-
-  <dd>Takes a string value.</dd>
-
-  <dt><span class="termdef"><a id="eventterm-blanknodeid-string-value" name="eventterm-blanknodeid-string-value">string-value</a></span><br /></dt>
-  <dd>The value is a function of the value of the
-<a href="#eventterm-blanknodeid-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor. 
-The value begins with "_:" and the entire value MUST match the
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#nodeID">nodeID</a> production.
-The function MUST preserve distinct blank node identity as discussed in in section <a href="#section-Identifiers">5.2 Identifiers</a>.</dd>
-
-</dl>
-
-<p>These events are constructed by giving a value for the
-<a href="#eventterm-blanknodeid-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
-</p>
-
-<p>For further information on identifiers in the RDF graph, see
-<a href="#section-Identifiers">section 5.2</a>.</p>
-
-
-<h3>
-
-<a id="section-literal-node" name="section-literal-node">6.1.8 Plain Literal Event</a>
-</h3>
-
-<p>An event for a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literal</a> which can have the following accessors:</p>
-
-<dl>
-  <dt><span class="termdef"><a id="eventterm-literal-literal-value" name="eventterm-literal-literal-value">literal-value</a></span><br /></dt>
-  <dd>Takes a string value.</dd>
-
-  <dt><span class="termdef"><a id="eventterm-literal-literal-language" name="eventterm-literal-literal-language">literal-language</a></span><br /></dt>
-  <dd>Takes a string value used as a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-language-identifier">language tag</a> in an RDF plain literal.</dd>
-
-  <dt><span class="termdef"><a id="eventterm-literal-string-value" name="eventterm-literal-string-value">string-value</a></span><br /></dt>
-  <dd><p>The value is calculated from the other accessors as follows.</p>
-
-  <p>If <a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> is the empty string
-  then the value is the concatenation of "&quot;" (1 double quote),
-  the escaped value of the
-  <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
-  and "&quot;" (1 double quote).</p>
-
-  <p>Otherwise the value is the concatenation of "&quot;" (1 double quote),
-  the escaped value of the
-  <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
- "&quot;@" (1 double quote and a '@'),
-  and the value of the
-  <a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessor.</p>
-
- <p>The escaping of the <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor value uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-
-  escapes for strings as described in <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntrip_strings">3.2 Strings</a>
-  for escaping certain characters such as &quot;. </p>
-  </dd>
-</dl>
-
-<p>These events are constructed by giving values for the
-<a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> and
-
-<a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessors.</p>
-
-
-<div class="note"><p><strong>Interoperability Note (Informative):</strong>
-<a id="literal-comb-char-note1" name="literal-comb-char-note1"></a>
-Literals beginning with a Unicode combining character are
-allowed however they may cause interoperability problems.
-See <a href="#ref-charmod">[CHARMOD]</a> for further information.
-</p></div>
-
-<h3>
-<a id="section-xml-literal-node" name="section-xml-literal-node"></a>
-<a id="section-typed-literal-node" name="section-typed-literal-node">6.1.9 Typed Literal Event</a>
-</h3>
-
-<p>An event for a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a> which can have the following accessors:</p>
-
-<dl>
-  <dt><a id="eventterm-xmlliteral-literal-value" name="eventterm-xmlliteral-literal-value"></a><span class="termdef"><a id="eventterm-typedliteral-literal-value" name="eventterm-typedliteral-literal-value">literal-value</a></span><br /></dt>
-  <dd>Takes a string value.</dd>
-
-  <dt><a id="eventterm-literal-literal-datatype" name="eventterm-literal-literal-datatype"></a><span class="termdef"><a id="eventterm-typedliteral-literal-datatype" name="eventterm-typedliteral-literal-datatype">literal-datatype</a></span><br /></dt>
-  <dd>Takes a string value used as an <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</dd>
-
-  <dt><a id="eventterm-xmlliteral-string-value" name="eventterm-xmlliteral-string-value"></a><span class="termdef"><a id="eventterm-typedliteral-string-value" name="eventterm-typedliteral-string-value">string-value</a></span><br /></dt>
-  <dd><p>The value is the concatenation of the following in this order
-  "&quot;" (1 double quote),
-  the escaped value of the
-  <a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor,
-  "&quot;" (1 double quote),  "^^&lt;",
-  the escaped value of the
-  <a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor
-  and "&gt;".
-  </p>
-
-  <p>The escaping of the <a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor value
-  uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-  escapes for strings as described in <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntrip_strings">3.2 Strings</a>
-  for escaping certain characters such as &quot;.
-  The escaping of the <a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor value
-  must use the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a> escapes for URI references as described in
-  <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#sec-uri-encoding">3.3 URI References</a>.</p>
-
-</dd>
-</dl>
-
-<p>These events are constructed by giving values for the
-<a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a>
-and
-<a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessors.</p>
-
-<div class="note"><p><strong>Interoperability Note (Informative):</strong>
-<a id="literal-comb-char-note2" name="literal-comb-char-note2"></a>
-Literals beginning with a Unicode combining character are
-allowed however they may cause interoperability problems.
-See <a href="#ref-charmod">[CHARMOD]</a> for further information.
-</p></div>
-
-<div class="note"><p><strong>Implementation Note (Informative):</strong>
-<a id="literal-white-space-normalization-note" name="literal-white-space-normalization-note"></a>
-In <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schema (part 1)</a> <a href="#ref-xml-schema1">[XML-SCHEMA1]</a>,
-
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#section-White-Space-Normalization-during-Validation">white space normalization</a>
-occurs during validation according to the value of the whiteSpace
-facet.  The syntax mapping used in this document occurs after this,
-so the whiteSpace facet formally has no further effect.
-</p></div>
-
-
-
-<h3>
-<a id="section-Infoset-Conformance" name="section-Infoset-Conformance"></a>
-<a id="section-Infoset-Mapping" name="section-Infoset-Mapping">6.2 Information Set Mapping</a>
-</h3>
-
-<p>To transform the Infoset into the sequence of events
-in <em>document order</em>, each
-information item is transformed as described above to generate a
-tree of events with accessors and values.  Each element event is
-then replaced as described below to turn the tree of events
-into a sequence in document order.</p>
-
-<ol>
-<li>The original <a href="#section-element-node">element event</a></li>
-<li>The value of the
-<a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">children</a>
-accessor recursively transformed, a possibly empty ordered list of events.</li>
-<li>An <a href="#section-end-element-node">end element event</a></li>
-</ol>
-
-
-<h3>
-
-<a id="section-Notation-Forms" name="section-Notation-Forms"></a>
-<a id="section-Infoset-Grammar-Notation" name="section-Infoset-Grammar-Notation">6.3 Grammar Notation</a>
-</h3>
-
-<p>The following notation is used to describe matching the sequence
-of data model events as given in <a href="#section-Data-Model">Section 6</a>
-and the actions to perform for the matches.
-The RDF/XML grammar is defined in terms of mapping from these matched
-data model events to triples, using notation of the form:</p>
-
-<blockquote>
-<div class="productionOuter"><div class="productionInner"><p>
-number <em>event-type</em> <em>event-content</em>
-
-</p></div></div>
-
-<div>
-<em>action</em>...
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code>
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-</code>
-</p></div></div>
-</div>
-</blockquote>
-
-<p>where the <em>event-content</em> is an expression matching
-
-<em>event-types</em> (as defined in <a href="#section-Nodes">Section 6.1</a>),
-using notation given in the following sections.
-The number is used for reference purposes.
-The grammar <em>action</em> may include generating
-new triples to the graph, written in
-<a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
-format.
-</p>
-
-<p>The following sections describe the general notation used and that
-for event matching and actions.</p>
-
-<h4>
-
-<a id="section-Infoset-Grammar-General" name="section-Infoset-Grammar-General">6.3.1 Grammar General Notation</a>
-</h4>
-
-<table border="1" summary="This table describes the general notation used the grammar.">
-<caption>Grammar General Notation.</caption>
-<tr>
-<th>Notation</th>
-<th>Meaning</th>
-</tr>
-<tr>
-<td><em>event</em>.<em>accessor</em></td>
-
-<td>The value of an event accessor.</td>
-</tr>
-<tr>
-<td><code>rdf:</code><em>X</em></td>
-<td>A URI as defined in <a href="#section-Namespace">section 5.1</a>.</td>
-</tr>
-<tr>
-<td>"ABC"</td>
-<td>A string of characters A, B, C in order.</td>
-
-</tr>
-</table>
-
-<h4>
-<a id="section-Infoset-Grammar-Matching" name="section-Infoset-Grammar-Matching">6.3.2 Grammar Event Matching Notation</a>
-</h4>
-
-
-<table border="1" summary="This table describes the event matching notation used in the following sections to match sequences of syntax data model events.">
-<caption>Grammar Event Matching Notation.</caption>
-<tr>
-<th>Notation</th>
-<th>Meaning</th>
-
-</tr>
-<tr>
-<td>A == B</td> 
-<td>Event accessor A matches expression B.</td>
-</tr>
-<tr>
-<td>A != B</td>
-<td>A is not equal to B.</td>
-</tr>
-<tr>
-<td>A | B | ...</td>
-<td>The A, B, ... terms are alternatives.</td>
-
-</tr>
-<tr>
-<td>A - B</td>
-<td>The terms in A excluding all the terms in B.</td>
-</tr>
-<tr>
-<td><a id="anyURI" name="anyURI">anyURI</a>.</td>
-<td>Any URI.</td>
-</tr>
-<tr>
-<td><a id="anyString" name="anyString">anyString</a>.</td>
-
-<td>Any string.</td>
-</tr>
-<tr>
-<td>list(item1, item2, ...); list()</td>
-<td>An ordered list of events. An empty list.</td>
-</tr>
-<tr>
-<td>set(item1, item2, ...); set()</td>
-<td>An unordered set of events.  An empty set.</td>
-</tr>
-<tr>
-<td>*</td>
-
-<td>Zero or more of preceding term.</td>
-</tr>
-<tr>
-<td>?</td>
-<td>Zero or one of preceding term.</td>
-</tr>
-<tr>
-<td>+</td>
-<td>One or more of preceding term.</td>
-</tr>
-<tr>
-<td>root(acc1 == value1,<br />
-
-&#160;&#160;&#160;&#160;acc2 == value2, ...)</td>
-<td>Match a <a href="#section-root-node">Root Event</a> with accessors.
-</td>
-</tr>
-<tr>
-<td>start-element(acc1 == value1,<br />
-&#160;&#160;&#160;&#160;acc2 == value2, ...)<br />
-<em>children</em><br />
-end-element()</td>
-
-<td>Match a sequence of
-<a href="#section-element-node">Element Event</a> with accessors,
-a possibly empty list of events as element content and an
-<a href="#section-end-element-node">End Element Event</a>.
-</td>
-</tr>
-<tr>
-<td>attribute(acc1 == value1,<br />
-&#160;&#160;&#160;&#160;acc2 == value2, ...)</td>
-<td>Match an <a href="#section-attribute-node">Attribute Event</a>
-with accessors.</td>
-
-</tr>
-<tr>
-<td>text()</td>
-<td>Match a <a href="#section-text-node">Text Event</a>.</td>
-</tr>
-</table>
-
-<h4>
-<a id="section-Infoset-Grammar-Action" name="section-Infoset-Grammar-Action">6.3.3 Grammar Action Notation</a>
-</h4>
-
-
-<table border="1" summary="This table describes the grammar actions notation used in the following sections to perform triple generation from syntax data model events.">
-<caption>Grammar Action Notation.</caption>
-<tr>
-<th>Notation</th>
-<th>Meaning</th>
-</tr>
-<tr>
-<td>A := B</td>
-<td>Assigns A the value B.</td>
-</tr>
-<tr>
-<td>concat(A, B, ..)</td>
-
-<td>A string created by concatenating the terms in order.</td>
-</tr>
-<tr>
-<td>resolve(<em>e</em>, <em>s</em>)</td>
-<td>A string created by interpreting string <em>s</em> as a relative URI reference to the
-<a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a> accessor of <a href="#section-element-node"></a> <em>e</em> 
-
-as defined in <a href="#section-baseURIs">Section 5.3 Resolving URIs</a>.
-The resulting string represents an
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</td>
-</tr>
-<tr>
-<td>generated-blank-node-id()</td>
-<td>A string value for a new distinct generated
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>
-as defined in <a href="#section-Identifiers">section 5.2 Identifiers</a>.
-</td>
-
-</tr>
-<tr>
-<td><em>event</em>.<em>accessor</em> := <em>value</em></td>
-<td>Sets an event accessor to the given value.</td>
-</tr>
-<tr>
-<td>uri(identifier := value)</td>
-<td>Create a new <a href="#section-identifier-node">URI Reference Event</a>.</td>
-
-</tr>
-<tr>
-<td>bnodeid(identifier := value)</td>
-<td>Create a new <a href="#section-blank-nodeid-event">Blank Node Identifier Event</a>.  See also section <a href="#section-Identifiers">5.2 Identifiers</a>.</td>
-</tr>
-<tr>
-<td>literal(literal-value := string,<br />
-&#160;&#160;&#160;&#160;literal-language := language, ...)</td>
-<td>Create a new <a href="#section-literal-node">Plain Literal Event</a>.</td>
-
-</tr>
-<tr>
-<td>typed-literal(literal-value := string, ...)</td>
-<td>Create a new <a href="#section-typed-literal-node">Typed Literal Event</a>.</td>
-</tr>
-</table>
-
-
-
-<h2>
-<a id="section-Infoset-Grammar" name="section-Infoset-Grammar">7 RDF/XML Grammar</a>
-</h2>
-
-<h3><a id="section-grammar-summary" name="section-grammar-summary">7.1 Grammar summary</a></h3>
-<div class="productionOuter"><div class="productionInner">
-<table>
-<tr valign="top">
-<td><a href="#coreSyntaxTerms">7.2.2</a> <a href="#coreSyntaxTerms">coreSyntaxTerms</a></td> <td><code>rdf:RDF</code> | <code>rdf:ID</code> | <code>rdf:about</code> | <code>rdf:parseType</code> | <code>rdf:resource</code> | <code>rdf:nodeID</code> | <code>rdf:datatype</code></td>
-
-</tr>
-<tr valign="top">
-<td><a href="#syntaxTerms">7.2.3</a> <a href="#syntaxTerms">syntaxTerms</a></td> <td><a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <code>rdf:li</code></td>
-</tr>
-<tr valign="top">
-<td><a href="#oldTerms">7.2.4</a> <a href="#oldTerms">oldTerms</a></td> <td><code>rdf:aboutEach</code> | <code>rdf:aboutEachPrefix</code> | <code>rdf:bagID</code></td>
-
-</tr>
-<tr valign="top">
-<td><a href="#nodeElementURIs">7.2.5</a> <a href="#nodeElementURIs">nodeElementURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#propertyElementURIs">7.2.6</a> <a href="#propertyElementURIs">propertyElementURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <a href="#oldTerms">oldTerms</a> )</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#propertyAttributeURIs">7.2.7</a> <a href="#propertyAttributeURIs">propertyAttributeURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a>  | <code>rdf:Description</code> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#doc">7.2.8</a> <a href="#doc">doc</a></td> <td>root(<a href="#eventterm-root-document-element">document-element</a> == <a href="#RDF">RDF</a>, 
-<a href="#eventterm-root-children">children</a> == list(<a href="#RDF">RDF</a>))</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#RDF">7.2.9</a> <a href="#RDF">RDF</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:RDF</code>, 
-<a href="#eventterm-element-attributes">attributes</a> == set())<br />
-<a href="#nodeElementList">nodeElementList</a><br />
-
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#nodeElementList">7.2.10</a> <a href="#nodeElementList">nodeElementList</a></td> <td><a href="#ws">ws</a>* (<a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>* )*</td>
-</tr>
-<tr valign="top">
-
-<td><a href="#nodeElement">7.2.11</a> <a href="#nodeElement">nodeElement</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#nodeElementURIs">nodeElementURIs</a><br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set((<a href="#idAttr">idAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> | <a href="#aboutAttr">aboutAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
-
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#ws">7.2.12</a> <a href="#ws">ws</a></td> <td>A <a href="#section-text-node">text event</a> matching white space
-defined by <a href="#ref-xml">[XML]</a> definition <em>White Space</em>
-
-Rule [3] <a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-S">S</a>
-in section
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-common-syn">Common Syntactic Constructs</a></td>
-</tr>
-<tr valign="top">
-<td><a href="#propertyEltList">7.2.13</a> <a href="#propertyEltList">propertyEltList</a></td> <td><a href="#ws">ws</a>* (<a href="#propertyElt">propertyElt</a> <a href="#ws">ws</a>* ) *</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#propertyElt">7.2.14</a> <a href="#propertyElt">propertyElt</a></td> <td><a href="#resourcePropertyElt">resourcePropertyElt</a> |
-<a href="#literalPropertyElt">literalPropertyElt</a> |
-<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a> |
-<a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a> |
-
-<a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a> |
-<a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a> |
-<a href="#emptyPropertyElt">emptyPropertyElt</a></td>
-</tr>
-<tr valign="top">
-<td><a href="#resourcePropertyElt">7.2.15</a> <a href="#resourcePropertyElt">resourcePropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?))<br />
-<a href="#ws">ws</a>* <a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>*<br />
-end-element()</td>
-</tr>
-<tr valign="top">
-
-<td><a href="#literalPropertyElt">7.2.16</a> <a href="#literalPropertyElt">literalPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#datatypeAttr">datatypeAttr</a>?))<br />
-
-<a href="#section-text-node">text()</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#parseTypeLiteralPropertyElt">7.2.17</a> <a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseLiteral">parseLiteral</a>))<br />
-<a href="#literal">literal</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#parseTypeResourcePropertyElt">7.2.18</a> <a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseResource">parseResource</a>))<br />
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#parseTypeCollectionPropertyElt">7.2.19</a> <a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseCollection">parseCollection</a>))<br />
-<a href="#nodeElementList">nodeElementList</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#parseTypeOtherPropertyElt">7.2.20</a> <a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseOther">parseOther</a>))<br />
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()</td>
-</tr>
-<tr valign="top">
-<td><a href="#emptyPropertyElt">7.2.21</a> <a href="#emptyPropertyElt">emptyPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
-
-<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, ( <a href="#resourceAttr">resourceAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
-end-element()</td>
-</tr>
-
-<tr valign="top">
-<td><a href="#idAttr">7.2.22</a> <a href="#idAttr">idAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#nodeIdAttr">7.2.23</a> <a href="#nodeIdAttr">nodeIdAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#aboutAttr">7.2.24</a> <a href="#aboutAttr">aboutAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#propertyAttr">7.2.25</a> <a href="#propertyAttr">propertyAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <a href="#propertyAttributeURIs">propertyAttributeURIs</a>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#resourceAttr">7.2.26</a> <a href="#resourceAttr">resourceAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:resource</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#datatypeAttr">7.2.27</a> <a href="#datatypeAttr">datatypeAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:datatype</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#parseLiteral">7.2.28</a> <a href="#parseLiteral">parseLiteral</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == "Literal")</td>
-</tr>
-
-<tr valign="top">
-<td><a href="#parseResource">7.2.29</a> <a href="#parseResource">parseResource</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == "Resource")</td>
-</tr>
-<tr valign="top">
-
-<td><a href="#parseCollection">7.2.30</a> <a href="#parseCollection">parseCollection</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
-<a href="#eventterm-attribute-string-value">string-value</a> == "Collection")</td>
-</tr>
-<tr valign="top">
-<td><a href="#parseOther">7.2.31</a> <a href="#parseOther">parseOther</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
-
-<a
-href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a> - ("Resource" | "Literal" | "Collection") )</td>
-</tr>
-<tr valign="top">
-<td><a href="#URI-reference">7.2.32</a> <a href="#URI-reference">URI-reference</a></td> <td>An <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</td>
-
-</tr>
-<tr valign="top">
-<td><a href="#literal">7.2.33</a> <a href="#literal">literal</a></td> <td>Any XML element content that is allowed according to
-<a href="#ref-xml">[XML]</a> definition <em>Content of Elements</em>
-Rule [43]
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">content</a>.
-in section
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-starttags">3.1 Start-Tags, End-Tags, and Empty-Element Tags</a></td>
-
-</tr>
-<tr valign="top">
-<td><a href="#rdf-id">7.2.34</a> <a href="#rdf-id">rdf-id</a></td> <td>An attribute <a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
-matching any legal
-<a href="#ref-namespaces">[XML-NS]</a> token
-<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></td>
-
-</tr>
-</table>
-
-</div></div>
-
-<h3><a id="section-grammar-productions" name="section-grammar-productions">7.2 Grammar Productions</a></h3>
-
-<h4><a id="start" name="start">7.2.1 Grammar start</a></h4>
-
-<p>If the RDF/XML is a standalone XML document
-(identified by presentation as an
-application/rdf+xml <a href="#section-MIME-Type">RDF MIME type</a> object,
-or by some other means) then the grammar may start with
-production <a href="#doc">doc</a> or
-production <a href="#nodeElement">nodeElement</a>.</p>
-
-<p>If the content is known to be RDF/XML by context, such as when
-RDF/XML is embedded inside other XML content, then the grammar
-can either start 
-at <a href="#section-element-node">Element Event</a>&#160;
-<a href="#RDF">RDF</a>
-(only when an element is legal at that point in the XML)
-or at production <a href="#nodeElementList">nodeElementList</a>
-(only when element content is legal, since this is a list of elements).
-For such embedded RDF/XML, the
-<a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
-value on the outermost element must be initialized from the containing
-XML since no
-<a href="#section-root-node">Root Event</a>&#160; will be available.
-Note that if such embedding occurs, the grammar may be entered
-several times but no state is expected to be preserved.
-
-</p>
-
-
-<h4><a id="coreSyntaxTerms" name="coreSyntaxTerms">7.2.2 Production coreSyntaxTerms</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<code>rdf:RDF</code> | <code>rdf:ID</code> | <code>rdf:about</code> | <code>rdf:parseType</code> | <code>rdf:resource</code> | <code>rdf:nodeID</code> | <code>rdf:datatype</code>
-
-</p></div></div>
-
-<p>A subset of the syntax terms from the RDF vocabulary in
-<a href="#section-Namespace">section 5.1</a>
-which are used in RDF/XML.
-</p>
-
-<h4><a id="syntaxTerms" name="syntaxTerms">7.2.3 Production syntaxTerms</a></h4>
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <code>rdf:li</code>
-
-</p></div></div>
-
-<p>All the syntax terms from the RDF vocabulary in
-<a href="#section-Namespace">section 5.1</a>
-which are used in RDF/XML.
-</p>
-
-
-<h4><a id="bagIdAttr" name="bagIdAttr"></a><a id="section-Bag-Expand" name="section-Bag-Expand"></a><a id="oldTerms" name="oldTerms">7.2.4 Production oldTerms</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<code>rdf:aboutEach</code> | <code>rdf:aboutEachPrefix</code> | <code>rdf:bagID</code>
-
-</p></div></div>
-
-<p>These are the names from the <a href="#section-Namespace">RDF vocabulary</a>
-that have been withdrawn from the language.  See the resolutions of
-Issue <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-aboutEach-on-object">rdfms-aboutEach-on-object</a>,
-Issue <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteachprefix">rdfms-abouteachprefix</a> and
-Last Call Issue <a href="http://www.w3.org/2001/sw/RDFCore/20030123-issues/#timbl-01">timbl-01</a>
-for further information.
-</p>
-
-<div class="note"><p><strong>Error Test:</strong>
-
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-abouteach/error001.rdf">error001.rdf</a> and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-abouteach/error002.rdf">error002.rdf</a>
-</p></div>
-
-
-<h4><a id="nodeElementURIs" name="nodeElementURIs">7.2.5 Production nodeElementURIs</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )
-
-</p></div></div>
-
-<p>The <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> that are allowed on node elements.</p>
-
-
-<h4><a id="propertyElementURIs" name="propertyElementURIs">7.2.6 Production propertyElementURIs</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <a href="#oldTerms">oldTerms</a> )
-
-</p></div></div>
-
-<p>The URIs that are allowed on property elements.</p>
-
-
-<h4><a id="propertyAttributeURIs" name="propertyAttributeURIs">7.2.7 Production propertyAttributeURIs</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a>  | <code>rdf:Description</code> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )
-
-</p></div></div>
-
-<p>The <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> that are allowed on property attributes.</p>
-
-
-<h4><a id="doc" name="doc">7.2.8 Production doc</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-root(<a href="#eventterm-root-document-element">document-element</a> == <a href="#RDF">RDF</a>,<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-root-children">children</a> == list(<a href="#RDF">RDF</a>))
-</p></div></div>
-
-
-<h4><a id="RDF" name="RDF">7.2.9 Production RDF</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:RDF</code>,<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set())<br />
-<a href="#nodeElementList">nodeElementList</a><br />
-end-element()
-</p></div></div>
-
-
-<h4><a id="nodeElementList" name="nodeElementList">7.2.10 Production nodeElementList</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#ws">ws</a>* (<a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>* )*
-
-</p></div></div>
-
-
-<h4><a id="description" name="description"></a><a id="typedNode" name="typedNode"></a>
-<a id="nodeElement" name="nodeElement">7.2.11 Production nodeElement</a></h4>
-
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#nodeElementURIs">nodeElementURIs</a><br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set((<a href="#idAttr">idAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> | <a href="#aboutAttr">aboutAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
-
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()
-</p></div></div>
-
-<p>For node element <em>e</em>, the processing of some of the attributes
-has to be done before other work such as dealing with children events
-or other attributes.  These can be processed in any order:</p>
-
-<ul>
-
-<li>If there is an attribute <em>a</em> with
- <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>, then
-
-<em>e</em>.<a href="#eventterm-element-subject">subject</a> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))).</li>
-
-<li>If there is an attribute <em>a</em> with
- <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>, then
-
-<em>e</em>.<a href="#eventterm-element-subject">subject</a> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a>:=<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>).</li>
-
-<li>If there is an attribute <em>a</em> with
-
-<em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code> then
-<em>e</em>.<a href="#eventterm-element-subject">subject</a> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)).</li>
-
-</ul>
-
-<p>If <em>e</em>.<a href="#eventterm-element-subject">subject</a> is empty, 
-then <em>e</em>.<a href="#eventterm-element-subject">subject</a> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()).</p>
-
-
-<p>The following can then be performed in any order:</p>
-
-<ul>
-
-<li><a id="nodeElementStatement1" name="nodeElementStatement1"></a> If <em>e</em>.<a href="#eventterm-element-URI">URI</a> != <code>rdf:Description</code>
-then the following statement is added to the graph:
-
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> .</code>
-</p></div></div>
-</li>
-
-<li><a id="nodeElementStatement2" name="nodeElementStatement2"></a> If there is an attribute <em>a</em> 
-in <a href="#propertyAttr">propertyAttr</a> with
-<em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:type</code>
-then
-
-<em>u</em>:=uri(identifier:=resolve(<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
-and the following tiple is added to the graph:
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>u</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-
-</p></div></div>
-</li>
-
-<li><a id="nodeElementStatement3" name="nodeElementStatement3"></a> For each attribute <em>a</em> matching
-<a href="#propertyAttr">propertyAttr</a> (and not <code>rdf:type</code>),
-the Unicode string 
-<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>
-
-SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>,
-<em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
-and the following statement is added to the graph:
-
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>a</em>.<a href="#eventterm-attribute-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
-
-</p></div></div>
-</li>
-
-<li><a id="nodeElementStatement4" name="nodeElementStatement4"></a> Handle the
-<a href="#propertyEltList">propertyEltList</a> children events
-in document order.</li>
-
-</ul>
-
-
-
-<h4><a id="ws" name="ws">7.2.12 Production ws</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-A <a href="#section-text-node">text event</a> matching white space
-defined by <a href="#ref-xml">[XML]</a> definition <em>White Space</em>
-Rule [3] <a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-S">S</a>
-in section
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-common-syn">Common Syntactic Constructs</a>
-</p></div></div>
-
-
-<h4><a id="propertyEltList" name="propertyEltList">7.2.13 Production propertyEltList</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#ws">ws</a>* (<a href="#propertyElt">propertyElt</a> <a href="#ws">ws</a>* ) *
-</p></div></div>
-
-
-<h4><a id="propertyElt" name="propertyElt">7.2.14 Production propertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-<a href="#resourcePropertyElt">resourcePropertyElt</a> |
-<a href="#literalPropertyElt">literalPropertyElt</a> |
-<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a> |
-<a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a> |
-<a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a> |
-
-<a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a> |
-<a href="#emptyPropertyElt">emptyPropertyElt</a>
-</p></div></div>
-
-<p>If element <em>e</em> has
-<em>e</em>.<a href="#eventterm-element-URI">URI</a> =
-<code>rdf:li</code> then apply the list expansion rules on element <em>e</em>.parent in
-
-<a href="#section-List-Expand">section 7.4</a>
-to give a new URI <em>u</em> and
-<em>e</em>.<a href="#eventterm-element-URI">URI</a> := <em>u</em>.
-</p>
-
-<p>The action of this production must be done before the
-actions of any sub-matches (<a
-href="#resourcePropertyElt">resourcePropertyElt</a> ... <a href="#emptyPropertyElt">emptyPropertyElt</a>).
-Alternatively the result must be equivalent to as if it this action
-was performed first, such as performing as the first
-action of all of the sub-matches.
-
-</p>
-
-
-<h4><a id="resourcePropertyElt" name="resourcePropertyElt">7.2.15 Production resourcePropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?))<br />
-
-<a href="#ws">ws</a>* <a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>*<br />
-end-element()
-</p></div></div>
-
-<p>For element <em>e</em>, and the single contained nodeElement
-<em>n</em>, first <em>n</em> must be processed using production
-
-<a href="#nodeElement">nodeElement</a>.
-Then the following statement is added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-&#160;&#160;<code> <em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-
-</p></div></div>
-
-<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
-statement is reified with
-<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-
-<a href="#section-Reification">section 7.3</a>
-and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em></p>
-
-
-<h4><a id="literalPropertyElt" name="literalPropertyElt">7.2.16 Production literalPropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#datatypeAttr">datatypeAttr</a>?))<br />
-<a href="#section-text-node">text()</a><br />
-end-element()
-</p></div></div>
-
-<p>Note that the empty literal case is defined in production
-<a href="#emptyPropertyElt">emptyPropertyElt</a>.</p>
-
-<p>For element <em>e</em>, and the text event <em>t</em>.
-The Unicode string <em>t</em>.<a href="#eventterm-text-string-value">string-value</a> SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>.
-If the <code>rdf:datatype</code> attribute <em>d</em> is given
-then <em>o</em> := typed-literal(<a href="#eventterm-typedliteral-literal-value">literal-value</a> := <em>t</em>.<a href="#eventterm-text-string-value">string-value</a>, <a href="#eventterm-typedliteral-literal-datatype">literal-datatype</a> := <em>d</em>.<a href="#eventterm-attribute-string-value">string-value</a>)
-otherwise
-
-<em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>t</em>.<a href="#eventterm-text-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
-and the following statement is added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
-
-</p></div></div>
-
-<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
-statement is reified with
-<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-
-<a href="#section-Reification">section 7.3</a>
-and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
-
-
-<h4><a id="parseTypeLiteralPropertyElt" name="parseTypeLiteralPropertyElt">7.2.17 Production parseTypeLiteralPropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseLiteral">parseLiteral</a>))<br />
-<a href="#literal">literal</a><br />
-
-end-element()
-</p></div></div>
-
-
-<p>For element <em>e</em> and the literal <em>l</em>
-that is the <code>rdf:parseType="Literal"</code> content.
-<em>l</em> is not transformed by the syntax data model mapping into events
-(as noted in <a href="#section-Data-Model">6 Syntax Data Model</a>)
-but remains an XML Infoset of XML Information items.</p>
-
-<p><em>l</em> is transformed into the lexical form of an
-<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literal</a>
-in the RDF graph <em>x</em> (a Unicode string)
-by the following algorithm.  This does not mandate any implementation
-method &mdash; any other method that gives the same result may be used.</p>
-
-<ol>
-<li>Use <em>l</em> to construct an XPath<a href="#ref-xpath">[XPATH]</a> <a href="http://www.w3.org/TR/1999/REC-xpath-19991116#infoset">node-set</a>
-
-(a <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-document-subset">document subset</a>)</li>
-<li>Apply <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/">Exclusive XML Canonicalization</a> [<a href="#ref-xml-xc14n">XML-XC14N</a>])
-with comments and with empty
-<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">InclusiveNamespaces PrefixList</a>
-to this node-set to give a sequence of octets <em>s</em>
-</li>
-<li>This sequence of octets <em>s</em> can be considered to be
-a UTF-8 encoding of some Unicode string <em>x</em> (sequence
-of Unicode characters)</li>
-
-<li>The Unicode string <em>x</em> is used as the lexical form of <em>l</em></li>
-<li>This Unicode string
-<em>x</em> SHOULD be in NFC Normal Form C<a href="#ref-nfc">[NFC]</a></li>
-</ol>
-
-
-<p>Then <em>o</em> := typed-literal(<a href="#eventterm-typedliteral-literal-value">literal-value</a> := <em>x</em>, <a href="#eventterm-typedliteral-literal-datatype">literal-datatype</a> := <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code> )
-and the following statement is added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-typedliteral-string-value">string-value</a> .</code>
-
-</p></div></div>
-
-<div class="note"><p><strong>Test:</strong>
-Empty literal case indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test009.rdf">test009.rdf</a>
-and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test009.nt">test009.nt</a>
-</p></div>
-
-<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
-statement is reified with
-
-<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-<a href="#section-Reification">section 7.3</a>
-and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
-
-
-
-<h4><a id="parseTypeResourcePropertyElt" name="parseTypeResourcePropertyElt">7.2.18 Production parseTypeResourcePropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseResource">parseResource</a>))<br />
-
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()
-</p></div></div>
-
-<p>For element <em>e</em> with possibly empty element content <em>c</em>.</p>
-
-<p><em>n</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()).</p>
-
-<p>Add the following statement to the graph:
-</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-
-</p></div></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test004.rdf">test004.rdf</a>
-and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test004.nt">test004.nt</a>
-</p></div>
-
-<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the
-statement above is reified with
-
-<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-<a href="#section-Reification">section 7.3</a>
-and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
-
-<p>If the element content <em>c</em> is not empty, then use event
-<em>n</em> to create a new sequence of events as follows:</p>
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> := <code>rdf:Description</code>,<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-subject">subject</a> := <em>n</em>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> := set())<br />
-  <em>c</em><br />
-end-element()
-</p></div></div>
-
-<p>Then 
-process the resulting sequence using production
-
-<a href="#nodeElementList">nodeElement</a>.</p>
-
-
-<h4><a id="parseTypeCollectionPropertyElt" name="parseTypeCollectionPropertyElt">7.2.19 Production parseTypeCollectionPropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseCollection">parseCollection</a>))<br />
-<a href="#nodeElementList">nodeElementList</a><br />
-end-element()
-</p></div></div>
-
-<p>For element event <em>e</em> with possibly empty
-
-<a href="#nodeElementList">nodeElementList</a> <em>l</em>.  Set
-<em>s</em>:=list().</p>
-
-<p>For each element event <em>f</em> in <em>l</em>,
-<em>n</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()) and append <em>n</em> to 
-
-<em>s</em> to give a sequence of events.</p>
-
-<p>If <em>s</em> is not empty, <em>n</em> is the first event identifier in
-<em>s</em> and the following statement is added to the graph:</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-</p></div></div>
-
-<p>otherwise the following statement is added to the graph:</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .</code>
-
-</p></div></div>
-
-<p>If the <code>rdf:ID</code> attribute <em>a</em> is given,
-either of the the above statements is reified with
-<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-
-<a href="#section-Reification">section 7.3</a>.
-</p>
-
-<p>If <em>s</em> is empty, no further work is performed.</p>
-
-<p>For each event <em>n</em> in <em>s</em> and the
-corresponding element event <em>f</em> in <em>l</em>, the following
-statement is added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a>  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; <em>f</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-</p></div></div>
-
-<p>For each consecutive and overlapping pair of events
-(<em>n</em>, <em>o</em>) in <em>s</em>, the following statement is
-added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; <em>o</em>.<a href="#eventterm-identifier-string-value">string-value</a>  .</code>
-
-</p></div></div>
-
-<p>If <em>s</em> is not empty, <em>n</em> is the last event identifier
-in <em>s</em>, the following statement is added to the graph:</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .</code>
-
-</p></div></div>
-
-
-
-<h4><a id="parseTypeOtherPropertyElt" name="parseTypeOtherPropertyElt">7.2.20 Production parseTypeOtherPropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseOther">parseOther</a>))<br />
-
-<a href="#propertyEltList">propertyEltList</a><br />
-end-element()
-</p></div></div>
-
-
-<p>All <code>rdf:parseType</code> attribute values other than the strings
-"Resource", "Literal" or "Collection" are treated as if the value was
-"Literal".   This production matches and acts as if production
-<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
-was matched.
-No extra triples are generated for other <code>rdf:parseType</code> values.
-</p>
-
-
-<h4><a id="emptyPropertyElt" name="emptyPropertyElt">7.2.21 Production emptyPropertyElt</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, ( <a href="#resourceAttr">resourceAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
-
-end-element()
-</p></div></div>
-
-
-<ul>
-
-<li>
-<p>If there are no attributes <strong>or</strong> only the
-optional <code>rdf:ID</code> attribute <em>i</em>
-then <em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a>:="", <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
-and the following statement is added to the graph:</p>
-
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
-
-</p></div></div>
-
-<p>and then if <em>i</em> is given, the above statement is reified with
-uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
-using the reification rules in
-<a href="#section-Reification">section 7.3</a>.</p>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test002.rdf">test002.rdf</a>
-and
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test002.nt">test002.nt</a>
-</p></div>
-
-<div class="note"><p><strong>Test:</strong>
-Indicated by
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test005.rdf">test005.rdf</a>
-and
-
-<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test005.nt">test005.nt</a>
-</p></div>
-
-</li>
-
-<li>
-
-<p>Otherwise</p>
-
-  <ul>
-    <li>If <code>rdf:resource</code> attribute <em>i</em> is present, then
-    <em>r</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
-    </li>
-
-    <li>If <code>rdf:nodeID</code> attribute <em>i</em> is present, then
-    <em>r</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>)
-    </li>
-
-    <li>If neither,
-    <em>r</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id())
-    </li>
-  </ul>
-
-<p>The following are done in any order:</p>
-
-<ul>
-
-<li><p>For all <a href="#propertyAttr">propertyAttr</a>
-attributes <em>a</em> (in any order)</p>
-  <ul>
-
-    <li><p>If <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:type</code>
-
-    then <em>u</em>:=uri(identifier:=resolve(<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
-    and the following triple is added to the graph:</p>
-    <div class="ntripleOuter"><div class="ntripleInner"><p>
-    <code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>u</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-
-    </p></div></div>
-    </li>
-
-    <li><p>Otherwise Unicode string
-     <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>
-     SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>,
-     <em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
-     and the following statement is added to the graph:</p>
-
-    <div class="ntripleOuter"><div class="ntripleInner"><p>
-    <code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> <em>a</em>.<a href="#eventterm-attribute-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
-
-    </p></div></div>
-    </li>
-
-  </ul>
+<!-- SECOND PART : TERMINILOGY -->
+
+<section id="section-Terminology">
+  <h2>Terminology</h2>
+
+  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
+    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
+    this document are to be interpreted as described in
+    <a href="http://www.ietf.org/rfc/rfc2119.txt">RFC 2119</a>
+    <a href="#ref-keywords">[KEYWORDS]</a>.</p>
+
+    <p>All use of string without further qualification refers to
+    a Unicode<a href="#ref-unicode">[UNICODE]</a> character string; 
+    a sequence of characters represented by a code point in Unicode.
+    (Such as defined in <a href="#ref-charmod">[CHARMOD]</a> in section
+    <a href="http://www.w3.org/TR/2003/WD-charmod-20030822/#sec-Strings">3.4 Strings</a>).</p>
+    
+</section>
+
+
+<!-- THIRD PART : MIME Type -->
+
+<section id="section-MIME-Type">
+    <h2>RDF MIME Type, File Extension and Macintosh File Type</h2>
+
+    <p>The Internet media type / MIME type for RDF/XML is
+    "<code>application/rdf+xml</code>" &mdash; 
+
+    see <a href="http://www.ietf.org/rfc/rfc3023.txt">RFC 3023</a>
+    <a href="#ref-rfc3023">[RFC-3023]</a> section 8.18.
+    </p>
+
+    <div class="note"><p><strong>Registration Note (Informative):</strong>
+    For the state of the MIME type registration, consult
+    <a href="http://www.iana.org/assignments/media-types/">IANA MIME Media Types</a> <a href="#ref-iana-media-types">[IANA-MEDIA-TYPES]</a>
+    </p></div>
+
+    <p>It is recommended that RDF/XML files have the extension
+    <code>".rdf"</code> (all lowercase) on all platforms.</p>
+
+    <p>It is recommended that RDF/XML files stored on Macintosh HFS file
+    systems be given a file type of <code>"rdf&nbsp;"</code>
+    (all lowercase, with a space character as the fourth letter).</p>
+</section>
+
+
+<!-- FOURTH PART : Global Issues -->
+
+<section id="section-Global">
+    <h2>Global Issues</h2>
+
+    <!-- namespace -->
+    <section id="section-Namespace">
+    
+    <h3>The RDF Namespace and Vocabulary</h3>
+
+    <div class="note"><p><strong>Note (Informative):</strong>
+    The names <code>aboutEach</code> and <code>aboutEachPrefix</code> were removed
+    from the language and the RDF vocabulary by the RDF Core Working Group.
+    See the resolution of issues
+    <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach">rdfms-abouteach</a> and
+
+    <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteachprefix">rdfms-abouteachprefix</a>
+    for further information.
+    </p></div>
+
+    <div class="note"><p><strong>Note (Informative):</strong>
+    The names <code>List</code>, <code>first</code>,
+    <code>rest</code> and <code>nil</code> were added for issue
+
+    <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-seq-representation">rdfms-seq-representation</a>.
+    The names <code>XMLLiteral</code> and <code>datatype</code> were added
+    to support RDF datatyping.
+    The name <code>nodeID</code> was added
+    for issue
+    <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-syntax-incomplete">rdfms-syntax-incomplete</a>.
+    See the
+    <a href="http://www.w3.org/2000/03/rdf-tracking/">RDF Core Issues List</a>
+    for further information.
+    </p></div>
+
+    <p>The
+    <span class="termdef"><a id="rdf-ns-uri" name="rdf-ns-uri">RDF namespace URI reference</a></span> (or namespace name) is
+    <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>
+    and is typically used in XML with the prefix <code>rdf</code>
+    although other prefix strings may be used.
+    The <span class="termdef"><a id="rdf-vocabulary" name="rdf-vocabulary">RDF Vocabulary</a></span>
+    is identified by this namespace name and consists of the following names only:</p>
+
+    <dl>
+    <dt>Syntax names &mdash; not concepts</dt>
+    <dd>
+    <p>
+    <code>RDF Description ID about parseType resource li nodeID datatype</code>
+    </p>
+    </dd>
+
+    <dt>Class names</dt>
+    <dd>
+    <p>
+    <code>Seq Bag Alt Statement Property XMLLiteral List</code>
+
+    </p>
+    </dd>
+
+    <dt>Property names</dt>
+    <dd>
+    <p>
+    <code>subject predicate object type value first rest _</code><em>n</em><br />
+    where <em>n</em> is a decimal integer greater than zero with no leading zeros.
+    </p>
+    </dd>
+
+    <dt>Resource names</dt>
+    <dd>
+    <p>
+    <code>nil</code>
+    </p>
+    </dd>
+
+    </dl>
+
+    <p>Any other names are not defined and SHOULD generate a warning when
+    encountered, but should otherwise behave normally.</p>
+
+    <p>Within RDF/XML documents it is not permitted to use XML namespaces
+    whose namespace name is the
+    <a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a>
+
+    concatenated with additional characters.</p>
+
+    <p>Throughout this document the terminology <code>rdf:</code><em>name</em>
+    will be used to indicate <em>name</em> is from the RDF vocabulary
+    and it has a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> of the concatenation of the
+    <a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a> and <em>name</em>.
+    For example, <code>rdf:type</code> has the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> 
+
+    <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code></p>
+    </section>
+
+    
+    <!-- identifiers -->
+    <section id="section-Identifiers">
+    <h3>Identifiers</h3>
+
+    <p>The
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
+    (<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> Section 3)
+    defines three types of nodes and one type of predicate:</p>
+
+    <dl>
+
+    <dt><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> nodes and predicates</dt>
+    <dd>
+    <p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> (<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> Section 3.1)
+    can be either:</p>
+    <ul>
+    <li>given as XML attribute values interpreted as relative
+    URI references that are resolved against the in-scope base URI
+    as described in <a href="#section-baseURIs">section 5.3</a>
+
+    to give absolute <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a></li>
+    <li>transformed from XML namespace-qualified element and attribute names
+    (QNames)</li>
+    <li>transformed from <code>rdf:ID</code> attribute values.</li>
+    </ul>
+
+    <p>Within RDF/XML, XML QNames are transformed into
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+    by appending the XML local name to the namespace name (URI reference).
+    For example, if the XML namespace prefix <code>foo</code> has
+    namespace name (URI reference)
+
+    <code>http://example.org/somewhere/</code> then the QName
+    <code>foo:bar</code> would correspond to the RDF URI reference
+    <code>http://example.org/somewhere/bar</code>.  Note that this
+    restricts which
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> can be made and the same URI can be given in multiple ways.</p>
+
+    <p>The <a href="#idAttr"><code>rdf:ID</code></a> values
+    are transformed into
+
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+    by appending the attribute value to the result of appending
+    "#" to the in-scope base URI which is defined in
+    <a href="#section-baseURIs">Section 5.3 Resolving URIs</a></p>
+    </dd>
+
+    <dt>Literal nodes (always object nodes)</dt>
+    <dd><p>
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal">RDF literals</a> (<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">RDF Concepts and Abstract Syntax</a> 6.5) are either
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literals</a> (ibid),
+    or
+
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literals</a> (ibid).
+    The latter includes <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a> (ibid section 5, <cite>XML Content within an RDF graph</cite>).
+    </p>
+    </dd>
+
+    <dt>Blank Node Identifiers</dt>
+    <dd><p><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node">Blank nodes</a> have distinct identity in the RDF graph.
+    When the graph is written in a syntax such as RDF/XML, these
+    blank nodes may need graph-local identifiers and a syntax
+    in order to preserve this distinction.  These local identifiers are called
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifiers</a>
+
+    and are used in RDF/XML as values of the <code>rdf:nodeID</code> attribute 
+    with the syntax given in <a href="#nodeIdAttr">Production nodeIdAttr</a>.
+    Blank node identifiers in RDF/XML are scoped to the XML Information Set
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>.</p>
+
+    <p>If no blank node identifier is given explicitly as an
+    <code>rdf:nodeID</code> attribute value then one will need to be
+    generated (using generated-blank-node-id, see section <a href="#section-Infoset-Grammar-Action">6.3.3</a>).
+    Such generated blank node
+    identifiers must not clash with any blank node identifiers derived
+    from <code>rdf:nodeID</code> attribute values.  This can be
+    implemented by any method that preserves the distinct identity of all
+    the blank nodes in the graph, that is, the same blank node identifier
+    is not given for different blank nodes.  One possible method would be
+    to add a constant prefix to all the <code>rdf:nodeID</code> attribute
+    values and ensure no generated blank node identifiers ever used that
+    prefix.  Another would be to map all <code>rdf:nodeID</code> attribute
+    values to new generated blank node identifiers and perform that mapping
+    on all such values in the RDF/XML document.</p>
+    </dd>
+    </dl>
+
+    </section>
+
+    
+    <!-- uri resolution -->
+    <section id="section-baseURIs">
+    <h3>Resolving URIs</h3>
+
+    <p>RDF/XML supports 
+    <a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>
+    which defines a
+    <a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
+
+    accessor for each
+    <a href="#section-root-node"><span class="arrow">·</span>root event<span class="arrow">·</span></a> and
+    <a href="#section-element-node"><span class="arrow">·</span>element event<span class="arrow">·</span></a>.
+    Relative URI references are resolved into
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+    according to the algorithm specified in
+    <a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>
+
+    (and RFC 2396).
+    These specifications do not specify an algorithm for resolving a
+    fragment identifier alone, such as <code>#foo</code>, or the empty
+    string <code>""</code> into an
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>. In RDF/XML, a fragment identifier
+    is transformed into a
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+    by appending the fragment identifier to the in-scope base URI. The
+    empty string is transformed
+    into an
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>
+    by substituting the in-scope base URI.
+    </p>
 
     <div class="note"><p><strong>Test:</strong>
+
     Indicated by
-    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test013.rdf">test013.rdf</a>
-    and
-    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test013.nt">test013.nt</a>
-
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test001.rdf">test001.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test001.nt">test001.nt</a>
     </p></div>
 
     <div class="note"><p><strong>Test:</strong>
     Indicated by
-    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test014.rdf">test014.rdf</a>
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test004.rdf">test004.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test004.nt">test004.nt</a>
+    </p></div>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test008.rdf">test008.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test008.nt">test008.nt</a>
+    </p></div>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.rdf">test013.rdf</a> and
+
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.nt">test013.nt</a>
+    </p></div>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test016.rdf">test016.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test016.nt">test016.nt</a>
+    </p></div>
+
+    <p>An empty same document reference ""
+    resolves against the URI part of the base URI; any fragment part
+    is ignored.  See
+    <a href="http://www.isi.edu/in-notes/rfc2396.txt">Uniform Resource Identifiers (URI)</a> <a href="#ref-uri">[URIS]</a> section 4.2 
+
+    </p>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.rdf">test013.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test013.nt">test013.nt</a>
+    </p></div>
+
+    <div class="note"><p><strong>Implementation Note (Informative):</strong>
+    When using a hierarchical base
+    URI that has no path component (/), it must be added before using as a
+    base URI for resolving.
+    </p></div>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test011.rdf">test011.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test011.nt">test011.nt</a>
+    </p></div>
+    </section>
+
+    
+    <!-- constraints -->
+    <section id="section-constraints">
+    <h3>Constraints</h3>
+
+    <dl>
+    <dt><strong><a id="constraint-id" name="constraint-id">constraint-id</a></strong><br /></dt>
+
+    <dd><p>Each application of production <a href="#idAttr">idAttr</a>
+    matches an attribute.  The pair formed by the
+    <a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+    accessor of the matched attribute and the
+    <a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
+    accessor of the matched attribute is unique within a single RDF/XML
+    document.</p>
+
+    <p>The syntax of the  names must match the
+
+    <a href="#rdf-id">rdf-id production</a>.</p>
+
+    <div class="note"><p><strong>Test:</strong>
+    Indicated by
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test014.rdf">test014.rdf</a> and
+    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/xmlbase/test014.nt">test014.nt</a>
+    </p></div>
+    </dd>
+
+    </dl>
+    </section>
+
+    
+    <!-- conformance -->
+    <section id="section-conformance">
+    <h3>Conformance</h3>
+
+    <dl>
+    <dt>Definition:<br /></dt>
+      <dd>An <span class="termdef"><a id="dfn-rdf-document" name="dfn-rdf-document">RDF Document</a></span> is a serialization of an
+      <a href="http://www.w3.org/TR/rdf-concepts/#dfn-rdf-graph">RDF Graph</a>
+      into a concrete syntax.</dd>
+
+    <dt>Definition:<br /></dt>
+      <dd>An <span class="termdef"><a name="dfn-rdf-xml-document">RDF/XML Document</a></span> is an
+      <a href="#dfn-rdf-document" class="termref">RDF Document</a> written in the
+      recommended XML transfer syntax for RDF as defined in this document.</dd>
+
+    <dt>Conformance:<br /></dt>
+      <dd>An <a href="#dfn-rdf-xml-document" class="termref">RDF/XML Document</a> is a
+      <span class="termdef"><a name="dfn-conforming-rdf-xml-document">conforming RDF/XML document</a></span>
+
+      if it adheres to the specification defined in this document.</dd>
+    </dl>
+    </section>
+
+</section>
+    
+    
+    
+<!-- FIFTH PART : Data Model -->
+
+<section id="section-Data-Model">
+
+    <h2>Syntax Data Model</h2>
+	
+    <div>
+    <p>This document specifies the syntax of RDF/XML as a grammar on an
+    alphabet of symbols. The symbols are called <em>events</em> in the
+    style of the <a href="#ref-xpath">[XPATH]</a>&#160;
+
+    <a href="http://www.w3.org/TR/xpath#infoset">Information Set Mapping</a>.
+    A sequence of events is normally derived from an XML document, in
+    which case they are in document order as defined below in 
+    <a href="#section-Infoset-Mapping">Section 6.2 Information Set Mapping</a>.
+    The sequence these events form are intended to be similar to the sequence
+    of events produced by the <a href="#ref-sax">[SAX2]</a> XML API from
+    the same XML document.  Sequences of events may be checked against
+    the grammar to determine whether they are or are not syntactically
+    well-formed RDF/XML.</p>
+
+    <p>The grammar productions may include actions which fire when the
+    production is recognized.  Taken together these actions define a
+    transformation from any syntactically well-formed RDF/XML sequence of
+    events into an RDF graph represented in the
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+    language.</p>
+
+    <p>The model given here illustrates one way to create a representation of
+    an <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
+
+    from an RDF/XML document.  It does not mandate any implementation
+    method &mdash; any other method that results in a representation of the same
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph">RDF Graph</a>
+    may be used.</p>
+
+    <p>In particular:</p>
+    <ul>
+    <li>This specification permits any
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#implementation-note">representation</a>
+    of an RDF graph (see <a href="#ref-rdf-concepts">[RDF-CONCEPTS]</a>);
+    in particular, it does not require the use of
+
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>.</li>
+    <li>This specification does not require the use of
+    <a href="#ref-xpath">[XPATH]</a> or <a href="#ref-sax">[SAX2]</a></li>
+    <li>This specification places no constraints on the order in which
+    software transforming RDF/XML into a representation of a graph,
+    constructs the representation of the graph.</li>
+    <li>Software transforming RDF/XML into a representation of a graph
+    MAY eliminate duplicate predicate arcs.</li>
+    </ul>
+
+    <p>The syntax does not support non-well-formed XML documents, nor
+    documents that otherwise do not have an XML Information Set; for
+    example, that do not conform to
+    <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">Namespaces in XML</a>
+
+    <a href="#ref-namespaces">[XML-NS]</a>.
+    </p>
+
+    <p>The Infoset requires support for
+    <a href="http://www.w3.org/TR/2001/REC-xmlbase-20010627/">XML Base</a> <a href="#ref-xml-base">[XML-BASE]</a>.
+    RDF/XML uses the information item property [base URI], discussed in
+    <a href="#section-baseURIs">section 5.3</a>
+    </p>
+
+    <p>This specification requires an
+    XML Information Set <a href="#ref-xml-infoset">[INFOSET]</a>
+    which supports at least the following information items and
+    properties for RDF/XML:</p>
+
+    <dl>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a></dt>
+    <dd>[document element], [children], [base URI]</dd>
+
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">element information item</a></dt>
+    <dd>[local name], [namespace name], [children], [attributes], [parent], [base URI]</dd>
+
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute">attribute information item</a></dt>
+    <dd>[local name], [namespace name], [normalized value]</dd>
+
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character information item</a></dt>
+    <dd>[character code]</dd>
+    </dl>
+
+    <p>There is no mapping of the following items to data model events:</p>
+    <dl>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.pi">processing instruction information item</a></dt>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.rse">unexpanded entity reference information item</a></dt>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.comment">comment information item</a></dt>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.doctype">document type declaration information item</a></dt>
+
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.entity.unparsed">unparsed entity information item</a></dt>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.notation">notation information item</a></dt>
+    <dt><a href="http://www.w3.org/TR/xml-infoset/#infoitem.namespace">namespace information item</a></dt>
+    </dl>
+
+    <p>Other information items and properties have no mapping to
+    syntax data model events.
+    </p>
+
+    <p>Element information items with reserved XML Names
+    (See <a href="http://www.w3.org/TR/2000/REC-xml-20001006#dt-name">Name</a>
+    in <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a>)
+    are not mapped to data model element events.  These are all those
+    with property [prefix] beginning with <code>xml</code> (case
+    independent comparison) and all those with [prefix] property
+    having no value and which have [local name] beginning with
+
+    <code>xml</code> (case independent comparison).
+    </p>
+
+    <p>All information items contained inside XML elements matching the
+    <a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
+    production form
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literals</a>
+    and do not follow this mapping.  See
+    <a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
+    for further information.</p>
+
+    <p>This section is intended to satisfy the requirements for
+    <a href="http://www.w3.org/TR/xml-infoset/#conformance">Conformance</a>
+    in the <a href="#ref-xml-infoset">[INFOSET]</a> specification.
+    It specifies the information items and properties that are needed
+    to implement this specification.
+    </p>
+    </div>
+
+    <!-- events -->
+    <section id="section-Nodes">
+    <h3>Events</h3>
+
+    <p>There are nine types of event defined in the following subsections.
+    Most events are constructed from an Infoset information item (except
+    for <a href="#section-identifier-node">URI reference</a>,
+
+    <a href="#section-blank-nodeid-event">blank node</a>,
+    <a href="#section-literal-node">plain literal</a> and
+    <a href="#section-typed-literal-node">typed literal</a>).  The effect
+    of an event constructor is to create a new event with a unique identity,
+    distinct from all other events.  Events have accessor operations on them
+    and most have the <em>string-value</em> accessor that may be a static value
+    or computed.</p>
+
+	<!-- root event -->
+    <section id="section-root-node">
+    <h3>Root Event</h3>
+
+    <p>Constructed from a
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>
+    and takes the following accessors and values.</p>
+
+    <dl>
+    <dt><span class="termdef"><a id="eventterm-root-document-element" name="eventterm-root-document-element">document-element</a></span><br /></dt>
+    <dd>Set to the value of document information item property [document-element].</dd>
+    <dt><span class="termdef"><a id="eventterm-root-children" name="eventterm-root-children">children</a></span><br /></dt>
+    <dd>Set to the value of document information item property [children].</dd>
+    <dt><span class="termdef"><a id="eventterm-root-base-uri" name="eventterm-root-base-uri">base-uri</a></span><br /></dt>
+
+    <dd>Set to the value of document information item property [base URI].</dd>
+    <dt><span class="termdef"><a id="eventterm-root-language" name="eventterm-root-language">language</a></span><br /></dt>
+    <dd>Set to the empty string.</dd>
+    </dl>
+    </section>
+
+    <!-- root event -->
+    <section id="section-element-node">
+    <h3>Element Event</h3>
+
+    <p>Constructed from an 
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">element information item</a>
+
+    and takes the following accessors and values:
+    </p>
+
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-element-local-name" name="eventterm-element-local-name">local-name</a></span><br /></dt>
+      <dd>Set to the value of element information item property [local name].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-namespace-name" name="eventterm-element-namespace-name">namespace-name</a></span><br /></dt>
+      <dd>Set to the value of element information item property [namespace name].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-children" name="eventterm-element-children">children</a></span><br /></dt>
+      <dd>Set to the value of element information item property [children].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-base-uri" name="eventterm-element-base-uri">base-uri</a></span><br /></dt>
+      <dd>Set to the value of element information item property [base URI].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-attributes" name="eventterm-element-attributes">attributes</a></span><br /></dt>
+
+      <dd><p>Made from the value of element information item property [attributes] which is a set of attribute information items.</p>
+
+      <p>If this set contains an attribute information item <code>xml:lang</code> (
+      [namespace name] property with the value 
+      "http://www.w3.org/XML/1998/namespace" and
+      [local name] property value "lang")
+      it is removed from the set of attribute information items and the 
+     <a href="#eventterm-element-language" class="termref"><span class="arrow">·</span>language<span class="arrow">·</span></a> accessor is set to the
+      [normalized-value] property of the attribute information item.</p>
+
+      <p>All remaining reserved XML Names
+      (See <a href="http://www.w3.org/TR/2000/REC-xml-20001006#dt-name">Name</a>
+
+      in <a href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0</a>)
+      are now removed from the set.  These are, all
+      attribute information items in the set with property [prefix]
+      beginning with <code>xml</code> (case independent
+      comparison) and all attribute information items with [prefix]
+      property having no value and which have [local name] beginning with
+      <code>xml</code> (case independent comparison) are removed.
+      Note that the [base URI] accessor is computed by XML Base before any
+      <code>xml:base</code> attribute information item is deleted.</p>
+
+      <p>The remaining set of attribute information items are then used
+      to construct a new set of 
+      <a href="#section-attribute-node">Attribute Events</a>
+
+      which is assigned as the value of this accessor.</p>
+      </dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-URI" name="eventterm-element-URI">URI</a></span><br /></dt>
+      <dd>Set to the string value of the concatenation of the
+      value of the namespace-name accessor and the value of the
+      local-name accessor.
+      </dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-URI-string-value" name="eventterm-element-URI-string-value">URI-string-value</a></span><br /></dt>
+      <dd>
+
+    <p>The value is the concatenation of the following in this order "&lt;",
+    the escaped value of the
+    <a href="#eventterm-element-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+    accessor and "&gt;".</p>
+
+    <p>The escaping of the
+    <a href="#eventterm-element-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+    accessor uses the N-Triples escapes for
+    URI references as described in 3.3 URI References.
+    </p>
+
+      </dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-liCounter" name="eventterm-element-liCounter">li-counter</a></span><br /></dt>
+      <dd>Set to the integer value 1.</dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-language" name="eventterm-element-language">language</a></span><br /></dt>
+      <dd>Set from the
+      <a href="#eventterm-element-attributes" class="termref"><span class="arrow">·</span>attributes<span class="arrow">·</span></a> 
+      as described above.
+      If no value is given from the attributes, the value is set to the value of
+      the language accessor on the parent event (either a
+      <a href="#section-root-node">Root Event</a> or an
+      <a href="#section-element-node">Element Event</a>), which may be the empty string.
+      </dd>
+
+      <dt><span class="termdef"><a id="eventterm-element-subject" name="eventterm-element-subject">subject</a></span><br /></dt>
+      <dd>Has no initial value.  Takes a value that is an
+      <a href="#section-identifier-node">Identifier</a> event.
+      This accessor is used on elements that deal with one node in the RDF graph,
+      this generally being the subject of a statement.</dd>
+
+    </dl>
+    </section>
+
+	
+    <!-- end element event -->
+    <section id="section-end-element-node">
+    <h3>End Element Event</h3>
+
+    <p>Has no accessors.  Marks the end of the containing element in
+    the sequence.</p>
+    </section>
+
+	
+    <!-- attribute event -->
+    <section id="section-attribute-node">
+    <h3>Attribute Event</h3>
+
+    <p>Constructed from an 
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute">attribute information item</a>
+    and takes the following accessors and values:</p>
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-attribute-local-name" name="eventterm-attribute-local-name">local-name</a></span><br /></dt>
+      <dd>Set to the value of attribute information item property [local name].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-attribute-namespace-name" name="eventterm-attribute-namespace-name">namespace-name</a></span><br /></dt>
+      <dd>Set to the value of attribute information item property [namespace name].</dd>
+
+      <dt><span class="termdef"><a id="eventterm-attribute-string-value" name="eventterm-attribute-string-value">string-value</a></span><br /></dt>
+
+      <dd>Set to the value of the attribute information item property [normalized value] as specified by
+      <a href="#ref-xml">[XML]</a> (if an attribute whose normalized
+      value is a zero-length string, then the string-value is also
+      a zero-length string).</dd>
+
+      <dt><span class="termdef"><a id="eventterm-attribute-URI" name="eventterm-attribute-URI">URI</a></span><br /></dt>
+      <dd><p>If <a href="#eventterm-attribute-namespace-name" class="termref"><span class="arrow">·</span>namespace-name<span class="arrow">·</span></a> is present,
+      set to a string value of the concatenation of the value of the
+      <a href="#eventterm-attribute-namespace-name" class="termref"><span class="arrow">·</span>namespace-name<span class="arrow">·</span></a> accessor
+      and the value of the
+      <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor.
+      Otherwise if <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> is
+      <code>ID</code>, <code>about</code>, <code>resource</code>, <code>parseType</code> or <code>type</code>, set to a string value of the
+      concatenation of the
+      <a href="#rdf-ns-uri" class="termref"><span class="arrow">·</span>RDF namespace URI reference<span class="arrow">·</span></a>
+
+      and the value of the <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor.   Other non-namespaced <a href="#eventterm-attribute-local-name" class="termref"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor values are forbidden.</p>
+
+       <p>The support for a limited set of non-namespaced names is
+       REQUIRED and intended to allow RDF/XML documents specified in
+       <a href="#ref-rdfms">[RDF-MS]</a> to remain valid; new documents
+       SHOULD NOT use these unqualified attributes and applications MAY
+       choose to warn when the unqualified form is seen in a document.</p>
+
+       <p>The construction of
+       <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+       from XML attributes can generate the same
+       <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+       from different XML attributes.  This can cause ambiguity in the
+       grammar when matching attribute events (such as when
+       <code>rdf:about</code> and <code>about</code> XML attributes are
+       both present).  Documents that have this are illegal.
+       </p>
+
+    </dd>
+
+      <dt><span class="termdef"><a id="eventterm-attribute-URI-string-value" name="eventterm-attribute-URI-string-value">URI-string-value</a></span><br /></dt>
+      <dd>
+    <p>The value is the concatenation of the following in this order "&lt;",
+    the escaped value of the 
+    <a href="#eventterm-attribute-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+    accessor and "&gt;".</p>
+
+    <p>The escaping of the
+    <a href="#eventterm-attribute-URI" class="termref"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+    accessor uses the N-Triples escapes for
+    URI references as described in 3.3 URI References.
+    </p>
+      </dd>
+
+    </dl>
+    </section>
+
+	
+    <!-- text event -->
+    <section id="section-text-node">
+    <h3>Text Event</h3>
+
+    <p>Constructed from a sequence of one or more consecutive
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character information items</a>.
+    Has the single accessor:</p>
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-text-string-value" name="eventterm-text-string-value">string-value</a></span><br /></dt>
+      <dd>Set to the value of the string made from concatenating the
+      [<a href="http://www.w3.org/TR/xml-infoset/#infoitem.character">character code</a>] property of each of the character information items.
+      </dd>
+    </dl>
+    </section>
+
+	
+    <!-- uri reference event -->
+    <section id="section-identifier-node">
+    <h3>URI Reference Event</h3>
+
+    <p><a id="eventterm-identifier-identifier-type" name="eventterm-identifier-identifier-type"></a>
+    An event for a
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a>
+    which has the following accessors:</p>
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-identifier-identifier" name="eventterm-identifier-identifier">identifier</a></span><br /></dt>
+      <dd>Takes a string value used as an
+      <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.
+      </dd>
+
+      <dt><span class="termdef"><a id="eventterm-identifier-string-value" name="eventterm-identifier-string-value">string-value</a></span><br /></dt>
+      <dd><p>The value is the concatenation of "&lt;", the escaped value of the <a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor and "&gt;"</p>
+
+      <p>The escaping of the <a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor value
+        uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a> escapes for URI references as described in
+      <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#sec-uri-encoding">3.3 URI References</a>.</p>
+
+     </dd>
+
+    </dl>
+
+    <p>These events are constructed by giving a value for the
+    <a href="#eventterm-identifier-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
+    </p>
+
+    <p>For further information on identifiers in the RDF graph, see
+    <a href="#section-Identifiers">section 5.2</a>.</p>
+    </section>
+
+	
+    <!-- blank node identifier event -->
+    <section id="section-blank-nodeid-event">
+    <h3>Blank Node Identifier Event</h3>
+
+    <p>An event for a
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>
+     which has the following accessors:</p>
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-blanknodeid-identifier" name="eventterm-blanknodeid-identifier">identifier</a></span><br /></dt>
+
+      <dd>Takes a string value.</dd>
+
+      <dt><span class="termdef"><a id="eventterm-blanknodeid-string-value" name="eventterm-blanknodeid-string-value">string-value</a></span><br /></dt>
+      <dd>The value is a function of the value of the
+    <a href="#eventterm-blanknodeid-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor. 
+    The value begins with "_:" and the entire value MUST match the
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#nodeID">nodeID</a> production.
+    The function MUST preserve distinct blank node identity as discussed in in section <a href="#section-Identifiers">5.2 Identifiers</a>.</dd>
+
+    </dl>
+
+    <p>These events are constructed by giving a value for the
+    <a href="#eventterm-blanknodeid-identifier" class="termref"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
+    </p>
+
+    <p>For further information on identifiers in the RDF graph, see
+    <a href="#section-Identifiers">section 5.2</a>.</p>
+    </section>
+
+	
+    <!-- plain literal event -->
+    <section id="section-literal-node">
+    <h3>Plain Literal Event</h3>
+
+    <p>An event for a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal">plain literal</a> which can have the following accessors:</p>
+
+    <dl>
+      <dt><span class="termdef"><a id="eventterm-literal-literal-value" name="eventterm-literal-literal-value">literal-value</a></span><br /></dt>
+      <dd>Takes a string value.</dd>
+
+      <dt><span class="termdef"><a id="eventterm-literal-literal-language" name="eventterm-literal-literal-language">literal-language</a></span><br /></dt>
+      <dd>Takes a string value used as a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-language-identifier">language tag</a> in an RDF plain literal.</dd>
+
+      <dt><span class="termdef"><a id="eventterm-literal-string-value" name="eventterm-literal-string-value">string-value</a></span><br /></dt>
+      <dd><p>The value is calculated from the other accessors as follows.</p>
+
+      <p>If <a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> is the empty string
+      then the value is the concatenation of "&quot;" (1 double quote),
+      the escaped value of the
+      <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
+      and "&quot;" (1 double quote).</p>
+
+      <p>Otherwise the value is the concatenation of "&quot;" (1 double quote),
+      the escaped value of the
+      <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
+     "&quot;@" (1 double quote and a '@'),
+      and the value of the
+      <a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessor.</p>
+
+     <p>The escaping of the <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor value uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+
+      escapes for strings as described in <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntrip_strings">3.2 Strings</a>
+      for escaping certain characters such as &quot;. </p>
+      </dd>
+    </dl>
+
+    <p>These events are constructed by giving values for the
+    <a href="#eventterm-literal-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> and
+
+    <a href="#eventterm-literal-literal-language" class="termref"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessors.</p>
+
+
+    <div class="note"><p><strong>Interoperability Note (Informative):</strong>
+    <a id="literal-comb-char-note1" name="literal-comb-char-note1"></a>
+    Literals beginning with a Unicode combining character are
+    allowed however they may cause interoperability problems.
+    See <a href="#ref-charmod">[CHARMOD]</a> for further information.
+    </p></div>
+    </section>
+
+	
+    <!-- typed literal event -->
+    <section id="section-typed-literal-node">
+	<h3>Typed Literal Event</h3>
+    <a id="section-xml-literal-node" name="section-xml-literal-node"></a> <!-- old ref -->
+	
+    <p>An event for a <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-typed-literal">typed literal</a> which can have the following accessors:</p>
+
+    <dl>
+      <dt><a id="eventterm-xmlliteral-literal-value" name="eventterm-xmlliteral-literal-value"></a><span class="termdef"><a id="eventterm-typedliteral-literal-value" name="eventterm-typedliteral-literal-value">literal-value</a></span><br /></dt>
+      <dd>Takes a string value.</dd>
+
+      <dt><a id="eventterm-literal-literal-datatype" name="eventterm-literal-literal-datatype"></a><span class="termdef"><a id="eventterm-typedliteral-literal-datatype" name="eventterm-typedliteral-literal-datatype">literal-datatype</a></span><br /></dt>
+      <dd>Takes a string value used as an <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</dd>
+
+      <dt><a id="eventterm-xmlliteral-string-value" name="eventterm-xmlliteral-string-value"></a><span class="termdef"><a id="eventterm-typedliteral-string-value" name="eventterm-typedliteral-string-value">string-value</a></span><br /></dt>
+      <dd><p>The value is the concatenation of the following in this order
+      "&quot;" (1 double quote),
+      the escaped value of the
+      <a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor,
+      "&quot;" (1 double quote),  "^^&lt;",
+      the escaped value of the
+      <a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor
+      and "&gt;".
+      </p>
+
+      <p>The escaping of the <a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor value
+      uses the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+      escapes for strings as described in <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntrip_strings">3.2 Strings</a>
+      for escaping certain characters such as &quot;.
+      The escaping of the <a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor value
+      must use the <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a> escapes for URI references as described in
+      <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#sec-uri-encoding">3.3 URI References</a>.</p>
+
+    </dd>
+    </dl>
+
+    <p>These events are constructed by giving values for the
+    <a href="#eventterm-typedliteral-literal-value" class="termref"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a>
     and
-    <a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test014.nt">test014.nt</a>
-       </p></div>
-
-</li>
-
-<li><p>Add the following statement to the graph:</p>
-  <div class="ntripleOuter"><div class="ntripleInner"><p>
-  <code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
-
-  </p></div></div>
-
-  <p>and then if <code>rdf:ID</code> attribute <em>i</em> is given, the above statement is
-  reified with
-  uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>i</em>.<a href="#eventterm-identifier-string-value">string-value</a>)))
-  using the reification rules in
-  <a href="#section-Reification">section 7.3</a>.</p>
-
-</li>
-
-</ul>
-
-</li>
-</ul>
-
-
-<!-- idAboutAttr one has gone; id is closest thing replacing it -->
-<h4><a id="idAboutAttr" name="idAboutAttr"></a>
-<a id="idAttr" name="idAttr">7.2.22 Production idAttr</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>,<br />
-
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)
-</p></div></div>
-
-<p><strong>Constraint:</strong>: <a href="#constraint-id">constraint-id</a>
-applies to the values of <code>rdf:ID</code> attributes</p>
-
-<h4><a id="nodeIdAttr" name="nodeIdAttr">7.2.23 Production nodeIdAttr</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)
-
-</p></div></div>
-
-
-<h4><a id="aboutAttr" name="aboutAttr">7.2.24 Production aboutAttr</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
-
-</p></div></div>
-
-
-<h4><a id="propAttr" name="propAttr"></a><a id="typeAttr" name="typeAttr"></a>
-<a id="propertyAttr" name="propertyAttr">7.2.25 Production propertyAttr</a></h4>
-
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <a href="#propertyAttributeURIs">propertyAttributeURIs</a>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a>)
-
-</p></div></div>
-
-
-<h4><a id="resourceAttr" name="resourceAttr">7.2.26 Production resourceAttr</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:resource</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
-
-</p></div></div>
-
-
-<h4><a id="datatypeAttr" name="datatypeAttr">7.2.27 Production datatypeAttr</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:datatype</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
-
-</p></div></div>
-
-
-<h4><a id="parseLiteral" name="parseLiteral">7.2.28 Production parseLiteral</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Literal")
-
-</p></div></div>
-
-
-<h4><a id="parseResource" name="parseResource">7.2.29 Production parseResource</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Resource")
-
-</p></div></div>
-
-
-<h4><a id="parseCollection" name="parseCollection">7.2.30 Production parseCollection</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
-&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Collection")
-
-</p></div></div>
-
-
-<h4><a id="parseOther" name="parseOther">7.2.31 Production parseOther</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
-&#160;&#160;&#160;&#160;<a
-href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a> - ("Resource" | "Literal" | "Collection") )
-
-</p></div></div>
-
-
-<h4><a id="URI-reference" name="URI-reference">7.2.32 Production URI-reference</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-An <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.
-</p></div></div>
-
-
-<h4><a id="literal" name="literal">7.2.33 Production literal</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-
-Any XML element content that is allowed according to
-<a href="#ref-xml">[XML]</a> definition <em>Content of Elements</em>
-Rule [43]
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">content</a>.
-in section
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-starttags">3.1 Start-Tags, End-Tags, and Empty-Element Tags</a>
-</p>
-
-<p>The string-value for the resulting event is discussed in
-<a  href="#parseTypeLiteralPropertyElt">section 7.2.17</a>.</p>
-
-</div></div>
-
-
-<h4><a id="rdf-id" name="rdf-id">7.2.34 Production rdf-id</a></h4>
-
-<div class="productionOuter"><div class="productionInner"><p>
-An attribute <a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
-matching any legal
-<a href="#ref-namespaces">[XML-NS]</a> token
-<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a>
-
-</p></div></div>
-
-
-<h3><a id="section-Reification" name="section-Reification">7.3 Reification Rules</a></h3>
-
-<p>For the given URI reference event <em>r</em> and
-the statement with terms <em>s</em>, <em>p</em> and <em>o</em>
-
-corresponding to the N-Triples:</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>s</em> <em>p</em> <em>o</em>  .</code>
-</p></div></div>
-
-<p>add the following statements to the graph:</p>
-<div class="ntripleOuter"><div class="ntripleInner"><p>
-<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#subject&gt; <em>s</em> .</code><br />
-
-<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate&gt; <em>p</em> .</code><br />
-<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#object&gt; <em>o</em> .</code><br />
-
-<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement&gt; .</code><br />
-</p></div></div>
-
-
-<h3><a id="section-List-Expand" name="section-List-Expand">7.4 List Expansion Rules</a></h3>
-
-<p>For the given element <em>e</em>, create a new <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <em>u</em> :=
-concat("http://www.w3.org/1999/02/22-rdf-syntax-ns#_",
-
-<em>e</em>.<a href="#eventterm-element-liCounter">li-counter</a>),
-increment the
-<em>e</em>.<a href="#eventterm-element-liCounter">li-counter</a>
-property by 1 and return <em>u</em>.</p>
-
+    <a href="#eventterm-typedliteral-literal-datatype" class="termref"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessors.</p>
+
+    <div class="note"><p><strong>Interoperability Note (Informative):</strong>
+    <a id="literal-comb-char-note2" name="literal-comb-char-note2"></a>
+    Literals beginning with a Unicode combining character are
+    allowed however they may cause interoperability problems.
+    See <a href="#ref-charmod">[CHARMOD]</a> for further information.
+    </p></div>
+
+    <div class="note"><p><strong>Implementation Note (Informative):</strong>
+    <a id="literal-white-space-normalization-note" name="literal-white-space-normalization-note"></a>
+    In <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schema (part 1)</a> <a href="#ref-xml-schema1">[XML-SCHEMA1]</a>,
+
+    <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#section-White-Space-Normalization-during-Validation">white space normalization</a>
+    occurs during validation according to the value of the whiteSpace
+    facet.  The syntax mapping used in this document occurs after this,
+    so the whiteSpace facet formally has no further effect.
+    </p></div>
+    </section>
+
+	</section>
+	
+    <!-- infoset mapping -->
+    <section id="section-Infoset-Mapping">
+    <h3>Information Set Mapping</h3>
+    <a id="section-Infoset-Conformance" name="section-Infoset-Conformance"></a> <!-- old ref -->
+	
+    <p>To transform the Infoset into the sequence of events
+    in <em>document order</em>, each
+    information item is transformed as described above to generate a
+    tree of events with accessors and values.  Each element event is
+    then replaced as described below to turn the tree of events
+    into a sequence in document order.</p>
+
+    <ol>
+    <li>The original <a href="#section-element-node">element event</a></li>
+    <li>The value of the
+    <a href="http://www.w3.org/TR/xml-infoset/#infoitem.element">children</a>
+    accessor recursively transformed, a possibly empty ordered list of events.</li>
+    <li>An <a href="#section-end-element-node">end element event</a></li>
+    </ol>
+	</section>
+	
+	
+    <!-- grammar notation -->
+    <section id="section-Infoset-Grammar-Notation">
+    <h3>Grammar Notation</h3>
+    <a id="section-Notation-Forms" name="section-Notation-Forms"></a> <!-- old ref -->
+
+    <p>The following notation is used to describe matching the sequence
+    of data model events as given in <a href="#section-Data-Model">Section 6</a>
+    and the actions to perform for the matches.
+    The RDF/XML grammar is defined in terms of mapping from these matched
+    data model events to triples, using notation of the form:</p>
+
+    <blockquote>
+    <div class="productionOuter"><div class="productionInner"><p>
+    number <em>event-type</em> <em>event-content</em>
+
+    </p></div></div>
+
+    <div>
+    <em>action</em>...
+    <div class="ntripleOuter"><div class="ntripleInner"><p>
+    <code>
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+    </code>
+    </p></div></div>
+    </div>
+    </blockquote>
+
+    <p>where the <em>event-content</em> is an expression matching
+
+    <em>event-types</em> (as defined in <a href="#section-Nodes">Section 6.1</a>),
+    using notation given in the following sections.
+    The number is used for reference purposes.
+    The grammar <em>action</em> may include generating
+    new triples to the graph, written in
+    <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples">N-Triples</a>
+    format.
+    </p>
+
+    <p>The following sections describe the general notation used and that
+    for event matching and actions.</p>
+	
+	
+    <!-- general grammar notation -->
+    <section id="section-Infoset-Grammar-General">
+    <h4>Grammar General Notation</h4>
+
+    <table border="1" summary="This table describes the general notation used the grammar.">
+    <caption>Grammar General Notation.</caption>
+    <tr>
+    <th>Notation</th>
+    <th>Meaning</th>
+    </tr>
+    <tr>
+    <td><em>event</em>.<em>accessor</em></td>
+
+    <td>The value of an event accessor.</td>
+    </tr>
+    <tr>
+    <td><code>rdf:</code><em>X</em></td>
+    <td>A URI as defined in <a href="#section-Namespace">section 5.1</a>.</td>
+    </tr>
+    <tr>
+    <td>"ABC"</td>
+    <td>A string of characters A, B, C in order.</td>
+
+    </tr>
+    </table>
+    </section>
+	
+	
+    <!-- grammar event matching notation -->
+    <section id="section-Infoset-Grammar-Matching">	
+    <h4>Grammar Event Matching Notation</h4>
+
+
+    <table border="1" summary="This table describes the event matching notation used in the following sections to match sequences of syntax data model events.">
+    <caption>Grammar Event Matching Notation.</caption>
+    <tr>
+    <th>Notation</th>
+    <th>Meaning</th>
+
+    </tr>
+    <tr>
+    <td>A == B</td> 
+    <td>Event accessor A matches expression B.</td>
+    </tr>
+    <tr>
+    <td>A != B</td>
+    <td>A is not equal to B.</td>
+    </tr>
+    <tr>
+    <td>A | B | ...</td>
+    <td>The A, B, ... terms are alternatives.</td>
+
+    </tr>
+    <tr>
+    <td>A - B</td>
+    <td>The terms in A excluding all the terms in B.</td>
+    </tr>
+    <tr>
+    <td><a id="anyURI" name="anyURI">anyURI</a>.</td>
+    <td>Any URI.</td>
+    </tr>
+    <tr>
+    <td><a id="anyString" name="anyString">anyString</a>.</td>
+
+    <td>Any string.</td>
+    </tr>
+    <tr>
+    <td>list(item1, item2, ...); list()</td>
+    <td>An ordered list of events. An empty list.</td>
+    </tr>
+    <tr>
+    <td>set(item1, item2, ...); set()</td>
+    <td>An unordered set of events.  An empty set.</td>
+    </tr>
+    <tr>
+    <td>*</td>
+
+    <td>Zero or more of preceding term.</td>
+    </tr>
+    <tr>
+    <td>?</td>
+    <td>Zero or one of preceding term.</td>
+    </tr>
+    <tr>
+    <td>+</td>
+    <td>One or more of preceding term.</td>
+    </tr>
+    <tr>
+    <td>root(acc1 == value1,<br />
+
+    &#160;&#160;&#160;&#160;acc2 == value2, ...)</td>
+    <td>Match a <a href="#section-root-node">Root Event</a> with accessors.
+    </td>
+    </tr>
+    <tr>
+    <td>start-element(acc1 == value1,<br />
+    &#160;&#160;&#160;&#160;acc2 == value2, ...)<br />
+    <em>children</em><br />
+    end-element()</td>
+
+    <td>Match a sequence of
+    <a href="#section-element-node">Element Event</a> with accessors,
+    a possibly empty list of events as element content and an
+    <a href="#section-end-element-node">End Element Event</a>.
+    </td>
+    </tr>
+    <tr>
+    <td>attribute(acc1 == value1,<br />
+    &#160;&#160;&#160;&#160;acc2 == value2, ...)</td>
+    <td>Match an <a href="#section-attribute-node">Attribute Event</a>
+    with accessors.</td>
+
+    </tr>
+    <tr>
+    <td>text()</td>
+    <td>Match a <a href="#section-text-node">Text Event</a>.</td>
+    </tr>
+    </table>
+    </section>
+	
+	
+    <!-- grammar action notation -->
+    <section id="section-Infoset-Grammar-Action">	
+	<h4>Grammar Action Notation</h4>
+
+    <table border="1" summary="This table describes the grammar actions notation used in the following sections to perform triple generation from syntax data model events.">
+    <caption>Grammar Action Notation.</caption>
+    <tr>
+    <th>Notation</th>
+    <th>Meaning</th>
+    </tr>
+    <tr>
+    <td>A := B</td>
+    <td>Assigns A the value B.</td>
+    </tr>
+    <tr>
+    <td>concat(A, B, ..)</td>
+
+    <td>A string created by concatenating the terms in order.</td>
+    </tr>
+    <tr>
+    <td>resolve(<em>e</em>, <em>s</em>)</td>
+    <td>A string created by interpreting string <em>s</em> as a relative URI reference to the
+    <a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a> accessor of <a href="#section-element-node"></a> <em>e</em> 
+
+    as defined in <a href="#section-baseURIs">Section 5.3 Resolving URIs</a>.
+    The resulting string represents an
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</td>
+    </tr>
+    <tr>
+    <td>generated-blank-node-id()</td>
+    <td>A string value for a new distinct generated
+    <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a>
+    as defined in <a href="#section-Identifiers">section 5.2 Identifiers</a>.
+    </td>
+
+    </tr>
+    <tr>
+    <td><em>event</em>.<em>accessor</em> := <em>value</em></td>
+    <td>Sets an event accessor to the given value.</td>
+    </tr>
+    <tr>
+    <td>uri(identifier := value)</td>
+    <td>Create a new <a href="#section-identifier-node">URI Reference Event</a>.</td>
+
+    </tr>
+    <tr>
+    <td>bnodeid(identifier := value)</td>
+    <td>Create a new <a href="#section-blank-nodeid-event">Blank Node Identifier Event</a>.  See also section <a href="#section-Identifiers">5.2 Identifiers</a>.</td>
+    </tr>
+    <tr>
+    <td>literal(literal-value := string,<br />
+    &#160;&#160;&#160;&#160;literal-language := language, ...)</td>
+    <td>Create a new <a href="#section-literal-node">Plain Literal Event</a>.</td>
+
+    </tr>
+    <tr>
+    <td>typed-literal(literal-value := string, ...)</td>
+    <td>Create a new <a href="#section-typed-literal-node">Typed Literal Event</a>.</td>
+    </tr>
+    </table>
+    </section>
+    </section>
+	</section>
+	
+    <!-- RDF/XML grammar -->
+    <section id="section-Infoset-Grammar">
+    <h2>RDF/XML Grammar</h2>
+	
+	
+    <!-- grammar summary -->
+    <section id="section-grammar-summary">	
+	<h3>Grammar summary</h3>
+	
+	<div class="productionOuter"><div class="productionInner">
+	<table>
+	<tr valign="top">
+	<td><a href="#coreSyntaxTerms">7.2.2</a> <a href="#coreSyntaxTerms">coreSyntaxTerms</a></td> <td><code>rdf:RDF</code> | <code>rdf:ID</code> | <code>rdf:about</code> | <code>rdf:parseType</code> | <code>rdf:resource</code> | <code>rdf:nodeID</code> | <code>rdf:datatype</code></td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#syntaxTerms">7.2.3</a> <a href="#syntaxTerms">syntaxTerms</a></td> <td><a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <code>rdf:li</code></td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#oldTerms">7.2.4</a> <a href="#oldTerms">oldTerms</a></td> <td><code>rdf:aboutEach</code> | <code>rdf:aboutEachPrefix</code> | <code>rdf:bagID</code></td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#nodeElementURIs">7.2.5</a> <a href="#nodeElementURIs">nodeElementURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#propertyElementURIs">7.2.6</a> <a href="#propertyElementURIs">propertyElementURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <a href="#oldTerms">oldTerms</a> )</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#propertyAttributeURIs">7.2.7</a> <a href="#propertyAttributeURIs">propertyAttributeURIs</a></td> <td><a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a>  | <code>rdf:Description</code> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#doc">7.2.8</a> <a href="#doc">doc</a></td> <td>root(<a href="#eventterm-root-document-element">document-element</a> == <a href="#RDF">RDF</a>, 
+	<a href="#eventterm-root-children">children</a> == list(<a href="#RDF">RDF</a>))</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#RDF">7.2.9</a> <a href="#RDF">RDF</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:RDF</code>, 
+	<a href="#eventterm-element-attributes">attributes</a> == set())<br />
+	<a href="#nodeElementList">nodeElementList</a><br />
+
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#nodeElementList">7.2.10</a> <a href="#nodeElementList">nodeElementList</a></td> <td><a href="#ws">ws</a>* (<a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>* )*</td>
+	</tr>
+	<tr valign="top">
+
+	<td><a href="#nodeElement">7.2.11</a> <a href="#nodeElement">nodeElement</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#nodeElementURIs">nodeElementURIs</a><br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set((<a href="#idAttr">idAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> | <a href="#aboutAttr">aboutAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
+
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#ws">7.2.12</a> <a href="#ws">ws</a></td> <td>A <a href="#section-text-node">text event</a> matching white space
+	defined by <a href="#ref-xml">[XML]</a> definition <em>White Space</em>
+
+	Rule [3] <a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-S">S</a>
+	in section
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-common-syn">Common Syntactic Constructs</a></td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#propertyEltList">7.2.13</a> <a href="#propertyEltList">propertyEltList</a></td> <td><a href="#ws">ws</a>* (<a href="#propertyElt">propertyElt</a> <a href="#ws">ws</a>* ) *</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#propertyElt">7.2.14</a> <a href="#propertyElt">propertyElt</a></td> <td><a href="#resourcePropertyElt">resourcePropertyElt</a> |
+	<a href="#literalPropertyElt">literalPropertyElt</a> |
+	<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a> |
+	<a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a> |
+
+	<a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a> |
+	<a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a> |
+	<a href="#emptyPropertyElt">emptyPropertyElt</a></td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#resourcePropertyElt">7.2.15</a> <a href="#resourcePropertyElt">resourcePropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?))<br />
+	<a href="#ws">ws</a>* <a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>*<br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+
+	<td><a href="#literalPropertyElt">7.2.16</a> <a href="#literalPropertyElt">literalPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#datatypeAttr">datatypeAttr</a>?))<br />
+
+	<a href="#section-text-node">text()</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseTypeLiteralPropertyElt">7.2.17</a> <a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseLiteral">parseLiteral</a>))<br />
+	<a href="#literal">literal</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseTypeResourcePropertyElt">7.2.18</a> <a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseResource">parseResource</a>))<br />
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseTypeCollectionPropertyElt">7.2.19</a> <a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseCollection">parseCollection</a>))<br />
+	<a href="#nodeElementList">nodeElementList</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseTypeOtherPropertyElt">7.2.20</a> <a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseOther">parseOther</a>))<br />
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#emptyPropertyElt">7.2.21</a> <a href="#emptyPropertyElt">emptyPropertyElt</a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ), 
+
+	<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, ( <a href="#resourceAttr">resourceAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
+	end-element()</td>
+	</tr>
+
+	<tr valign="top">
+	<td><a href="#idAttr">7.2.22</a> <a href="#idAttr">idAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#nodeIdAttr">7.2.23</a> <a href="#nodeIdAttr">nodeIdAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#aboutAttr">7.2.24</a> <a href="#aboutAttr">aboutAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#propertyAttr">7.2.25</a> <a href="#propertyAttr">propertyAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <a href="#propertyAttributeURIs">propertyAttributeURIs</a>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#resourceAttr">7.2.26</a> <a href="#resourceAttr">resourceAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:resource</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#datatypeAttr">7.2.27</a> <a href="#datatypeAttr">datatypeAttr</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:datatype</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseLiteral">7.2.28</a> <a href="#parseLiteral">parseLiteral</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == "Literal")</td>
+	</tr>
+
+	<tr valign="top">
+	<td><a href="#parseResource">7.2.29</a> <a href="#parseResource">parseResource</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == "Resource")</td>
+	</tr>
+	<tr valign="top">
+
+	<td><a href="#parseCollection">7.2.30</a> <a href="#parseCollection">parseCollection</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
+	<a href="#eventterm-attribute-string-value">string-value</a> == "Collection")</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#parseOther">7.2.31</a> <a href="#parseOther">parseOther</a></td> <td>attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>, 
+
+	<a
+	href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a> - ("Resource" | "Literal" | "Collection") )</td>
+	</tr>
+	<tr valign="top">
+	<td><a href="#URI-reference">7.2.32</a> <a href="#URI-reference">URI-reference</a></td> <td>An <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.</td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#literal">7.2.33</a> <a href="#literal">literal</a></td> <td>Any XML element content that is allowed according to
+	<a href="#ref-xml">[XML]</a> definition <em>Content of Elements</em>
+	Rule [43]
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">content</a>.
+	in section
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-starttags">3.1 Start-Tags, End-Tags, and Empty-Element Tags</a></td>
+
+	</tr>
+	<tr valign="top">
+	<td><a href="#rdf-id">7.2.34</a> <a href="#rdf-id">rdf-id</a></td> <td>An attribute <a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+	matching any legal
+	<a href="#ref-namespaces">[XML-NS]</a> token
+	<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></td>
+
+	</tr>
+	</table>
+
+	</div></div>
+	</section>
+	
+    <!-- grammar productions -->
+    <section id="section-grammar-productions">	
+	<h3>Grammar Productions</h3>
+
+	<!-- grammar start -->
+    <section id="start">	
+	<h4>Grammar start</h4>
+
+	<p>If the RDF/XML is a standalone XML document
+	(identified by presentation as an
+	application/rdf+xml <a href="#section-MIME-Type">RDF MIME type</a> object,
+	or by some other means) then the grammar may start with
+	production <a href="#doc">doc</a> or
+	production <a href="#nodeElement">nodeElement</a>.</p>
+
+	<p>If the content is known to be RDF/XML by context, such as when
+	RDF/XML is embedded inside other XML content, then the grammar
+	can either start 
+	at <a href="#section-element-node">Element Event</a>&#160;
+	<a href="#RDF">RDF</a>
+	(only when an element is legal at that point in the XML)
+	or at production <a href="#nodeElementList">nodeElementList</a>
+	(only when element content is legal, since this is a list of elements).
+	For such embedded RDF/XML, the
+	<a href="#eventterm-element-base-uri" class="termref"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
+	value on the outermost element must be initialized from the containing
+	XML since no
+	<a href="#section-root-node">Root Event</a>&#160; will be available.
+	Note that if such embedding occurs, the grammar may be entered
+	several times but no state is expected to be preserved.</p>
+    </section>
+	
+	<!-- /////////////////////////////////////////////////////////////////////////////////////////////// STOPED HERE  //////// -->
+
+	<h4><a id="coreSyntaxTerms" name="coreSyntaxTerms">7.2.2 Production coreSyntaxTerms</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<code>rdf:RDF</code> | <code>rdf:ID</code> | <code>rdf:about</code> | <code>rdf:parseType</code> | <code>rdf:resource</code> | <code>rdf:nodeID</code> | <code>rdf:datatype</code>
+
+	</p></div></div>
+
+	<p>A subset of the syntax terms from the RDF vocabulary in
+	<a href="#section-Namespace">section 5.1</a>
+	which are used in RDF/XML.
+	</p>
+
+	<h4><a id="syntaxTerms" name="syntaxTerms">7.2.3 Production syntaxTerms</a></h4>
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <code>rdf:li</code>
+
+	</p></div></div>
+
+	<p>All the syntax terms from the RDF vocabulary in
+	<a href="#section-Namespace">section 5.1</a>
+	which are used in RDF/XML.
+	</p>
+
+
+	<h4><a id="bagIdAttr" name="bagIdAttr"></a><a id="section-Bag-Expand" name="section-Bag-Expand"></a><a id="oldTerms" name="oldTerms">7.2.4 Production oldTerms</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<code>rdf:aboutEach</code> | <code>rdf:aboutEachPrefix</code> | <code>rdf:bagID</code>
+
+	</p></div></div>
+
+	<p>These are the names from the <a href="#section-Namespace">RDF vocabulary</a>
+	that have been withdrawn from the language.  See the resolutions of
+	Issue <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-aboutEach-on-object">rdfms-aboutEach-on-object</a>,
+	Issue <a href="http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteachprefix">rdfms-abouteachprefix</a> and
+	Last Call Issue <a href="http://www.w3.org/2001/sw/RDFCore/20030123-issues/#timbl-01">timbl-01</a>
+	for further information.
+	</p>
+
+	<div class="note"><p><strong>Error Test:</strong>
+
+	Indicated by
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-abouteach/error001.rdf">error001.rdf</a> and
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-abouteach/error002.rdf">error002.rdf</a>
+	</p></div>
+
+
+	<h4><a id="nodeElementURIs" name="nodeElementURIs">7.2.5 Production nodeElementURIs</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )
+
+	</p></div></div>
+
+	<p>The <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> that are allowed on node elements.</p>
+
+
+	<h4><a id="propertyElementURIs" name="propertyElementURIs">7.2.6 Production propertyElementURIs</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a> | <code>rdf:Description</code> | <a href="#oldTerms">oldTerms</a> )
+
+	</p></div></div>
+
+	<p>The URIs that are allowed on property elements.</p>
+
+
+	<h4><a id="propertyAttributeURIs" name="propertyAttributeURIs">7.2.7 Production propertyAttributeURIs</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#anyURI">anyURI</a> - ( <a href="#coreSyntaxTerms">coreSyntaxTerms</a>  | <code>rdf:Description</code> | <code>rdf:li</code> | <a href="#oldTerms">oldTerms</a> )
+
+	</p></div></div>
+
+	<p>The <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI references</a> that are allowed on property attributes.</p>
+
+
+	<h4><a id="doc" name="doc">7.2.8 Production doc</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	root(<a href="#eventterm-root-document-element">document-element</a> == <a href="#RDF">RDF</a>,<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-root-children">children</a> == list(<a href="#RDF">RDF</a>))
+	</p></div></div>
+
+
+	<h4><a id="RDF" name="RDF">7.2.9 Production RDF</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:RDF</code>,<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set())<br />
+	<a href="#nodeElementList">nodeElementList</a><br />
+	end-element()
+	</p></div></div>
+
+
+	<h4><a id="nodeElementList" name="nodeElementList">7.2.10 Production nodeElementList</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#ws">ws</a>* (<a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>* )*
+
+	</p></div></div>
+
+
+	<h4><a id="description" name="description"></a><a id="typedNode" name="typedNode"></a>
+	<a id="nodeElement" name="nodeElement">7.2.11 Production nodeElement</a></h4>
+
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#nodeElementURIs">nodeElementURIs</a><br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set((<a href="#idAttr">idAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> | <a href="#aboutAttr">aboutAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
+
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()
+	</p></div></div>
+
+	<p>For node element <em>e</em>, the processing of some of the attributes
+	has to be done before other work such as dealing with children events
+	or other attributes.  These can be processed in any order:</p>
+
+	<ul>
+
+	<li>If there is an attribute <em>a</em> with
+	 <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>, then
+
+	<em>e</em>.<a href="#eventterm-element-subject">subject</a> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))).</li>
+
+	<li>If there is an attribute <em>a</em> with
+	 <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>, then
+
+	<em>e</em>.<a href="#eventterm-element-subject">subject</a> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a>:=<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>).</li>
+
+	<li>If there is an attribute <em>a</em> with
+
+	<em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code> then
+	<em>e</em>.<a href="#eventterm-element-subject">subject</a> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)).</li>
+
+	</ul>
+
+	<p>If <em>e</em>.<a href="#eventterm-element-subject">subject</a> is empty, 
+	then <em>e</em>.<a href="#eventterm-element-subject">subject</a> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()).</p>
+
+
+	<p>The following can then be performed in any order:</p>
+
+	<ul>
+
+	<li><a id="nodeElementStatement1" name="nodeElementStatement1"></a> If <em>e</em>.<a href="#eventterm-element-URI">URI</a> != <code>rdf:Description</code>
+	then the following statement is added to the graph:
+
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> .</code>
+	</p></div></div>
+	</li>
+
+	<li><a id="nodeElementStatement2" name="nodeElementStatement2"></a> If there is an attribute <em>a</em> 
+	in <a href="#propertyAttr">propertyAttr</a> with
+	<em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:type</code>
+	then
+
+	<em>u</em>:=uri(identifier:=resolve(<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
+	and the following tiple is added to the graph:
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>u</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+	</p></div></div>
+	</li>
+
+	<li><a id="nodeElementStatement3" name="nodeElementStatement3"></a> For each attribute <em>a</em> matching
+	<a href="#propertyAttr">propertyAttr</a> (and not <code>rdf:type</code>),
+	the Unicode string 
+	<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>
+
+	SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>,
+	<em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
+	and the following statement is added to the graph:
+
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>a</em>.<a href="#eventterm-attribute-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
+
+	</p></div></div>
+	</li>
+
+	<li><a id="nodeElementStatement4" name="nodeElementStatement4"></a> Handle the
+	<a href="#propertyEltList">propertyEltList</a> children events
+	in document order.</li>
+
+	</ul>
+
+
+
+	<h4><a id="ws" name="ws">7.2.12 Production ws</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	A <a href="#section-text-node">text event</a> matching white space
+	defined by <a href="#ref-xml">[XML]</a> definition <em>White Space</em>
+	Rule [3] <a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-S">S</a>
+	in section
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-common-syn">Common Syntactic Constructs</a>
+	</p></div></div>
+
+
+	<h4><a id="propertyEltList" name="propertyEltList">7.2.13 Production propertyEltList</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#ws">ws</a>* (<a href="#propertyElt">propertyElt</a> <a href="#ws">ws</a>* ) *
+	</p></div></div>
+
+
+	<h4><a id="propertyElt" name="propertyElt">7.2.14 Production propertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	<a href="#resourcePropertyElt">resourcePropertyElt</a> |
+	<a href="#literalPropertyElt">literalPropertyElt</a> |
+	<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a> |
+	<a href="#parseTypeResourcePropertyElt">parseTypeResourcePropertyElt</a> |
+	<a href="#parseTypeCollectionPropertyElt">parseTypeCollectionPropertyElt</a> |
+
+	<a href="#parseTypeOtherPropertyElt">parseTypeOtherPropertyElt</a> |
+	<a href="#emptyPropertyElt">emptyPropertyElt</a>
+	</p></div></div>
+
+	<p>If element <em>e</em> has
+	<em>e</em>.<a href="#eventterm-element-URI">URI</a> =
+	<code>rdf:li</code> then apply the list expansion rules on element <em>e</em>.parent in
+
+	<a href="#section-List-Expand">section 7.4</a>
+	to give a new URI <em>u</em> and
+	<em>e</em>.<a href="#eventterm-element-URI">URI</a> := <em>u</em>.
+	</p>
+
+	<p>The action of this production must be done before the
+	actions of any sub-matches (<a
+	href="#resourcePropertyElt">resourcePropertyElt</a> ... <a href="#emptyPropertyElt">emptyPropertyElt</a>).
+	Alternatively the result must be equivalent to as if it this action
+	was performed first, such as performing as the first
+	action of all of the sub-matches.
+
+	</p>
+
+
+	<h4><a id="resourcePropertyElt" name="resourcePropertyElt">7.2.15 Production resourcePropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?))<br />
+
+	<a href="#ws">ws</a>* <a href="#nodeElement">nodeElement</a> <a href="#ws">ws</a>*<br />
+	end-element()
+	</p></div></div>
+
+	<p>For element <em>e</em>, and the single contained nodeElement
+	<em>n</em>, first <em>n</em> must be processed using production
+
+	<a href="#nodeElement">nodeElement</a>.
+	Then the following statement is added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	&#160;&#160;<code> <em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+	</p></div></div>
+
+	<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
+	statement is reified with
+	<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+
+	<a href="#section-Reification">section 7.3</a>
+	and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em></p>
+
+
+	<h4><a id="literalPropertyElt" name="literalPropertyElt">7.2.16 Production literalPropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#datatypeAttr">datatypeAttr</a>?))<br />
+	<a href="#section-text-node">text()</a><br />
+	end-element()
+	</p></div></div>
+
+	<p>Note that the empty literal case is defined in production
+	<a href="#emptyPropertyElt">emptyPropertyElt</a>.</p>
+
+	<p>For element <em>e</em>, and the text event <em>t</em>.
+	The Unicode string <em>t</em>.<a href="#eventterm-text-string-value">string-value</a> SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>.
+	If the <code>rdf:datatype</code> attribute <em>d</em> is given
+	then <em>o</em> := typed-literal(<a href="#eventterm-typedliteral-literal-value">literal-value</a> := <em>t</em>.<a href="#eventterm-text-string-value">string-value</a>, <a href="#eventterm-typedliteral-literal-datatype">literal-datatype</a> := <em>d</em>.<a href="#eventterm-attribute-string-value">string-value</a>)
+	otherwise
+
+	<em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>t</em>.<a href="#eventterm-text-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
+	and the following statement is added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
+
+	</p></div></div>
+
+	<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
+	statement is reified with
+	<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+
+	<a href="#section-Reification">section 7.3</a>
+	and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
+
+
+	<h4><a id="parseTypeLiteralPropertyElt" name="parseTypeLiteralPropertyElt">7.2.17 Production parseTypeLiteralPropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseLiteral">parseLiteral</a>))<br />
+	<a href="#literal">literal</a><br />
+
+	end-element()
+	</p></div></div>
+
+
+	<p>For element <em>e</em> and the literal <em>l</em>
+	that is the <code>rdf:parseType="Literal"</code> content.
+	<em>l</em> is not transformed by the syntax data model mapping into events
+	(as noted in <a href="#section-Data-Model">6 Syntax Data Model</a>)
+	but remains an XML Infoset of XML Information items.</p>
+
+	<p><em>l</em> is transformed into the lexical form of an
+	<a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-XMLLiteral">XML literal</a>
+	in the RDF graph <em>x</em> (a Unicode string)
+	by the following algorithm.  This does not mandate any implementation
+	method &mdash; any other method that gives the same result may be used.</p>
+
+	<ol>
+	<li>Use <em>l</em> to construct an XPath<a href="#ref-xpath">[XPATH]</a> <a href="http://www.w3.org/TR/1999/REC-xpath-19991116#infoset">node-set</a>
+
+	(a <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-document-subset">document subset</a>)</li>
+	<li>Apply <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/">Exclusive XML Canonicalization</a> [<a href="#ref-xml-xc14n">XML-XC14N</a>])
+	with comments and with empty
+	<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">InclusiveNamespaces PrefixList</a>
+	to this node-set to give a sequence of octets <em>s</em>
+	</li>
+	<li>This sequence of octets <em>s</em> can be considered to be
+	a UTF-8 encoding of some Unicode string <em>x</em> (sequence
+	of Unicode characters)</li>
+
+	<li>The Unicode string <em>x</em> is used as the lexical form of <em>l</em></li>
+	<li>This Unicode string
+	<em>x</em> SHOULD be in NFC Normal Form C<a href="#ref-nfc">[NFC]</a></li>
+	</ol>
+
+
+	<p>Then <em>o</em> := typed-literal(<a href="#eventterm-typedliteral-literal-value">literal-value</a> := <em>x</em>, <a href="#eventterm-typedliteral-literal-datatype">literal-datatype</a> := <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code> )
+	and the following statement is added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-typedliteral-string-value">string-value</a> .</code>
+
+	</p></div></div>
+
+	<div class="note"><p><strong>Test:</strong>
+	Empty literal case indicated by
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test009.rdf">test009.rdf</a>
+	and
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test009.nt">test009.nt</a>
+	</p></div>
+
+	<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the above
+	statement is reified with
+
+	<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+	<a href="#section-Reification">section 7.3</a>
+	and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
+
+
+
+	<h4><a id="parseTypeResourcePropertyElt" name="parseTypeResourcePropertyElt">7.2.18 Production parseTypeResourcePropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseResource">parseResource</a>))<br />
+
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()
+	</p></div></div>
+
+	<p>For element <em>e</em> with possibly empty element content <em>c</em>.</p>
+
+	<p><em>n</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()).</p>
+
+	<p>Add the following statement to the graph:
+	</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+	</p></div></div>
+
+	<div class="note"><p><strong>Test:</strong>
+	Indicated by
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test004.rdf">test004.rdf</a>
+	and
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test004.nt">test004.nt</a>
+	</p></div>
+
+	<p>If the <code>rdf:ID</code> attribute <em>a</em> is given, the
+	statement above is reified with
+
+	<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+	<a href="#section-Reification">section 7.3</a>
+	and <em>e</em>.<a href="#eventterm-element-subject">subject</a> := <em>i</em>.</p>
+
+	<p>If the element content <em>c</em> is not empty, then use event
+	<em>n</em> to create a new sequence of events as follows:</p>
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> := <code>rdf:Description</code>,<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-subject">subject</a> := <em>n</em>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> := set())<br />
+	  <em>c</em><br />
+	end-element()
+	</p></div></div>
+
+	<p>Then 
+	process the resulting sequence using production
+
+	<a href="#nodeElementList">nodeElement</a>.</p>
+
+
+	<h4><a id="parseTypeCollectionPropertyElt" name="parseTypeCollectionPropertyElt">7.2.19 Production parseTypeCollectionPropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseCollection">parseCollection</a>))<br />
+	<a href="#nodeElementList">nodeElementList</a><br />
+	end-element()
+	</p></div></div>
+
+	<p>For element event <em>e</em> with possibly empty
+
+	<a href="#nodeElementList">nodeElementList</a> <em>l</em>.  Set
+	<em>s</em>:=list().</p>
+
+	<p>For each element event <em>f</em> in <em>l</em>,
+	<em>n</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id()) and append <em>n</em> to 
+
+	<em>s</em> to give a sequence of events.</p>
+
+	<p>If <em>s</em> is not empty, <em>n</em> is the first event identifier in
+	<em>s</em> and the following statement is added to the graph:</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+	</p></div></div>
+
+	<p>otherwise the following statement is added to the graph:</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .</code>
+
+	</p></div></div>
+
+	<p>If the <code>rdf:ID</code> attribute <em>a</em> is given,
+	either of the the above statements is reified with
+	<em>i</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+
+	<a href="#section-Reification">section 7.3</a>.
+	</p>
+
+	<p>If <em>s</em> is empty, no further work is performed.</p>
+
+	<p>For each event <em>n</em> in <em>s</em> and the
+	corresponding element event <em>f</em> in <em>l</em>, the following
+	statement is added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code> <em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a>  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#first&gt; <em>f</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+	</p></div></div>
+
+	<p>For each consecutive and overlapping pair of events
+	(<em>n</em>, <em>o</em>) in <em>s</em>, the following statement is
+	added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; <em>o</em>.<a href="#eventterm-identifier-string-value">string-value</a>  .</code>
+
+	</p></div></div>
+
+	<p>If <em>s</em> is not empty, <em>n</em> is the last event identifier
+	in <em>s</em>, the following statement is added to the graph:</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>n</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#rest&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#nil&gt; .</code>
+
+	</p></div></div>
+
+
+
+	<h4><a id="parseTypeOtherPropertyElt" name="parseTypeOtherPropertyElt">7.2.20 Production parseTypeOtherPropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, <a href="#parseOther">parseOther</a>))<br />
+
+	<a href="#propertyEltList">propertyEltList</a><br />
+	end-element()
+	</p></div></div>
+
+
+	<p>All <code>rdf:parseType</code> attribute values other than the strings
+	"Resource", "Literal" or "Collection" are treated as if the value was
+	"Literal".   This production matches and acts as if production
+	<a href="#parseTypeLiteralPropertyElt">parseTypeLiteralPropertyElt</a>
+	was matched.
+	No extra triples are generated for other <code>rdf:parseType</code> values.
+	</p>
+
+
+	<h4><a id="emptyPropertyElt" name="emptyPropertyElt">7.2.21 Production emptyPropertyElt</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-element-attributes">attributes</a> == set(<a href="#idAttr">idAttr</a>?, ( <a href="#resourceAttr">resourceAttr</a> | <a href="#nodeIdAttr">nodeIdAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
+
+	end-element()
+	</p></div></div>
+
+
+	<ul>
+
+	<li>
+	<p>If there are no attributes <strong>or</strong> only the
+	optional <code>rdf:ID</code> attribute <em>i</em>
+	then <em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a>:="", <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
+	and the following statement is added to the graph:</p>
+
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
+
+	</p></div></div>
+
+	<p>and then if <em>i</em> is given, the above statement is reified with
+	uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>)))
+	using the reification rules in
+	<a href="#section-Reification">section 7.3</a>.</p>
+
+	<div class="note"><p><strong>Test:</strong>
+	Indicated by
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test002.rdf">test002.rdf</a>
+	and
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test002.nt">test002.nt</a>
+	</p></div>
+
+	<div class="note"><p><strong>Test:</strong>
+	Indicated by
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test005.rdf">test005.rdf</a>
+	and
+
+	<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test005.nt">test005.nt</a>
+	</p></div>
+
+	</li>
+
+	<li>
+
+	<p>Otherwise</p>
+
+	  <ul>
+		<li>If <code>rdf:resource</code> attribute <em>i</em> is present, then
+		<em>r</em> := uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
+		</li>
+
+		<li>If <code>rdf:nodeID</code> attribute <em>i</em> is present, then
+		<em>r</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := <em>i</em>.<a href="#eventterm-attribute-string-value">string-value</a>)
+		</li>
+
+		<li>If neither,
+		<em>r</em> := bnodeid(<a href="#eventterm-identifier-identifier">identifier</a> := generated-blank-node-id())
+		</li>
+	  </ul>
+
+	<p>The following are done in any order:</p>
+
+	<ul>
+
+	<li><p>For all <a href="#propertyAttr">propertyAttr</a>
+	attributes <em>a</em> (in any order)</p>
+	  <ul>
+
+		<li><p>If <em>a</em>.<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:type</code>
+
+		then <em>u</em>:=uri(identifier:=resolve(<em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
+		and the following triple is added to the graph:</p>
+		<div class="ntripleOuter"><div class="ntripleInner"><p>
+		<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; <em>u</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+		</p></div></div>
+		</li>
+
+		<li><p>Otherwise Unicode string
+		 <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>
+		 SHOULD be in Normal Form C<a href="#ref-nfc">[NFC]</a>,
+		 <em>o</em> := literal(<a href="#eventterm-literal-literal-value">literal-value</a> := <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>, <a href="#eventterm-literal-literal-language">literal-language</a> := <em>e</em>.<a href="#eventterm-element-language">language</a>)
+		 and the following statement is added to the graph:</p>
+
+		<div class="ntripleOuter"><div class="ntripleInner"><p>
+		<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> <em>a</em>.<a href="#eventterm-attribute-URI-string-value">URI-string-value</a> <em>o</em>.<a href="#eventterm-literal-string-value">string-value</a> .</code>
+
+		</p></div></div>
+		</li>
+
+	  </ul>
+
+		<div class="note"><p><strong>Test:</strong>
+		Indicated by
+		<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test013.rdf">test013.rdf</a>
+		and
+		<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test013.nt">test013.nt</a>
+
+		</p></div>
+
+		<div class="note"><p><strong>Test:</strong>
+		Indicated by
+		<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test014.rdf">test014.rdf</a>
+		and
+		<a href="http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test014.nt">test014.nt</a>
+		   </p></div>
+
+	</li>
+
+	<li><p>Add the following statement to the graph:</p>
+	  <div class="ntripleOuter"><div class="ntripleInner"><p>
+	  <code><em>e</em>.parent.<a href="#eventterm-element-subject">subject</a>.<a href="#eventterm-identifier-string-value">string-value</a> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> <em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+	  </p></div></div>
+
+	  <p>and then if <code>rdf:ID</code> attribute <em>i</em> is given, the above statement is
+	  reified with
+	  uri(<a href="#eventterm-identifier-identifier">identifier</a> := resolve(<em>e</em>, concat("#", <em>i</em>.<a href="#eventterm-identifier-string-value">string-value</a>)))
+	  using the reification rules in
+	  <a href="#section-Reification">section 7.3</a>.</p>
+
+	</li>
+
+	</ul>
+
+	</li>
+	</ul>
+
+
+	<!-- idAboutAttr one has gone; id is closest thing replacing it -->
+	<h4><a id="idAboutAttr" name="idAboutAttr"></a>
+	<a id="idAttr" name="idAttr">7.2.22 Production idAttr</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>,<br />
+
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)
+	</p></div></div>
+
+	<p><strong>Constraint:</strong>: <a href="#constraint-id">constraint-id</a>
+	applies to the values of <code>rdf:ID</code> attributes</p>
+
+	<h4><a id="nodeIdAttr" name="nodeIdAttr">7.2.23 Production nodeIdAttr</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)
+
+	</p></div></div>
+
+
+	<h4><a id="aboutAttr" name="aboutAttr">7.2.24 Production aboutAttr</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+	</p></div></div>
+
+
+	<h4><a id="propAttr" name="propAttr"></a><a id="typeAttr" name="typeAttr"></a>
+	<a id="propertyAttr" name="propertyAttr">7.2.25 Production propertyAttr</a></h4>
+
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <a href="#propertyAttributeURIs">propertyAttributeURIs</a>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a>)
+
+	</p></div></div>
+
+
+	<h4><a id="resourceAttr" name="resourceAttr">7.2.26 Production resourceAttr</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:resource</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+	</p></div></div>
+
+
+	<h4><a id="datatypeAttr" name="datatypeAttr">7.2.27 Production datatypeAttr</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:datatype</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+	</p></div></div>
+
+
+	<h4><a id="parseLiteral" name="parseLiteral">7.2.28 Production parseLiteral</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Literal")
+
+	</p></div></div>
+
+
+	<h4><a id="parseResource" name="parseResource">7.2.29 Production parseResource</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Resource")
+
+	</p></div></div>
+
+
+	<h4><a id="parseCollection" name="parseCollection">7.2.30 Production parseCollection</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+	&#160;&#160;&#160;&#160;<a href="#eventterm-attribute-string-value">string-value</a> == "Collection")
+
+	</p></div></div>
+
+
+	<h4><a id="parseOther" name="parseOther">7.2.31 Production parseOther</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+	&#160;&#160;&#160;&#160;<a
+	href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a> - ("Resource" | "Literal" | "Collection") )
+
+	</p></div></div>
+
+
+	<h4><a id="URI-reference" name="URI-reference">7.2.32 Production URI-reference</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	An <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a>.
+	</p></div></div>
+
+
+	<h4><a id="literal" name="literal">7.2.33 Production literal</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+
+	Any XML element content that is allowed according to
+	<a href="#ref-xml">[XML]</a> definition <em>Content of Elements</em>
+	Rule [43]
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">content</a>.
+	in section
+	<a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-starttags">3.1 Start-Tags, End-Tags, and Empty-Element Tags</a>
+	</p>
+
+	<p>The string-value for the resulting event is discussed in
+	<a  href="#parseTypeLiteralPropertyElt">section 7.2.17</a>.</p>
+
+	</div></div>
+
+
+	<h4><a id="rdf-id" name="rdf-id">7.2.34 Production rdf-id</a></h4>
+
+	<div class="productionOuter"><div class="productionInner"><p>
+	An attribute <a href="#eventterm-attribute-string-value" class="termref"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+	matching any legal
+	<a href="#ref-namespaces">[XML-NS]</a> token
+	<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a>
+
+	</p></div></div>
+
+
+	<h3><a id="section-Reification" name="section-Reification">7.3 Reification Rules</a></h3>
+
+	<p>For the given URI reference event <em>r</em> and
+	the statement with terms <em>s</em>, <em>p</em> and <em>o</em>
+
+	corresponding to the N-Triples:</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>s</em> <em>p</em> <em>o</em>  .</code>
+	</p></div></div>
+
+	<p>add the following statements to the graph:</p>
+	<div class="ntripleOuter"><div class="ntripleInner"><p>
+	<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#subject&gt; <em>s</em> .</code><br />
+
+	<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate&gt; <em>p</em> .</code><br />
+	<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#object&gt; <em>o</em> .</code><br />
+
+	<code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement&gt; .</code><br />
+	</p></div></div>
+
+
+	<h3><a id="section-List-Expand" name="section-List-Expand">7.4 List Expansion Rules</a></h3>
+
+	<p>For the given element <em>e</em>, create a new <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference">RDF URI reference</a> <em>u</em> :=
+	concat("http://www.w3.org/1999/02/22-rdf-syntax-ns#_",
+
+	<em>e</em>.<a href="#eventterm-element-liCounter">li-counter</a>),
+	increment the
+	<em>e</em>.<a href="#eventterm-element-liCounter">li-counter</a>
+	property by 1 and return <em>u</em>.</p>
+
+	
 
 <h2>
 <a id="section-Serialising" name="section-Serialising">8 Serializing an RDF Graph to RDF/XML</a>