--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-xml/Overview.html Wed Dec 11 13:25:34 2013 +0100
@@ -0,0 +1,4256 @@
+<!DOCTYPE html>
+<html lang="en" typeof="bibo:Document w3p:PER" about="" property="dcterms:language" content="en" prefix="bibo: http://purl.org/ontology/bibo/ w3p: http://www.w3.org/2001/02pd/rec54#" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+ <title>RDF 1.1 XML Syntax</title>
+
+
+
+ <style type="text/css">
+ figure { with: 76% }
+ .figure { font-weight: bold; text-align: center; }
+ table.xsd-types td, table.xsd-types th { border: 1px solid #ddd; padding: 0.1em 0.5em; }
+ </style>
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+</style><style>/* --- EXAMPLES --- */
+div.example-title {
+ min-width: 7.5em;
+ color: #b9ab2d;
+}
+div.example-title span {
+ text-transform: uppercase;
+}
+aside.example, div.example, div.illegal-example {
+ padding: 0.5em;
+ margin: 1em 0;
+ position: relative;
+ clear: both;
+}
+div.illegal-example { color: red }
+div.illegal-example p { color: black }
+aside.example, div.example {
+ padding: .5em;
+ border-left-width: .5em;
+ border-left-style: solid;
+ border-color: #e0cb52;
+ background: #fcfaee;
+}
+
+aside.example div.example {
+ border-left-width: .1em;
+ border-color: #999;
+ background: #fff;
+}
+aside.example div.example div.example-title {
+ color: #999;
+}
+</style><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+ padding-right: 1em;
+ min-width: 7.5em;
+ color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+ text-transform: uppercase;
+}
+div.note, div.issue {
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+ padding: .5em;
+ border-left-width: .5em;
+ border-left-style: solid;
+}
+div.issue, div.note {
+ padding: 1em 1.2em 0.5em;
+ margin: 1em 0;
+ position: relative;
+ clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+ border-color: #e05252;
+ background: #fbe9e9;
+}
+.note {
+ border-color: #52e052;
+ background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-PER" />
+<!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]-->
+</head>
+
+ <body class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" alt="W3C" src="https://www.w3.org/Icons/w3c_home" /></a>
+
+ </p>
+ <h1 property="dcterms:title" id="title" class="title p-name"><abbr title="Resource Description Framework">RDF</abbr> 1.1 XML Syntax</h1>
+
+ <h2 content="2014-01-08T23:00:00.000Z" datatype="xsd:dateTime" property="dcterms:issued" id="w3c-proposed-edited-recommendation-09-january-2014"><abbr title="World Wide Web Consortium">W3C</abbr> Proposed Edited Recommendation <time datetime="2014-01-09" class="dt-published">09 January 2014</time></h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><a href="http://www.w3.org/TR/2014/PER-rdf-syntax-grammar-20140109/" class="u-url">http://www.w3.org/TR/2014/PER-rdf-syntax-grammar-20140109/</a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/rdf-syntax-grammar/">http://www.w3.org/TR/rdf-syntax-grammar/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-xml/index.html">http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-xml/index.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/" rel="dcterms:replaces">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/</a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd inlist="" rel="bibo:editor" class="p-author h-card vcard"><span typeof="foaf:Person"><a href="http://fabien.info/" content="Fabien Gandon" property="foaf:name" rel="foaf:homepage" class="u-url url p-name fn">Fabien Gandon</a>, <a href="http://www.inria.fr" class="p-org org h-org h-card" rel="foaf:workplaceHomepage">INRIA</a></span>
+</dd>
+<dd inlist="" rel="bibo:editor" class="p-author h-card vcard"><span typeof="foaf:Person"><a href="http://www.cs.vu.nl/~guus/" content="Guus Schreiber" property="foaf:name" rel="foaf:homepage" class="u-url url p-name fn">Guus Schreiber</a>, <a href="http://www.vu.nl" class="p-org org h-org h-card" rel="foaf:workplaceHomepage">VU University Amsterdam</a></span>
+</dd>
+
+
+
+
+
+ <dt>Previous Editors:</dt>
+
+
+
+ <dd>
+
+ Dave Beckett
+
+ </dd>
+
+
+
+
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ 2004-2014
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>),
+
+ All Rights Reserved.
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
+
+ rules apply.
+ </p>
+
+
+ <hr />
+</div>
+
+ <section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2>
+ <p>The Resource Description Framework
+ (<abbr title="Resource Description Framework">RDF</abbr>) is a
+ general-purpose language for representing information in the Web.</p>
+
+ <p>This document defines an XML
+ syntax for <abbr title="Resource Description Framework">RDF</abbr> called <abbr title="Resource Description Framework">RDF</abbr>/XML in terms of
+ Namespaces in XML, the XML Information Set
+ and XML Base.</p>
+
+ </section><section class="introductory" id="sotd" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2>
+
+
+
+ <p>
+ <em>This section describes the status of this document at the time of its publication.
+ Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the
+ latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at
+ http://www.w3.org/TR/.</em>
+ </p>
+
+ <p>This document is an edited version of the 2004 <abbr title="Resource Description Framework">RDF</abbr> XML Syntax
+ Specification Recommendation. The purpose of this revision is
+ to make this
+ document available as part of the <abbr title="Resource Description Framework">RDF</abbr> 1.1 document set. Changes are
+ limited to revised references, terminology updates, and adaptations to
+ the introduction.
+ The technical content of the document is unchanged. Details of the changes
+ are listed in the <a href="#changes-rdf11">Changes</a> section.</p>
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/rdf-wg/"><abbr title="Resource Description Framework">RDF</abbr> Working Group</a> as a Proposed Edited Recommendation.
+
+ This document is intended to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ If you wish to make comments regarding this document, please send them to
+ <a href="mailto:public-rdf-comments@w3.org">public-rdf-comments@w3.org</a>
+ (<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">subscribe</a>,
+ <a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">archives</a>).
+
+
+
+
+ All comments are welcome.
+
+ </p>
+
+
+ <p>
+ Publication as a Proposed Edited Recommendation does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr>
+ Membership. This is a draft document and may be updated, replaced or obsoleted by other
+ documents at any time. It is inappropriate to cite this document as other than work in
+ progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/" rel="w3p:patentRules" about="" id="sotd_patent">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent
+ Policy</a>.
+
+
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/46168/status">public list of any patent
+ disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes
+ instructions for disclosing a patent. An individual who has actual knowledge of a patent
+ which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
+ Claim(s)</a> must disclose the information in accordance with
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#section-Introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#section-Syntax" class="tocxref"><span class="secno">2. </span>An XML Syntax for <abbr title="Resource Description Framework">RDF</abbr></a><ul class="toc"><li class="tocline"><a href="#section-Syntax-intro" class="tocxref"><span class="secno">2.1 </span>Introduction</a></li><li class="tocline"><a href="#section-Syntax-node-property-elements" class="tocxref"><span class="secno">2.2 </span>Node Elements and Property Elements</a></li><li class="tocline"><a href="#section-Syntax-multiple-property-elements" class="tocxref"><span class="secno">2.3 </span>Multiple Property Elements</a></li><li class="tocline"><a href="#section-Syntax-empty-property-elements" class="tocxref"><span class="secno">2.4 </span>Empty Property Elements</a></li><li class="tocline"><a href="#section-Syntax-property-attributes" class="tocxref"><span class="secno">2.5 </span>Property Attributes</a></li><li class="tocline"><a href="#section-Syntax-complete-document" class="tocxref"><span class="secno">2.6 </span>Completing the Document: Document Element and XML Declaration</a></li><li class="tocline"><a href="#section-Syntax-languages" class="tocxref"><span class="secno">2.7 </span>Languages: <code>xml:lang</code></a></li><li class="tocline"><a href="#section-Syntax-XML-literals" class="tocxref"><span class="secno">2.8 </span>XML Literals: <code>rdf:parseType="Literal"</code></a></li><li class="tocline"><a href="#section-Syntax-datatyped-literals" class="tocxref"><span class="secno">2.9 </span>Typed Literals: <code>rdf:datatype</code></a></li><li class="tocline"><a href="#section-Syntax-blank-nodes" class="tocxref"><span class="secno">2.10 </span>Identifying Blank Nodes: <code>rdf:nodeID</code></a></li><li class="tocline"><a href="#section-Syntax-parsetype-resource" class="tocxref"><span class="secno">2.11 </span>Omitting Blank Nodes: <code>rdf:parseType="Resource"</code></a></li><li class="tocline"><a href="#section-Syntax-property-attributes-on-property-element" class="tocxref"><span class="secno">2.12 </span>Omitting Nodes: Property Attributes on an empty Property Element</a></li><li class="tocline"><a href="#section-Syntax-typed-nodes" class="tocxref"><span class="secno">2.13 </span>Typed Node Elements</a></li><li class="tocline"><a href="#section-Syntax-ID-xml-base" class="tocxref"><span class="secno">2.14 </span>Abbreviating URIs: <code>rdf:ID</code> and <code>xml:base</code></a></li><li class="tocline"><a href="#section-Syntax-list-elements" class="tocxref"><span class="secno">2.15 </span>Container Membership Property Elements: <code>rdf:li</code> and <code>rdf:_</code><em>n</em></a></li><li class="tocline"><a href="#section-Syntax-parsetype-Collection" class="tocxref"><span class="secno">2.16 </span>Collections: <code>rdf:parseType="Collection"</code></a></li><li class="tocline"><a href="#section-Syntax-reifying" class="tocxref"><span class="secno">2.17 </span>Reifying Statements: <code>rdf:ID</code></a></li></ul></li><li class="tocline"><a href="#section-Terminology" class="tocxref"><span class="secno">3. </span>Terminology</a></li><li class="tocline"><a href="#section-MIME-Type" class="tocxref"><span class="secno">4. </span><abbr title="Resource Description Framework">RDF</abbr> MIME Type, File Extension and Macintosh File Type</a></li><li class="tocline"><a href="#section-Global" class="tocxref"><span class="secno">5. </span>Global Issues</a><ul class="toc"><li class="tocline"><a href="#section-Namespace" class="tocxref"><span class="secno">5.1 </span>The <abbr title="Resource Description Framework">RDF</abbr> Namespace and Vocabulary</a></li><li class="tocline"><a href="#section-Identifiers" class="tocxref"><span class="secno">5.2 </span>Identifiers</a></li><li class="tocline"><a href="#section-baseURIs" class="tocxref"><span class="secno">5.3 </span>Resolving IRIs</a></li><li class="tocline"><a href="#section-constraints" class="tocxref"><span class="secno">5.4 </span>Constraints</a></li><li class="tocline"><a href="#section-conformance" class="tocxref"><span class="secno">5.5 </span>Conformance</a></li></ul></li><li class="tocline"><a href="#section-Data-Model" class="tocxref"><span class="secno">6. </span>Syntax Data Model</a><ul class="toc"><li class="tocline"><a href="#section-Nodes" class="tocxref"><span class="secno">6.1 </span>Events</a><ul class="toc"><li class="tocline"><a href="#section-root-node" class="tocxref"><span class="secno">6.1.1 </span>Root Event</a></li><li class="tocline"><a href="#section-element-node" class="tocxref"><span class="secno">6.1.2 </span>Element Event</a></li><li class="tocline"><a href="#section-end-element-node" class="tocxref"><span class="secno">6.1.3 </span>End Element Event</a></li><li class="tocline"><a href="#section-attribute-node" class="tocxref"><span class="secno">6.1.4 </span>Attribute Event</a></li><li class="tocline"><a href="#section-text-node" class="tocxref"><span class="secno">6.1.5 </span>Text Event</a></li><li class="tocline"><a href="#section-identifier-node" class="tocxref"><span class="secno">6.1.6 </span>IRI Event</a></li><li class="tocline"><a href="#section-blank-nodeid-event" class="tocxref"><span class="secno">6.1.7 </span>Blank Node Identifier Event</a></li><li class="tocline"><a href="#section-literal-node" class="tocxref"><span class="secno">6.1.8 </span>Plain Literal Event</a></li><li class="tocline"><a href="#section-typed-literal-node" class="tocxref"><span class="secno">6.1.9 </span>Typed Literal Event</a></li></ul></li><li class="tocline"><a href="#section-Infoset-Mapping" class="tocxref"><span class="secno">6.2 </span>Information Set Mapping</a></li><li class="tocline"><a href="#section-Infoset-Grammar-Notation" class="tocxref"><span class="secno">6.3 </span>Grammar Notation</a><ul class="toc"><li class="tocline"><a href="#section-Infoset-Grammar-General" class="tocxref"><span class="secno">6.3.1 </span>Grammar General Notation</a></li><li class="tocline"><a href="#section-Infoset-Grammar-Matching" class="tocxref"><span class="secno">6.3.2 </span>Grammar Event Matching Notation</a></li><li class="tocline"><a href="#section-Infoset-Grammar-Action" class="tocxref"><span class="secno">6.3.3 </span>Grammar Action Notation</a></li></ul></li></ul></li><li class="tocline"><a href="#section-Infoset-Grammar" class="tocxref"><span class="secno">7. </span><abbr title="Resource Description Framework">RDF</abbr>/XML Grammar</a><ul class="toc"><li class="tocline"><a href="#section-grammar-summary" class="tocxref"><span class="secno">7.1 </span>Grammar summary</a></li><li class="tocline"><a href="#section-grammar-productions" class="tocxref"><span class="secno">7.2 </span>Grammar Productions</a><ul class="toc"><li class="tocline"><a href="#start" class="tocxref"><span class="secno">7.2.1 </span>Grammar start</a></li><li class="tocline"><a href="#coreSyntaxTerms" class="tocxref"><span class="secno">7.2.2 </span>Production coreSyntaxTerms</a></li><li class="tocline"><a href="#syntaxTerms" class="tocxref"><span class="secno">7.2.3 </span>Production syntaxTerms</a></li><li class="tocline"><a href="#oldTerms" class="tocxref"><span class="secno">7.2.4 </span>Production oldTerms</a></li><li class="tocline"><a href="#nodeElementURIs" class="tocxref"><span class="secno">7.2.5 </span>Production nodeElementURIs</a></li><li class="tocline"><a href="#propertyElementURIs" class="tocxref"><span class="secno">7.2.6 </span>Production propertyElementURIs</a></li><li class="tocline"><a href="#propertyAttributeURIs" class="tocxref"><span class="secno">7.2.7 </span>Production propertyAttributeURIs</a></li><li class="tocline"><a href="#doc" class="tocxref"><span class="secno">7.2.8 </span>Production doc</a></li><li class="tocline"><a href="#RDF" class="tocxref"><span class="secno">7.2.9 </span>Production <abbr title="Resource Description Framework">RDF</abbr></a></li><li class="tocline"><a href="#nodeElementList" class="tocxref"><span class="secno">7.2.10 </span>Production nodeElementList</a></li><li class="tocline"><a href="#nodeElement" class="tocxref"><span class="secno">7.2.11 </span>Production nodeElement</a></li><li class="tocline"><a href="#ws" class="tocxref"><span class="secno">7.2.12 </span>Production ws</a></li><li class="tocline"><a href="#propertyEltList" class="tocxref"><span class="secno">7.2.13 </span>Production propertyEltList</a></li><li class="tocline"><a href="#propertyElt" class="tocxref"><span class="secno">7.2.14 </span>Production propertyElt</a></li><li class="tocline"><a href="#resourcePropertyElt" class="tocxref"><span class="secno">7.2.15 </span>Production resourcePropertyElt</a></li><li class="tocline"><a href="#literalPropertyElt" class="tocxref"><span class="secno">7.2.16 </span>Production literalPropertyElt</a></li><li class="tocline"><a href="#parseTypeLiteralPropertyElt" class="tocxref"><span class="secno">7.2.17 </span>Production parseTypeLiteralPropertyElt</a></li><li class="tocline"><a href="#parseTypeResourcePropertyElt" class="tocxref"><span class="secno">7.2.18 </span>Production parseTypeResourcePropertyElt</a></li><li class="tocline"><a href="#parseTypeCollectionPropertyElt" class="tocxref"><span class="secno">7.2.19 </span>Production parseTypeCollectionPropertyElt</a></li><li class="tocline"><a href="#parseTypeOtherPropertyElt" class="tocxref"><span class="secno">7.2.20 </span>Production parseTypeOtherPropertyElt</a></li><li class="tocline"><a href="#emptyPropertyElt" class="tocxref"><span class="secno">7.2.21 </span>Production emptyPropertyElt</a></li><li class="tocline"><a href="#idAttr" class="tocxref"><span class="secno">7.2.22 </span>Production idAttr</a></li><li class="tocline"><a href="#nodeIdAttr" class="tocxref"><span class="secno">7.2.23 </span>Production nodeIdAttr</a></li><li class="tocline"><a href="#aboutAttr" class="tocxref"><span class="secno">7.2.24 </span>Production aboutAttr</a></li><li class="tocline"><a href="#propertyAttr" class="tocxref"><span class="secno">7.2.25 </span>Production propertyAttr</a></li><li class="tocline"><a href="#resourceAttr" class="tocxref"><span class="secno">7.2.26 </span>Production resourceAttr</a></li><li class="tocline"><a href="#datatypeAttr" class="tocxref"><span class="secno">7.2.27 </span>Production datatypeAttr</a></li><li class="tocline"><a href="#parseLiteral" class="tocxref"><span class="secno">7.2.28 </span>Production parseLiteral</a></li><li class="tocline"><a href="#parseResource" class="tocxref"><span class="secno">7.2.29 </span>Production parseResource</a></li><li class="tocline"><a href="#parseCollection" class="tocxref"><span class="secno">7.2.30 </span>Production parseCollection</a></li><li class="tocline"><a href="#parseOther" class="tocxref"><span class="secno">7.2.31 </span>Production parseOther</a></li><li class="tocline"><a href="#URI-reference" class="tocxref"><span class="secno">7.2.32 </span>Production IRI</a></li><li class="tocline"><a href="#literal" class="tocxref"><span class="secno">7.2.33 </span>Production literal</a></li><li class="tocline"><a href="#rdf-id" class="tocxref"><span class="secno">7.2.34 </span>Production rdf-id</a></li></ul></li><li class="tocline"><a href="#section-Reification" class="tocxref"><span class="secno">7.3 </span>Reification Rules</a></li><li class="tocline"><a href="#section-List-Expand" class="tocxref"><span class="secno">7.4 </span>List Expansion Rules</a></li></ul></li><li class="tocline"><a href="#section-Serialising" class="tocxref"><span class="secno">8. </span>Serializing an <abbr title="Resource Description Framework">RDF</abbr> Graph to <abbr title="Resource Description Framework">RDF</abbr>/XML</a></li><li class="tocline"><a href="#section-rdf-in-SVG" class="tocxref"><span class="secno">9. </span>Using <abbr title="Resource Description Framework">RDF</abbr>/XML with SVG</a></li><li class="tocline"><a href="#section-Acknowledgments" class="tocxref"><span class="secno">A. </span>Acknowledgments</a></li><li class="tocline"><a href="#section-Schemas" class="tocxref"><span class="secno">B. </span>Syntax Schemas</a><ul class="toc"><li class="tocline"><a href="#section-RELAXNG-Schema" class="tocxref"><span class="secno">B.1 </span>RELAX NG Compact Schema</a></li></ul></li><li class="tocline"><a href="#section-changes" class="tocxref"><span class="secno">C. </span>Changes</a><ul class="toc"><li class="tocline"><a href="#changes-rdf11" class="tocxref"><span class="secno">C.1 </span>Changes since 2004 Recommendation</a></li><li class="tocline"><a href="#changes-2004" class="tocxref"><span class="secno">C.2 </span>Revisions since Draft 10 October 2003</a><ul class="toc"><li class="tocline"><a href="#section-Changes-non-editorial" class="tocxref"><span class="secno">C.2.1 </span>Non-Editorial Revisions</a></li><li class="tocline"><a href="#section-Changes-editorial" class="tocxref"><span class="secno">C.2.2 </span>Editorial Revisions</a></li><li class="tocline"><a href="#section-Changes-none" class="tocxref"><span class="secno">C.2.3 </span>Issues requiring no document revisions</a></li></ul></li></ul></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">D.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">D.2 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+ <section id="section-Introduction" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Introduction"><span class="secno">1. </span>Introduction</h2>
+
+ <p>This document defines the
+ XML [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>] syntax for <abbr title="Resource Description Framework">RDF</abbr> graphs. </p>
+
+ <p>This document revises the original <abbr title="Resource Description Framework">RDF</abbr>/XML grammar [<cite><a class="bibref" href="#bib-RDFMS">RDFMS</a></cite>]
+ in terms of XML Information Set [<cite><a class="bibref" href="#bib-XML-INFOSET">XML-INFOSET</a></cite>] information items which moves
+ away from the rather low-level details of XML, such as particular
+ forms of empty elements. This allows the grammar to be more
+ precisely recorded and the mapping from the XML syntax to the <abbr title="Resource Description Framework">RDF</abbr>
+ Graph more clearly shown. The mapping to the <abbr title="Resource Description Framework">RDF</abbr> graph is done by
+ emitting statements in the N-Triples [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>] format. </p>
+
+ <p>This document is part of the suite of <abbr title="Resource Description Framework">RDF</abbr> 1.1
+ documents. Other documents in this suite are: </p>
+
+ <ul>
+ <li>A document describing the basic concepts underlying <abbr title="Resource Description Framework">RDF</abbr>, as
+ well as abstract syntax ("<abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax")
+ [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]</li>
+ <li>A document describing the formal model-theoretic semantics
+ of <abbr title="Resource Description Framework">RDF</abbr> ("<abbr title="Resource Description Framework">RDF</abbr> Semantics") [<cite><a class="bibref" href="#bib-RDF11-MT">RDF11-MT</a></cite>]</li>
+ <li>Specifications of concrete syntaxes for <abbr title="Resource Description Framework">RDF</abbr>:
+ <ul>
+ <li>Turtle [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>] and TriG [<cite><a class="bibref" href="#bib-TRIG">TRIG</a></cite>]</li>
+ <li>JSON-LD [<cite><a class="bibref" href="#bib-JSON-LD">JSON-LD</a></cite>] (JSON based)</li>
+ <li>RDFa [<cite><a class="bibref" href="#bib-RDFA-PRIMER">RDFA-PRIMER</a></cite>] (for HTML embedding)</li>
+ <li>N-Triples and N-Quads (line-based exchange formats)</li>
+ </ul></li>
+ <li>A document describing <abbr title="Resource Description Framework">RDF</abbr> Schema [<cite><a class="bibref" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>], which
+ provides a data-modeling vocabulary for <abbr title="Resource Description Framework">RDF</abbr> data. </li>
+ </ul>
+ <p>For a longer introduction to the <abbr title="Resource Description Framework">RDF</abbr>/XML syntax with a historical
+ perspective, see "<abbr title="Resource Description Framework">RDF</abbr>: Understanding the Striped <abbr title="Resource Description Framework">RDF</abbr>/XML
+ Syntax" [<cite><a class="bibref" href="#bib-STRIPEDRDF">STRIPEDRDF</a></cite>].</p>
+
+ </section>
+
+
+
+<!-- FIRST PART : THE SYNTAX -->
+
+
+ <section id="section-Syntax" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Syntax"><span class="secno">2. </span>An XML Syntax for <abbr title="Resource Description Framework">RDF</abbr></h2>
+ <p>This section introduces the <abbr title="Resource Description Framework">RDF</abbr>/XML syntax, describes how it
+ encodes <abbr title="Resource Description Framework">RDF</abbr> graphs and explains this with examples. If there is any
+ conflict between this informal description and the formal description
+ of the syntax and grammar in sections
+ <a href="#section-Data-Model">6 Syntax Data Model</a> and
+ <a href="#section-Infoset-Grammar">7 <abbr title="Resource Description Framework">RDF</abbr>/XML Grammar</a>, the
+ latter two sections take precedence.
+ </p>
+
+
+<!-- intro -->
+
+ <section id="section-Syntax-intro" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-intro"><span class="secno">2.1 </span>Introduction</h3>
+
+ <p>The <abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax document [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]
+ defines the <abbr title="Resource Description Framework">RDF</abbr> Graph data model and the
+ <abbr title="Resource Description Framework">RDF</abbr> Graph abstract syntax.
+ Along with the <abbr title="Resource Description Framework">RDF</abbr> Semantics [<cite><a class="bibref" href="#bib-RDF11-MT">RDF11-MT</a></cite>]
+ this provides an abstract syntax with a formal semantics for it.
+ The <abbr title="Resource Description Framework">RDF</abbr> graph has <em>nodes</em>
+ and labeled directed <em>arcs</em>
+ that link pairs of nodes and this is represented as a set of
+ <abbr title="Resource Description Framework">RDF</abbr> triples
+ where each triple contains a
+ <em>subject node</em>, <em>predicate</em> and <em>object node</em>.
+ Nodes are IRIs, literals, or blank nodes.
+ Blank nodes may be given
+ a document-local identifier called a
+ blank node identifier.
+ Predicates are IRIs
+ and can be interpreted as either a relationship between the two
+ nodes or as defining an attribute value (object node) for some
+ subject node.</p>
+
+ <p>In order to encode the graph in XML, the nodes and predicates have to be
+ represented in XML terms — element names, attribute names, element contents
+ and attribute values.
+ <abbr title="Resource Description Framework">RDF</abbr>/XML uses XML
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName">QNames</a>
+ as defined in Namespaces in XML [<cite><a class="bibref" href="#bib-XML-NAMES">XML-NAMES</a></cite>] to represent IRIs.
+ All QNames have a <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace
+ name</a> which is an IRI
+ and a short
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>.
+ In addition, QNames can either have a short
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-Prefix">prefix</a>
+ or be declared with the default namespace declaration and have none (but
+ still have a namespace name)</p>
+
+ <p>The IRI represented by a QName is determined by appending the
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-LocalPart">local name</a>
+ part of the QName after the
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName">namespace
+ name</a> (IRI) part of the QName.
+ This is used to shorten the IRI
+ of all predicates and some nodes.
+ IRIs identifying
+ subject and object nodes can also be stored as XML attribute values.
+ <abbr title="Resource Description Framework">RDF</abbr> literals
+ which can only be object nodes,
+ become either XML element text content or XML attribute values.</p>
+
+ <p>A graph can be considered a collection of paths of the form node,
+ predicate arc, node, predicate arc, node, predicate arc, ... node
+ which cover the entire graph. In <abbr title="Resource Description Framework">RDF</abbr>/XML these turn into sequences of
+ elements inside elements which alternate between elements for nodes
+ and predicate arcs. This has been called a series of node/arc
+ stripes. The node at the start of the sequence turns into the
+ outermost element, the next predicate arc turns into a child element,
+ and so on. The stripes generally start at the top of an <abbr title="Resource Description Framework">RDF</abbr>/XML
+ document and always begin with nodes.
+ </p>
+
+ <p>Several <abbr title="Resource Description Framework">RDF</abbr>/XML examples are given in the following sections
+ building up to complete <abbr title="Resource Description Framework">RDF</abbr>/XML documents. <a href="#example7">Example 7</a>
+ is the first complete <abbr title="Resource Description Framework">RDF</abbr>/XML document.</p>
+ </section>
+
+
+
+<!-- node and property elements -->
+
+ <section id="section-Syntax-node-property-elements" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-node-property-elements"><span class="secno">2.2 </span>Node Elements and Property Elements</h3>
+
+
+ <figure id="figure1">
+ <img alt="Graph for RDF/XML Example" src="figure1.png" />
+ <figcaption>Fig. <span class="figno">1</span> <span class="fig-title">Graph for RDF/XML Example (SVG version)</span></figcaption>
+ </figure>
+
+ <p>An <abbr title="Resource Description Framework">RDF</abbr> graph is given in <a href="#figure1" class="fig-ref">Figure 1</a>
+ where the nodes are represented as ovals and contain their
+ IRIs where they have them, all the predicate arcs are labeled with
+ IRIs and string literals nodes have been written in rectangles.</p>
+
+
+ <p>If we follow one node, predicate arc ... , node path through the
+ graph shown in <a href="#figure2" class="fig-ref">Figure 2</a>:
+ </p>
+
+ <figure id="figure2">
+ <img alt="One Path Through the Graph" src="figure2.png" />
+ <figcaption>Fig. <span class="figno">2</span> <span class="fig-title">One Path Through the Graph (SVG version)</span></figcaption>
+ </figure>
+
+ <p>The left hand side of the <a href="#figure2" class="fig-ref">Figure 2</a>
+ graph corresponds to the node/predicate arc stripes:</p>
+
+ <ol>
+
+ <li>Node with IRI <code>http://www.w3.org/TR/rdf-syntax-grammar</code></li>
+ <li>Predicate Arc labeled with IRI <code>http://example.org/terms/editor</code></li>
+ <li>Node with no IRI</li>
+ <li>Predicate Arc labeled with IRI <code>http://example.org/terms/homePage</code></li>
+
+ <li>Node with IRI <code>http://purl.org/net/dajobe/</code></li>
+ </ol>
+
+ <p>In <abbr title="Resource Description Framework">RDF</abbr>/XML, the sequence of 5 nodes and predicate arcs on
+ the left hand side of <a href="#figure2" class="fig-ref">Figure 2</a> corresponds to
+ the usage of five XML elements of two types, for the graph nodes and
+ predicate arcs. These are conventionally called <em>node elements</em> and
+ <em>property elements</em> respectively. In the striping shown in
+
+ <a href="#example1">Example 1</a>, <code>rdf:Description</code> is the
+ node element (used three times for the three nodes) and
+ <code>ex:editor</code> and <code>ex:homePage</code> are the two
+ property elements.
+ </p>
+
+<div class="example"><div class="example-title"><span>Example 1</span></div><pre id="example1" class="example"><strong>Striped RDF/XML (nodes and predicate arcs)</strong>
+
+<code><rdf:Description></code>
+ <ex:editor>
+ <code><rdf:Description></code>
+ <ex:homePage>
+ <code><rdf:Description></code>
+ <code></rdf:Description></code>
+ </ex:homePage>
+ <code></rdf:Description></code>
+ </ex:editor>
+<code></rdf:Description></code></pre></div>
+
+ <p>The <a href="#figure2" class="fig-ref">Figure 2</a> graph consists of some nodes
+ that are
+ IRIs
+
+ (and others that are not) and this can be added
+ to the <abbr title="Resource Description Framework">RDF</abbr>/XML using the <code>rdf:about</code> attribute on node
+ elements to give the result in <a href="#example2">Example 2</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 2</span></div><pre id="example2" class="example"><strong>Node Elements with IRIs added</strong>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
+ </rdf:Description>
+ </ex:editor>
+</rdf:Description></pre></div>
+
+ <p>Adding the other two paths through the <a href="#figure1" class="fig-ref">Figure 1</a>
+ graph to the <abbr title="Resource Description Framework">RDF</abbr>/XML in
+ <a href="#example2">Example 2</a>
+ gives the result in <a href="#example3">Example 3</a>
+ (this example fails to show that the blank node is
+ shared between the two paths, see
+ <a href="#section-Syntax-blank-nodes">2.10</a>):</p>
+
+<div class="example"><div class="example-title"><span>Example 3</span></div><pre id="example3" class="example"><strong>Complete description of all graph paths</strong>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
+ </rdf:Description>
+ </ex:editor>
+</rdf:Description>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+ </ex:editor>
+</rdf:Description>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+</rdf:Description></pre></div>
+
+ </section>
+
+
+<!-- multiple properties -->
+
+ <section id="section-Syntax-multiple-property-elements" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-multiple-property-elements"><span class="secno">2.3 </span>Multiple Property Elements</h3>
+
+ <p>There are several abbreviations that can be used to make common
+ uses easier to write down. In particular, it is common that a
+ subject node in the <abbr title="Resource Description Framework">RDF</abbr> graph has multiple outgoing predicate arcs. <abbr title="Resource Description Framework">RDF</abbr>/XML
+ provides an abbreviation for the corresponding syntax when a node
+ element about a resource has multiple property elements. This can be
+ abbreviated by using multiple child property elements inside the node
+ element describing the subject node.</p>
+
+ <p>Taking <a href="#example3">Example 3</a>, there are
+ two node elements that can take multiple property elements.
+ The subject node with IRI
+ <code>http://www.w3.org/TR/rdf-syntax-grammar</code>
+ has property elements <code>ex:editor</code> and <code>ex:title</code>
+
+ and the node element for the blank node can take <code>ex:homePage</code>
+ and <code>ex:fullName</code>. This abbreviation
+ gives the result shown in <a href="#example4">Example 4</a>
+ (this example does show that there is a single blank node):</p>
+
+<div class="example"><div class="example-title"><span>Example 4</span></div><pre id="example4" class="example"><strong>Using multiple property elements on a node element</strong>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage>
+ <rdf:Description rdf:about="http://purl.org/net/dajobe/">
+ </rdf:Description>
+ </ex:homePage>
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+ </ex:editor>
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+</rdf:Description></pre></div>
+
+ </section>
+
+
+<!-- empty property elements -->
+
+ <section id="section-Syntax-empty-property-elements" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-empty-property-elements"><span class="secno">2.4 </span>Empty Property Elements</h3>
+
+ <p>When a predicate arc in an <abbr title="Resource Description Framework">RDF</abbr> graph points to an object node which has no
+ further predicate arcs, which appears in <abbr title="Resource Description Framework">RDF</abbr>/XML as an empty node element
+ <code><rdf:Description rdf:about="..."></code>
+ <code></rdf:Description></code>
+ (or <code><rdf:Description rdf:about="..." /></code>)
+ this form can be shortened. This is done by using the
+ IRI of the object node as the value of an XML attribute <code>rdf:resource</code>
+ on the containing property element and making the property element empty.
+ </p>
+
+ <p>In this example, the property element <code>ex:homePage</code>
+ contains an empty node element with the
+ IRI
+ <code>http://purl.org/net/dajobe/</code>. This can be replaced with
+ the empty property element form giving the result shown in
+ <a href="#example5">Example 5</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 5</span></div><pre id="example5" class="example"><strong>Empty property elements</strong>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <ex:editor>
+ <rdf:Description>
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ <ex:fullName>Dave Beckett</ex:fullName>
+ </rdf:Description>
+ </ex:editor>
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+</rdf:Description></pre></div>
+
+ </section>
+
+
+<!-- empty property attributes -->
+
+ <section id="section-Syntax-property-attributes" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-property-attributes"><span class="secno">2.5 </span>Property Attributes</h3>
+
+ <p>When a property element's content is string literal,
+ it may be possible to use it as an XML attribute on the
+ containing node element.
+ This can be done for multiple properties on the same node element
+ only if the property element name is not repeated
+ (required by XML — attribute names are unique on an XML element)
+ and any in-scope <code>xml:lang</code> on the
+ property element's string literal (if any) are the same (see
+ <a href="#section-Syntax-languages">Section 2.7</a>)
+ This abbreviation is known as a <em>Property Attribute</em>
+ and can be applied to any node element.</p>
+
+ <p>This abbreviation can also be used when the property element is
+ <code>rdf:type</code> and it has an <code>rdf:resource</code> attribute
+ the value of which is interpreted as a
+ IRI object node.</p>
+
+ <p>In <a href="#example5">Example 5</a>:,
+ there are two property elements with string literal content,
+ the <code>dc:title</code> and <code>ex:fullName</code>
+ property elements. These can be replaced with property attributes
+ giving the result shown in <a href="#example6">Example 6</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 6</span></div><pre id="example6" class="example"><strong>Replacing property elements with string literal content into property attributes</strong>
+
+<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor>
+ <rdf:Description ex:fullName="Dave Beckett">
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </rdf:Description>
+ </ex:editor>
+</rdf:Description></pre></div>
+
+ </section>
+
+
+<!-- complete rdf/xml document -->
+
+ <section id="section-Syntax-complete-document" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-complete-document"><span class="secno">2.6 </span>Completing the Document: Document Element and XML Declaration</h3>
+
+ <p>To create a complete <abbr title="Resource Description Framework">RDF</abbr>/XML document, the serialization of the
+ graph into XML is usually contained inside an <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code>
+ XML element which becomes the top-level XML document element.
+ Conventionally the <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code> element is also used to
+ declare the XML namespaces that are used, although that is not
+ required. When there is only one top-level node element inside
+ <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code>, the <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code> can be omitted
+ although any XML namespaces must still be declared.</p>
+
+ <p>The XML specification also permits an XML declaration at
+ the top of the document with the XML version and possibly the XML
+ content encoding. This is optional but recommended.</p>
+
+ <p>Completing the <abbr title="Resource Description Framework">RDF</abbr>/XML could be done for any of the correct
+ complete graph examples from
+ <a href="#example4">Example 4</a> onwards but taking the smallest
+ <a href="#example6">Example 6</a> and adding the final components,
+ gives a complete <abbr title="Resource Description Framework">RDF</abbr>/XML representation of the original
+ <a href="#figure1" class="fig-ref">Figure 1</a> graph
+ in <a href="#example7">Example 7</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 7</span></div><pre id="example7" class="example"><strong>Complete RDF/XML description of Figure 1 graph
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example07.rdf">example07.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example07.nt">example07.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor>
+ <rdf:Description ex:fullName="Dave Beckett">
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
+ </rdf:Description>
+ </ex:editor>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ <p>It is possible to omit <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code> in
+ <a href="#example7">Example 7</a> above since there is only one
+ <code>rdf:Description</code> inside <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code> but this
+ is not shown here.</p>
+ </section>
+
+
+<!-- language attribute -->
+
+ <section id="section-Syntax-languages" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-languages"><span class="secno">2.7 </span>Languages: <code>xml:lang</code></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr>/XML permits the use of the <code>xml:lang</code> attribute as defined by
+ <a href="http://www.w3.org/TR/REC-xml#sec-lang-tag">2.12 Language Identification</a>
+ of XML 1.0 [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>]
+ to allow the identification of content language.
+ The <code>xml:lang</code> attribute can be used on any node element or property element
+ to indicate that the included content is in the given language.
+ <a href="#section-Syntax-datatyped-literals">Typed literals</a>
+ which includes <a href="#section-Syntax-XML-literals">XML literals</a>
+ are not affected by this attribute.
+ The most specific in-scope language present
+ (if any) is applied to property element string literal content or
+ property attribute values. The <code>xml:lang=""</code> form
+ indicates the absence of a language identifier.</p>
+
+ <p>Some examples of marking content languages for <abbr title="Resource Description Framework">RDF</abbr> properties are shown in
+ <a href="#example8">Example 8</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 8</span></div><pre id="example8" class="example"><strong>Complete example of <code>xml:lang</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example08.rdf">example08.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example08.nt">example08.nt</a>)</strong>
+
+<?xml version="1.0" encoding="utf-8"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
+ <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
+ <dc:title xml:lang="en">RDF/XML Syntax Specification (Revised)</dc:title>
+ <dc:title xml:lang="en-US">RDF/XML Syntax Specification (Revised)</dc:title>
+ </rdf:Description>
+
+ <rdf:Description rdf:about="http://example.org/buecher/baum" xml:lang="de">
+ <dc:title>Der Baum</dc:title>
+ <dc:description>Das Buch ist außergewöhnlich</dc:description>
+ <dc:title xml:lang="en">The Tree</dc:title>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- XML Literal -->
+
+ <section id="section-Syntax-XML-literals" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-XML-literals"><span class="secno">2.8 </span>XML Literals: <code>rdf:parseType="Literal"</code></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr> allows XML literals [RDF11-CONCEPTS]
+ to be given as the object node of a predicate.
+ These are written in <abbr title="Resource Description Framework">RDF</abbr>/XML as content of a property element (not
+ a property attribute) and indicated using the
+ <code>rdf:parseType="Literal"</code> attribute on the containing
+ property element.
+ </p>
+
+ <p>An example of writing an XML literal is given in
+ <a href="#example9">Example 9</a> where
+ there is a single <abbr title="Resource Description Framework">RDF</abbr> triple with the subject node
+ IRI
+ <code>http://example.org/item01</code>, the predicate
+ IRI
+ <code>http://example.org/stuff/1.0/prop</code> (from
+
+ <code>ex:prop</code>) and the object node with XML literal
+ content beginning <code>a:Box</code>.
+ </p>
+
+<div class="example"><div class="example-title"><span>Example 9</span></div><pre id="example9" class="example"><strong>Complete example of <code>rdf:parseType="Literal"</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example09.rdf">example09.rdf</a>, output <a href="example09.nt">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example09.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://example.org/item01">
+ <ex:prop rdf:parseType="Literal"
+ xmlns:a="http://example.org/a#"><a:Box required="true">
+ <a:widget size="10" />
+ <a:grommit id="23" /></a:Box>
+ </ex:prop>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- datatyped literals -->
+
+ <section id="section-Syntax-datatyped-literals" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-datatyped-literals"><span class="secno">2.9 </span>Typed Literals: <code>rdf:datatype</code></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr> allows typed literals
+ to be given as the object node of a predicate. Typed literals consist of a literal
+ string and a datatype
+ IRI. These are written in <abbr title="Resource Description Framework">RDF</abbr>/XML using
+ the same syntax for literal string nodes in the property element form
+ (not property attribute) but with an additional
+ <code>rdf:datatype="</code><em>datatypeURI</em><code>"</code>
+ attribute on the property element. Any
+ IRI can be used in the attribute.
+ </p>
+
+ <p>An example of an <abbr title="Resource Description Framework">RDF</abbr> typed
+ literal
+ is given in <a href="#example10">Example 10</a> where
+ there is a single <abbr title="Resource Description Framework">RDF</abbr> triple with the subject node
+ IRI
+ <code>http://example.org/item01</code>, the predicate
+ IRI
+ <code>http://example.org/stuff/1.0/size</code> (from
+ <code>ex:size</code>) and the object node with the
+ typed literal
+ ("123", <code>http://www.w3.org/2001/XMLSchema#int</code>)
+ to be interpreted as an
+ XML Schema [<cite><a class="bibref" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>] datatype <code>int</code>.
+ </p>
+
+<div class="example"><div class="example-title"><span>Example 10</span></div><pre id="example10" class="example"><strong>Complete example of <code>rdf:datatype</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example10.rdf">example10.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example10.nt">example10.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://example.org/item01">
+ <ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123</ex:size>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- blank nodes -->
+
+ <section id="section-Syntax-blank-nodes" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-blank-nodes"><span class="secno">2.10 </span>Identifying Blank Nodes: <code>rdf:nodeID</code></h3>
+
+ <p>Blank nodes in the <abbr title="Resource Description Framework">RDF</abbr> graph are distinct but have no
+ IRI identifier.
+ It is sometimes required that the same graph blank node is referred to in the
+ <abbr title="Resource Description Framework">RDF</abbr>/XML in multiple places, such as at the subject and object
+ of several <abbr title="Resource Description Framework">RDF</abbr> triples. In this case, a blank node identifier
+ can be given to the blank node for identifying it
+ in the document. Blank node identifiers in <abbr title="Resource Description Framework">RDF</abbr>/XML are scoped to the
+ containing XML Information Set
+ <a href="http://www.w3.org/TR/xml-infoset/#infoitem.document">document information item</a>.
+ A blank node identifier is used
+ on a node element to replace
+ <code>rdf:about="</code><em>IRI</em><code>"</code>
+ or on a property element to replace
+ <code>rdf:resource="</code><em>IRI</em><code>"</code>
+
+ with <code>rdf:nodeID="</code><em><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node-id">blank node identifier</a></em><code>"</code>
+ in both cases.</p>
+
+ <p>Taking <a href="#example7">Example 7</a> and explicitly giving
+ a blank node identifier of <code>abc</code> to the blank node in it
+ gives the result shown in <a href="#example11">Example 11</a>.
+ The second <code>rdf:Description</code> property element is
+ about the blank node.</p>
+
+
+<div class="example"><div class="example-title"><span>Example 11</span></div><pre id="example11" class="example"><strong>Complete RDF/XML description of graph using <code>rdf:nodeID</code> identifying the blank node
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example11.rdf">example11.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example11.nt">example11.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor rdf:nodeID="abc"/>
+ </rdf:Description>
+
+ <rdf:Description rdf:nodeID="abc" ex:fullName="Dave Beckett">
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- parsetype resource -->
+
+ <section id="section-Syntax-parsetype-resource" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-parsetype-resource"><span class="secno">2.11 </span>Omitting Blank Nodes: <code>rdf:parseType="Resource"</code></h3>
+
+ <p>Blank nodes (not IRI nodes) in <abbr title="Resource Description Framework">RDF</abbr> graphs can be written
+ in a form that allows the
+ <code><rdf:Description></code>
+ <code></rdf:Description></code> pair to be omitted.
+ The omission is done by putting an
+ <code>rdf:parseType="Resource"</code>
+ attribute on the containing property element
+ that turns the property element into a property-and-node element,
+ which can itself have both property elements and property attributes.
+ Property attributes and the <code>rdf:nodeID</code> attribute
+ are not permitted on property-and-node elements.
+
+ </p>
+
+ <p>Taking the earlier <a href="#example7">Example 7</a>,
+ the contents of the <code>ex:editor</code> property element
+ could be alternatively done in this fashion to give
+ the form shown in <a href="#example12">Example 12</a>:</p>
+
+<div class="example"><div class="example-title"><span>Example 12</span></div><pre id="example12" class="example"><strong>Complete example using <code>rdf:parseType="Resource"</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example12.rdf">example12.rdf</a>, output: <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example12.nt">example12.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor rdf:parseType="Resource">
+ <ex:fullName>Dave Beckett</ex:fullName>
+ <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
+ </ex:editor>
+ </rdf:Description>
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- attributes on property elements -->
+
+ <section id="section-Syntax-property-attributes-on-property-element" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-property-attributes-on-property-element"><span class="secno">2.12 </span>Omitting Nodes: Property Attributes on an empty Property Element</h3>
+
+ <p>If all of the property elements on a blank node element have
+ string literal values with the same in-scope <code>xml:lang</code>
+ value (if present) and each of these property elements appears at
+ most once and there is at most one <code>rdf:type</code> property
+ element with a IRI object node, these can be abbreviated by
+ moving them to be property attributes on the containing property
+ element which is made an empty element.</p>
+
+ <p>Taking the earlier <a href="#example5">Example 5</a>,
+ the <code>ex:editor</code> property element contains a
+ blank node element with two property elements
+
+ <code>ex:fullname</code> and <code>ex:homePage</code>.
+ <code>ex:homePage</code> is not suitable here since it
+ does not have a string literal value, so it is being
+ <em>ignored</em> for the purposes of this example.
+ The abbreviated form removes the <code>ex:fullName</code> property element
+ and adds a new property attribute <code>ex:fullName</code> with the
+ string literal value of the deleted property element
+ to the <code>ex:editor</code> property element.
+ The blank node element becomes implicit in the now empty
+
+ <code>ex:editor</code> property element. The result is shown in
+ <a href="#example13">Example 13</a>.</p>
+
+<div class="example"><div class="example-title"><span>Example 13</span></div><pre id="example13" class="example"><strong>Complete example of property attributes on an empty property element
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example13.rdf">example13.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example13.nt">example13.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
+ dc:title="RDF/XML Syntax Specification (Revised)">
+ <ex:editor ex:fullName="Dave Beckett" />
+ <!-- Note the ex:homePage property has been ignored for this example -->
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- typed nodes -->
+
+ <section id="section-Syntax-typed-nodes" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-typed-nodes"><span class="secno">2.13 </span>Typed Node Elements</h3>
+
+ <p>It is common for <abbr title="Resource Description Framework">RDF</abbr> graphs to have <code>rdf:type</code> predicates
+ from subject nodes. These are conventionally called <em>typed
+ nodes</em> in the graph, or <em>typed node elements</em> in the
+ <abbr title="Resource Description Framework">RDF</abbr>/XML. <abbr title="Resource Description Framework">RDF</abbr>/XML allows this triple to be expressed more concisely.
+ by replacing the <code>rdf:Description</code> node element name with
+ the namespaced-element corresponding to the
+
+ IRI of the value of
+ the type relationship. There may, of course, be multiple <code>rdf:type</code>
+ predicates but only one can be used in this way, the others must remain as
+ property elements or property attributes.
+ </p>
+
+ <p>The typed node elements are commonly used in <abbr title="Resource Description Framework">RDF</abbr>/XML with the built-in
+ classes in the <a href="#section-Namespace"><abbr title="Resource Description Framework">RDF</abbr> vocabulary</a>:
+ <code>rdf:Seq</code>, <code>rdf:Bag</code>, <code>rdf:Alt</code>,
+
+ <code>rdf:Statement</code>, <code>rdf:Property</code> and
+ <code>rdf:List</code>.</p>
+
+ <p>For example, the <abbr title="Resource Description Framework">RDF</abbr>/XML in <a href="#example14">Example 14</a>
+ could be written as shown in <a href="#example15">Example 15</a>.</p>
+
+<div class="example"><div class="example-title"><span>Example 14</span></div><pre id="example14" class="example"><strong>Complete example with <code>rdf:type</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example14.rdf">example14.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example14.nt">example14.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://example.org/thing">
+ <rdf:type rdf:resource="http://example.org/stuff/1.0/Document"/>
+ <dc:title>A marvelous thing</dc:title>
+ </rdf:Description>
+</rdf:RDF></pre></div>
+
+<div class="example"><div class="example-title"><span>Example 15</span></div><pre id="example15" class="example"><strong>Complete example using a typed node element to replace an <code>rdf:type</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example15.rdf">example15.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example15.nt">example15.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <ex:Document rdf:about="http://example.org/thing">
+ <dc:title>A marvelous thing</dc:title>
+ </ex:Document>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- xml base -->
+
+ <section id="section-Syntax-ID-xml-base" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-ID-xml-base"><span class="secno">2.14 </span>Abbreviating URIs: <code>rdf:ID</code> and <code>xml:base</code></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr>/XML allows further abbreviating IRIs in XML attributes in two
+ ways. The XML Infoset provides a base URI attribute <code>xml:base</code>
+ that sets the base URI for resolving relative IRIs, otherwise
+ the base URI is that of the document. The base URI applies to
+ all <abbr title="Resource Description Framework">RDF</abbr>/XML attributes that deal with IRIs which are <code>rdf:about</code>,
+ <code>rdf:resource</code>, <code>rdf:ID</code>
+ and <code>rdf:datatype</code>.</p>
+
+ <p>The <code>rdf:ID</code> attribute on a node element (not property
+ element, that has another meaning) can be used instead of
+ <code>rdf:about</code> and gives a relative IRI equivalent to <code>#</code>
+ concatenated with the <code>rdf:ID</code> attribute value. So for
+ example if <code>rdf:ID="name"</code>, that would be equivalent
+ to <code>rdf:about="#name"</code>. <code>rdf:ID</code> provides an additional
+ check since the same <em>name</em> can only appear once in the
+ scope of an <code>xml:base</code> value (or document, if none is given),
+ so is useful for defining a set of distinct,
+ related terms relative to the same IRI.</p>
+
+ <p>Both forms require a base URI to be known, either from an in-scope
+ <code>xml:base</code> or from the URI of the <abbr title="Resource Description Framework">RDF</abbr>/XML document.</p>
+
+ <p><a href="#example16">Example 16</a> shows abbreviating the node
+ IRI of <code>http://example.org/here/#snack</code> using an
+ <code>xml:base</code> of <code>http://example.org/here/</code> and
+ an <code>rdf:ID</code> on the <code>rdf:Description</code> node element.
+ The object node of the <code>ex:prop</code> predicate is an
+ absolute IRI
+
+ resolved from the <code>rdf:resource</code> XML attribute value
+ using the in-scope base URI to give the
+ IRI <code>http://example.org/here/fruit/apple</code>.</p>
+
+<div class="example"><div class="example-title"><span>Example 16</span></div><pre id="example16" class="example"><strong>Complete example using <code>rdf:ID</code> and <code>xml:base</code> for shortening URIs
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example16.rdf">example16.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example16.nt">example16.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/"
+ xml:base="http://example.org/here/">
+
+ <rdf:Description rdf:ID="snack">
+ <ex:prop rdf:resource="fruit/apple"/>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- list elements -->
+
+ <section id="section-Syntax-list-elements" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-list-elements"><span class="secno">2.15 </span>Container Membership Property Elements: <code>rdf:li</code> and <code>rdf:_</code><em>n</em></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr> has a set of container membership properties
+ and corresponding property elements that are mostly used with
+ instances of the
+ <code>rdf:Seq</code>, <code>rdf:Bag</code> and <code>rdf:Alt</code>
+
+ classes which may be written as typed node elements. The list properties are
+ <code>rdf:_1</code>, <code>rdf:_2</code> etc. and can be written
+ as property elements or property attributes as shown in
+ <a href="#example17">Example 17</a>. There is an <code>rdf:li</code>
+ special property element that is equivalent to
+ <code>rdf:_1</code>, <code>rdf:_2</code> in order,
+ explained in detail in <a href="#section-List-Expand">section 7.4</a>.
+ The mapping to the container membership properties is
+ always done in the order that the <code>rdf:li</code> special
+ property elements appear in XML — the document order is significant.
+ The equivalent <abbr title="Resource Description Framework">RDF</abbr>/XML to <a href="#example17">Example 17</a> written
+ in this form is shown in <a href="#example18">Example 18</a>.
+ </p>
+
+<div class="example"><div class="example-title"><span>Example 17</span></div><pre id="example17" class="example"><strong>Complex example using RDF list properties
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example17.rdf">example17.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example17.nt">example17.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+
+ <rdf:Seq rdf:about="http://example.org/favourite-fruit">
+ <rdf:_1 rdf:resource="http://example.org/banana"/>
+ <rdf:_2 rdf:resource="http://example.org/apple"/>
+ <rdf:_3 rdf:resource="http://example.org/pear"/>
+ </rdf:Seq>
+
+</rdf:RDF></pre></div>
+
+<div class="example"><div class="example-title"><span>Example 18</span></div><pre id="example18" class="example"><strong>Complete example using <code>rdf:li</code> property element for list properties
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example18.rdf">example18.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example18.nt">example18.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+
+ <rdf:Seq rdf:about="http://example.org/favourite-fruit">
+ <rdf:li rdf:resource="http://example.org/banana"/>
+ <rdf:li rdf:resource="http://example.org/apple"/>
+ <rdf:li rdf:resource="http://example.org/pear"/>
+ </rdf:Seq>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- parsetype collection -->
+
+ <section id="section-Syntax-parsetype-Collection" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-parsetype-Collection"><span class="secno">2.16 </span>Collections: <code>rdf:parseType="Collection"</code></h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr>/XML allows an <code>rdf:parseType="Collection"</code>
+
+ attribute on a property element to let it contain multiple node
+ elements. These contained node elements give the set of subject
+ nodes of the collection. This syntax form corresponds to a set of
+ triples connecting the collection of subject nodes, the exact triples
+ generated are described in detail in
+ <a href="#parseTypeCollectionPropertyElt">Section 7.2.19 Production parseTypeCollectionPropertyElt</a>.
+ The collection construction is always done in the order that the node
+ elements appear in the XML document. Whether the order of the
+ collection of nodes is significant is an application issue and not
+ defined here.
+ </p>
+
+ <p><a href="#example19">Example 19</a> shows a collection of three
+ nodes elements at the end of the <code>ex:hasFruit</code>
+ property element using this form.</p>
+
+<div class="example"><div class="example-title"><span>Example 19</span></div><pre id="example19" class="example"><strong>Complete example of a RDF collection of nodes using <code>rdf:parseType="Collection"</code>
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example19.rdf">example19.rdf</a>, output <a href="example19.nt">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example19.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/">
+
+ <rdf:Description rdf:about="http://example.org/basket">
+ <ex:hasFruit rdf:parseType="Collection">
+ <rdf:Description rdf:about="http://example.org/banana"/>
+ <rdf:Description rdf:about="http://example.org/apple"/>
+ <rdf:Description rdf:about="http://example.org/pear"/>
+ </ex:hasFruit>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+
+<!-- reification -->
+
+ <section id="section-Syntax-reifying" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Syntax-reifying"><span class="secno">2.17 </span>Reifying Statements: <code>rdf:ID</code></h3>
+
+ <p>The <code>rdf:ID</code> attribute can be used on a property
+ element to reify the triple that it generates (See
+ <a href="#section-Reification">section 7.3 Reification Rules</a> for the
+ full details).
+ The identifier for the triple should be constructed as a
+ IRI
+ made from the relative IRI
+ <code>#</code> concatenated with the <code>rdf:ID</code> attribute
+ value, resolved against the in-scope base URI. So for example if
+
+ <code>rdf:ID="triple"</code>, that would be equivalent to the IRI
+ formed from relative IRI <code>#triple</code> against the base URI.
+ Each (<code>rdf:ID</code> attribute value, base URI)
+ pair has to be unique in an <abbr title="Resource Description Framework">RDF</abbr>/XML document,
+ see <a href="#constraint-id">constraint-id</a>.
+ </p>
+
+ <p><a href="#example20">Example 20</a> shows a <code>rdf:ID</code>
+ being used to reify a triple made from the <code>ex:prop</code>
+ property element giving the reified triple the
+ IRI <code>http://example.org/triples/#triple1</code>.</p>
+
+<div class="example"><div class="example-title"><span>Example 20</span></div><pre id="exampl20" class="example"><strong>Complete example of <code>rdf:ID</code> reifying a property element
+(<a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example20.rdf">example20.rdf</a>, output <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/example20.nt">example20.nt</a>)</strong>
+
+<?xml version="1.0"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:ex="http://example.org/stuff/1.0/"
+ xml:base="http://example.org/triples/">
+ <rdf:Description rdf:about="http://example.org/">
+ <ex:prop rdf:ID="triple1">blah</ex:prop>
+ </rdf:Description>
+
+</rdf:RDF></pre></div>
+
+ </section>
+
+ </section>
+
+
+
+<!-- SECOND PART : TERMINILOGY -->
+
+
+ <section id="section-Terminology" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Terminology"><span class="secno">3. </span>Terminology</h2>
+
+ <p>The key words "<em class="rfc2119" title="MUST">MUST</em>", "<em class="rfc2119" title="MUST NOT">MUST NOT</em>", "<em class="rfc2119" title="REQUIRED">REQUIRED</em>", "<em class="rfc2119" title="SHALL">SHALL</em>", "<em class="rfc2119" title="SHALL
+ NOT">SHALL
+ NOT</em>", "<em class="rfc2119" title="SHOULD">SHOULD</em>", "<em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em>", "<em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em>", "<em class="rfc2119" title="MAY">MAY</em>", and "<em class="rfc2119" title="OPTIONAL">OPTIONAL</em>" in
+ this document are to be interpreted as described in
+ RFC 2119 [<cite><a class="bibref" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+ <p>All use of string without further qualification refers to
+ a Unicode [<cite><a class="bibref" href="#bib-UNICODE">UNICODE</a></cite>] character string;
+ a sequence of characters represented by a code point in
+ Unicode.
+
+ </p></section>
+
+
+
+<!-- THIRD PART : MIME Type -->
+
+
+ <section id="section-MIME-Type" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-MIME-Type"><span class="secno">4. </span><abbr title="Resource Description Framework">RDF</abbr> MIME Type, File Extension and Macintosh File Type</h2>
+
+ <p>The Internet media type / MIME type for <abbr title="Resource Description Framework">RDF</abbr>/XML is
+ <code>application/rdf+xml</code> —
+ RFC 3023 [<cite><a class="bibref" href="#bib-RFC3023">RFC3023</a></cite>], section 8.18.
+ </p>
+
+ <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_1"><span>Note</span></div><p class=""><strong>(Informative): </strong>
+ For the state of the MIME type registration, consult
+ IANA MIME Media Types [<cite><a class="bibref" href="#bib-IANA-MEDIA-TYPES">IANA-MEDIA-TYPES</a></cite>]
+ </p></div>
+
+ <p>It is recommended that <abbr title="Resource Description Framework">RDF</abbr>/XML files have the extension
+ <code>".rdf"</code> (all lowercase) on all platforms.</p>
+
+ <p>It is recommended that <abbr title="Resource Description Framework">RDF</abbr>/XML files stored on Macintosh HFS file
+ systems be given a file type of <code>"rdf "</code>
+ (all lowercase, with a space character as the fourth letter).</p>
+ </section>
+
+
+
+<!-- FOURTH PART : Global Issues -->
+
+
+ <section id="section-Global" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Global"><span class="secno">5. </span>Global Issues</h2>
+
+
+<!-- namespace -->
+
+ <section id="section-Namespace" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+ <h3 aria-level="2" role="heading" id="h3_section-Namespace"><span class="secno">5.1 </span>The <abbr title="Resource Description Framework">RDF</abbr> Namespace and Vocabulary</h3>
+
+ <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_2"><span>Note</span></div><p class=""><strong>(Informative): </strong>
+ The names <code>aboutEach</code> and <code>aboutEachPrefix</code> were removed
+ from the language and the <abbr title="Resource Description Framework">RDF</abbr> vocabulary by the <abbr title="Resource Description Framework">RDF</abbr> 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"><div class="note-title" aria-level="3" role="heading" id="h_note_3"><span>Note</span></div><p class=""><strong>(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 <abbr title="Resource Description Framework">RDF</abbr> 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/"><abbr title="Resource Description Framework">RDF</abbr> Core Issues List</a>
+ for further information.
+ </p></div>
+
+ <p>The <dfn id="rdf-ns-uri"><abbr title="Resource Description Framework">RDF</abbr> namespace IRI</dfn> (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 <dfn id="rdf-vocabulary"><abbr title="Resource Description Framework">RDF</abbr> Vocabulary</dfn>
+ is identified by this namespace name and consists of the following names only:</p>
+
+ <dl>
+ <dt>Syntax names — not concepts</dt>
+ <dd>
+ <p>
+ <code><abbr title="Resource Description Framework">RDF</abbr> 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 <em class="rfc2119" title="SHOULD">SHOULD</em> generate a warning when
+ encountered, but should otherwise behave normally.</p>
+
+ <p>Within <abbr title="Resource Description Framework">RDF</abbr>/XML documents it is not permitted to use XML namespaces
+ whose namespace name is the
+ <a class="termref" href="#rdf-ns-uri"><span class="arrow">·</span><abbr title="Resource Description Framework">RDF</abbr> namespace IRI<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 <abbr title="Resource Description Framework">RDF</abbr> vocabulary
+ and it has a IRI of the concatenation of the
+ <a class="termref" href="#rdf-ns-uri"><span class="arrow">·</span><abbr title="Resource Description Framework">RDF</abbr> namespace IRI<span class="arrow">·</span></a> and <em>name</em>.
+ For example, <code>rdf:type</code> has the IRI
+ <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code></p>
+ </section>
+
+
+
+<!-- identifiers -->
+
+ <section id="section-Identifiers" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Identifiers"><span class="secno">5.2 </span>Identifiers</h3>
+
+ <p>The <abbr title="Resource Description Framework">RDF</abbr> Concepts document [<cite><a class="bibref" href="#bib-RDF11-CONCEPTS">RDF11-CONCEPTS</a></cite>]
+ defines the three types of <abbr title="Resource Description Framework">RDF</abbr> data that can act as node
+ and/or predicate:</p>
+
+ <dl>
+
+ <dt>IRI</dt>
+ <dd>
+ <p>IRIs can act as node (both subject and object) and as
+ predicate. </p>
+
+ <p><a href="http://www.w3.org/TR/rdf11-concepts/#section-IRIs">IRIs</a>
+ can be either:</p>
+ <ul>
+ <li>given as XML attribute values interpreted as relative
+ IRIs that are resolved against the in-scope base URI
+ as described in <a href="#section-baseURIs">section 5.3</a>
+ to give absolute IRIs</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 <abbr title="Resource Description Framework">RDF</abbr>/XML, XML QNames are transformed into
+ IRIs
+ by appending the XML local name to the namespace name (IRI).
+ For example, if the XML namespace prefix <code>foo</code> has
+ namespace name (IRI)
+
+ <code>http://example.org/somewhere/</code> then the QName
+ <code>foo:bar</code> would correspond to the IRI
+ <code>http://example.org/somewhere/bar</code>. Note that this
+ restricts which
+ IRIs 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
+ IRIs
+ 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</dt>
+ <dd>
+ <p>Literals can only act as object nodes.</p>
+
+ <p><a href="http://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal">Literals</a>
+ always have a datatype. Language-tagged strings get
+ the datatype <code>rdf:langString</code>. When there is no
+ language tag or datatype specified the literal is assumed to have the datatype
+ <code>xsd:string</code>. </p>
+ </dd>
+
+ <dt>Blank Node</dt>
+ <dd>
+ <p>Blank nodes can act as subject node and as object node.</p>
+
+ <p><a href="http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes">Blank nodes</a>
+ have distinct identity in the <abbr title="Resource Description Framework">RDF</abbr> graph.
+ When the graph is written in a syntax such as <abbr title="Resource Description Framework">RDF</abbr>/XML, these
+ blank nodes may need graph-local identifiers and a syntax
+ in order to preserve this distinction. These local identifiers are called
+ blank node identifiers
+ and are used in <abbr title="Resource Description Framework">RDF</abbr>/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 <abbr title="Resource Description Framework">RDF</abbr>/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 <abbr title="Resource Description Framework">RDF</abbr>/XML document.</p>
+ </dd>
+ </dl>
+
+ </section>
+
+
+
+<!-- uri resolution -->
+
+ <section id="section-baseURIs" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-baseURIs"><span class="secno">5.3 </span>Resolving IRIs</h3>
+
+ <p><abbr title="Resource Description Framework">RDF</abbr>/XML supports
+ XML Base [<cite><a class="bibref" href="#bib-XMLBASE">XMLBASE</a></cite>]
+ which defines a
+ <a class="termref" href="#eventterm-element-base-uri"><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 IRIs are resolved into
+ IRIs
+ according to the algorithm specified in [<cite><a class="bibref" href="#bib-XMLBASE">XMLBASE</a></cite>] (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
+ IRI. In <abbr title="Resource Description Framework">RDF</abbr>/XML, a fragment identifier
+ is transformed into an IRI
+ by appending the fragment identifier to the in-scope base URI. The
+ empty string is transformed
+ into an IRI by substituting the in-scope base URI.
+ </p>
+
+ <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_4"><span>Note</span></div><p class=""><strong>Test:</strong>
+ indicated by: <br />
+ <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>
+ <br />
+ <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>
+ <br />
+ <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>
+ <br />
+ <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>
+ <br />
+ <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
+ Uniform Resource Identifiers (URI) [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>].
+ </p>
+
+ <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_5"><span>Note</span></div><p class=""><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"><div class="note-title" aria-level="3" role="heading" id="h_note_6"><span>Note</span></div><p class=""><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"><div class="note-title" aria-level="3" role="heading" id="h_note_7"><span>Note</span></div><p class=""><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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-constraints"><span class="secno">5.4 </span>Constraints</h3>
+
+ <dl>
+ <dt><dfn id="constraint-id">constraint-id</dfn></dt>
+ <dd><p>Each application of production <a href="#idAttr">idAttr</a>
+ matches an attribute. The pair formed by the
+ <a class="termref" href="#eventterm-attribute-string-value"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+ accessor of the matched attribute and the
+ <a class="termref" href="#eventterm-element-base-uri"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a>
+ accessor of the matched attribute is unique within a single <abbr title="Resource Description Framework">RDF</abbr>/XML
+ document.</p>
+
+ <p>The syntax of the names must match the
+ <a href="#rdf-id">rdf-id production</a>.</p>
+
+ <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_8"><span>Note</span></div><p class=""><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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-conformance"><span class="secno">5.5 </span>Conformance</h3>
+
+ <dl>
+ <dt>Definition:</dt>
+ <dd>An <dfn id="dfn-rdf-document"><abbr title="Resource Description Framework">RDF</abbr> Document</dfn> is a serialization of an
+ <a href="http://www.w3.org/TR/rdf-concepts/#dfn-rdf-graph"><abbr title="Resource Description Framework">RDF</abbr> Graph</a>
+ into a concrete syntax.</dd>
+
+ <dt>Definition:<br /></dt>
+ <dd>An <dfn id="dfn-rdf-xml-document"><abbr title="Resource Description Framework">RDF</abbr>/XML Document</dfn> is an
+ <a class="termref" href="#dfn-rdf-document"><abbr title="Resource Description Framework">RDF</abbr> Document</a> written in the
+ XML syntax for <abbr title="Resource Description Framework">RDF</abbr> as defined in this document.</dd>
+
+ <dt>Conformance:<br /></dt>
+ <dd>An <a class="termref" href="#dfn-rdf-xml-document"><abbr title="Resource Description Framework">RDF</abbr>/XML Document</a> is a
+ <dfn id="dfn-conforming-document">conforming <abbr title="Resource Description Framework">RDF</abbr>/XML document</dfn>
+ if it adheres to the specification defined in this document.</dd>
+ </dl>
+ </section>
+
+ </section>
+
+
+
+<!-- FIFTH PART : Data Model -->
+
+
+ <section id="section-Data-Model" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Data-Model"><span class="secno">6. </span>Syntax Data Model</h2>
+
+ <div>
+ <p>This document specifies the syntax of <abbr title="Resource Description Framework">RDF</abbr>/XML as a grammar on an
+ alphabet of symbols. The symbols are called <em>events</em> in the
+ style of the XPATH
+ <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 [<cite><a class="bibref" href="#bib-SAX">SAX</a></cite>] 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 <abbr title="Resource Description Framework">RDF</abbr>/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 <abbr title="Resource Description Framework">RDF</abbr>/XML sequence of
+ events into an <abbr title="Resource Description Framework">RDF</abbr> graph represented in the N-Triples [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]
+ language.</p>
+
+ <p>The model given here illustrates one way to create a representation of
+ an <abbr title="Resource Description Framework">RDF</abbr> Graph
+ from an <abbr title="Resource Description Framework">RDF</abbr>/XML document. It does not mandate any implementation
+ method — any other method that results in a representation of the same
+ <abbr title="Resource Description Framework">RDF</abbr> Graph may be used.</p>
+
+ <p>In particular:</p>
+ <ul>
+ <li>This specification permits any
+ representation of an <abbr title="Resource Description Framework">RDF</abbr> graph;
+ in particular, it does not require the use of N-Triples [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>].</li>
+ <li>This specification does not require the use of
+ [<cite><a class="bibref" href="#bib-XPATH">XPATH</a></cite>] or [<cite><a class="bibref" href="#bib-SAX">SAX</a></cite>]</li>
+ <li>This specification places no constraints on the order in which
+ software transforming <abbr title="Resource Description Framework">RDF</abbr>/XML into a representation of a graph,
+ constructs the representation of the graph.</li>
+ <li>Software transforming <abbr title="Resource Description Framework">RDF</abbr>/XML into a representation of a graph
+ <em class="rfc2119" title="MAY">MAY</em> 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
+ Namespaces in XML [<cite><a class="bibref" href="#bib-XML-NAMES">XML-NAMES</a></cite>].
+ </p>
+
+ <p>The Infoset requires support for
+ XML Base [<cite><a class="bibref" href="#bib-XMLBASE">XMLBASE</a></cite>].
+ <abbr title="Resource Description Framework">RDF</abbr>/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 [<cite><a class="bibref" href="#bib-XML-INFOSET">XML-INFOSET</a></cite>]
+ which supports at least the following information items and
+ properties for <abbr title="Resource Description Framework">RDF</abbr>/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>
+ <ul>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.pi">processing instruction information item</a></li>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.rse">unexpanded entity reference information item</a></li>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.comment">comment information item</a></li>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.doctype">document type declaration information item</a></li>
+
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.entity.unparsed">unparsed entity information item</a></li>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.notation">notation information item</a></li>
+ <li><a href="http://www.w3.org/TR/xml-infoset/#infoitem.namespace">namespace information item</a></li>
+ </ul>
+
+ <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
+ XML literals
+ 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 [<cite><a class="bibref" href="#bib-XML-INFOSET">XML-INFOSET</a></cite>] specification.
+ It specifies the information items and properties that are needed
+ to implement this specification.
+ </p>
+ </div>
+
+
+<!-- events -->
+
+ <section id="section-Nodes" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Nodes"><span class="secno">6.1 </span>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">IRI</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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-root-node"><span class="secno">6.1.1 </span>Root Event</h4>
+
+ <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 id="eventterm-root-document-element">document-element</dt>
+ <dd>Set to the value of document information item property [document-element].</dd>
+ <dt id="eventterm-root-children">children</dt>
+ <dd>Set to the value of document information item property [children].</dd>
+ <dt id="eventterm-root-base-uri">base-uri</dt>
+ <dd>Set to the value of document information item property [base URI].</dd>
+ <dt id="eventterm-root-language">language</dt>
+ <dd>Set to the empty string.</dd>
+ </dl>
+ </section>
+
+
+<!-- root event -->
+
+ <section id="section-element-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-element-node"><span class="secno">6.1.2 </span>Element Event</h4>
+
+ <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 id="eventterm-element-local-name">local-name</dt>
+ <dd>Set to the value of element information item property [local name].</dd>
+
+ <dt id="eventterm-element-namespace-name">namespace-name</dt>
+ <dd>Set to the value of element information item property [namespace name].</dd>
+
+ <dt id="eventterm-element-children">children</dt>
+ <dd>Set to the value of element information item property [children].</dd>
+
+ <dt id="eventterm-element-parent">parent</dt>
+ <dd>Set to the value of element information item property [parent].</dd>
+
+ <dt id="eventterm-element-base-uri">base-uri</dt>
+ <dd>Set to the value of element information item property [base URI].</dd>
+
+ <dt id="eventterm-element-attributes">attributes</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 class="termref" href="#eventterm-element-language"><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 id="eventterm-element-URI">URI</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 id="eventterm-element-URI-string-value">URI-string-value</dt>
+ <dd>
+ <p>The value is the concatenation of the following in this order "<",
+ the escaped value of the
+ <a class="termref" href="#eventterm-element-URI"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+ accessor and ">".</p>
+
+ <p>The escaping of the
+ <a class="termref" href="#eventterm-element-URI"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+ accessor uses the N-Triples escapes for
+ IRIs [[N_TRIPLES]].
+ </p>
+
+ </dd>
+
+ <dt id="eventterm-element-liCounter">li-counter</dt>
+ <dd>Set to the integer value 1.</dd>
+
+ <dt id="eventterm-element-language">language</dt>
+ <dd>Set from the
+ <a class="termref" href="#eventterm-element-attributes"><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 id="eventterm-element-subject">subject</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 <abbr title="Resource Description Framework">RDF</abbr> graph,
+ this generally being the subject of a statement.</dd>
+
+ </dl>
+ </section>
+
+
+
+<!-- end element event -->
+
+ <section id="section-end-element-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-end-element-node"><span class="secno">6.1.3 </span>End Element Event</h4>
+
+ <p>Has no accessors. Marks the end of the containing element in
+ the sequence.</p>
+ </section>
+
+
+
+<!-- attribute event -->
+
+ <section id="section-attribute-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-attribute-node"><span class="secno">6.1.4 </span>Attribute Event</h4>
+
+ <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 id="eventterm-attribute-local-name">local-name</dt>
+ <dd>Set to the value of attribute information item property [local name].</dd>
+
+ <dt id="eventterm-attribute-namespace-name">namespace-name</dt>
+ <dd>Set to the value of attribute information item property [namespace name].</dd>
+
+ <dt id="eventterm-attribute-string-value">string-value</dt>
+ <dd>Set to the value of the attribute information item
+ property [normalized value] as specified by [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>] (if an attribute whose normalized
+ value is a zero-length string, then the string-value is also
+ a zero-length string).</dd>
+
+ <dt id="eventterm-attribute-URI">URI</dt>
+ <dd><p>If <a class="termref" href="#eventterm-attribute-namespace-name"><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 class="termref" href="#eventterm-attribute-namespace-name"><span class="arrow">·</span>namespace-name<span class="arrow">·</span></a> accessor
+ and the value of the
+ <a class="termref" href="#eventterm-attribute-local-name"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor.
+ Otherwise if <a class="termref" href="#eventterm-attribute-local-name"><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 class="termref" href="#rdf-ns-uri"><span class="arrow">·</span><abbr title="Resource Description Framework">RDF</abbr> namespace IRI<span class="arrow">·</span></a>
+ and the value of the <a class="termref" href="#eventterm-attribute-local-name"><span class="arrow">·</span>local-name<span class="arrow">·</span></a> accessor. Other non-namespaced
+ <a class="termref" href="#eventterm-attribute-local-name"><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
+ <em class="rfc2119" title="REQUIRED">REQUIRED</em> and intended to allow <abbr title="Resource Description Framework">RDF</abbr>/XML documents specified in
+ [<cite><a class="bibref" href="#bib-RDFMS">RDFMS</a></cite>] to remain valid; new documents
+ <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> use these unqualified attributes and applications <em class="rfc2119" title="MAY">MAY</em>
+ choose to warn when the unqualified form is seen in a document.</p>
+
+ <p>The construction of IRIs from XML attributes can generate the same
+ IRIs 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 id="eventterm-attribute-URI-string-value">URI-string-value</dt>
+ <dd>
+ <p>The value is the concatenation of the following in this order "<",
+ the escaped value of the
+ <a class="termref" href="#eventterm-attribute-URI"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+ accessor and ">".</p>
+
+ <p>The escaping of the
+ <a class="termref" href="#eventterm-attribute-URI"><span class="arrow">·</span>URI<span class="arrow">·</span></a>
+ accessor uses the N-Triples escapes for
+ IRIs [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>].
+ </p>
+ </dd>
+
+ </dl>
+ </section>
+
+
+
+<!-- text event -->
+
+ <section id="section-text-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-text-node"><span class="secno">6.1.5 </span>Text Event</h4>
+
+ <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 id="eventterm-text-string-value">string-value</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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-identifier-node"><span class="secno">6.1.6 </span>IRI Event</h4>
+
+ <p id="eventterm-identifier-identifier-type">
+ An event for a IRIs which has the following accessors:</p>
+
+ <dl>
+ <dt id="eventterm-identifier-identifier">identifier</dt>
+ <dd>Takes a string value used as an IRI.</dd>
+
+ <dt id="eventterm-identifier-string-value">string-value</dt>
+ <dd><p>The value is the concatenation of "<", the escaped
+ value of the <a class="termref" href="#eventterm-identifier-identifier"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor and ">"</p>
+
+ <p>The escaping of the <a class="termref" href="#eventterm-identifier-identifier"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor value
+ uses the N-Triples escapes for IRIs [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]. </p>
+
+ </dd>
+
+ </dl>
+
+ <p>These events are constructed by giving a value for the
+ <a class="termref" href="#eventterm-identifier-identifier"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
+ </p>
+
+ <p>For further information on identifiers in the <abbr title="Resource Description Framework">RDF</abbr> graph, see
+ <a href="#section-Identifiers">section 5.2</a>.</p>
+ </section>
+
+
+
+<!-- blank node identifier event -->
+
+ <section id="section-blank-nodeid-event" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-blank-nodeid-event"><span class="secno">6.1.7 </span>Blank Node Identifier Event</h4>
+
+ <p>An event for a
+ blank node identifier
+ which has the following accessors:</p>
+
+ <dl>
+ <dt id="eventterm-blanknodeid-identifier">identifier</dt>
+
+ <dd>Takes a string value.</dd>
+
+ <dt id="eventterm-blanknodeid-string-value">string-value</dt>
+ <dd>The value is a function of the value of the
+ <a class="termref" href="#eventterm-blanknodeid-identifier"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
+ The value begins with "_:" and the entire value <em class="rfc2119" title="MUST">MUST</em> 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 <em class="rfc2119" title="MUST">MUST</em> 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 class="termref" href="#eventterm-blanknodeid-identifier"><span class="arrow">·</span>identifier<span class="arrow">·</span></a> accessor.
+ </p>
+
+ <p>For further information on identifiers in the <abbr title="Resource Description Framework">RDF</abbr> graph, see
+ <a href="#section-Identifiers">section 5.2</a>.</p>
+ </section>
+
+
+
+<!-- plain literal event -->
+
+ <section id="section-literal-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-literal-node"><span class="secno">6.1.8 </span>Plain Literal Event</h4>
+
+ <div class="note"><div class="note-title" aria-level="4" role="heading" id="h_note_9"><span>Note</span></div><p class=""><abbr title="Resource Description Framework">RDF</abbr>/XML plain literals are in <abbr title="Resource Description Framework">RDF</abbr> 1.1 treated as
+ syntactic sugar for a literal with datatype
+ <code>xsd:string</code> (in case no language tag is present)
+ or as a literal with datatype <code>rdf:langString</code> (in
+ case a language tag is present). The mapping to N-Triples as
+ defined in this subsection is not affected by this change. </p></div>
+
+ <p>An event for a plain
+ literal which can have the following accessors:</p>
+
+ <dl>
+ <dt id="eventterm-literal-literal-value">literal-value</dt>
+ <dd>Takes a string value.</dd>
+
+ <dt id="eventterm-literal-literal-language">literal-language</dt>
+ <dd>Takes a string value used as a language tag in an <abbr title="Resource Description Framework">RDF</abbr> plain literal.</dd>
+
+ <dt id="eventterm-literal-string-value">string-value</dt>
+ <dd><p>The value is calculated from the other accessors as follows.</p>
+
+ <p>If <a class="termref" href="#eventterm-literal-literal-language"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> is the empty string
+ then the value is the concatenation of """ (1 double quote),
+ the escaped value of the
+ <a class="termref" href="#eventterm-literal-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
+ and """ (1 double quote).</p>
+
+ <p>Otherwise the value is the concatenation of """ (1 double quote),
+ the escaped value of the
+ <a class="termref" href="#eventterm-literal-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor
+ ""@" (1 double quote and a '@'),
+ and the value of the
+ <a class="termref" href="#eventterm-literal-literal-language"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessor.</p>
+
+ <p>The escaping of the <a class="termref" href="#eventterm-literal-literal-value"><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 [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]
+ for escaping certain characters such as ". </p>
+ </dd>
+ </dl>
+
+ <p>These events are constructed by giving values for the
+ <a class="termref" href="#eventterm-literal-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> and
+ <a class="termref" href="#eventterm-literal-literal-language"><span class="arrow">·</span>literal-language<span class="arrow">·</span></a> accessors.</p>
+
+ <div class="note"><div class="note-title" aria-level="4" role="heading" id="h_note_10"><span>Note</span></div><p id="literal-comb-char-note1" class="">
+ <strong>Interoperability Note (Informative):</strong>
+ Literals beginning with a Unicode combining character are
+ allowed however they may cause interoperability problems.
+ See [<cite><a class="bibref" href="#bib-CHARMOD">CHARMOD</a></cite>] for further information.
+ </p></div>
+ </section>
+
+
+
+<!-- typed literal event -->
+
+ <section id="section-typed-literal-node" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-typed-literal-node"><span class="secno">6.1.9 </span>Typed Literal Event</h4>
+
+ <p>An event for a typed literal which can have the following accessors:</p>
+
+ <dl>
+ <dt id="eventterm-typedliteral-literal-value">literal-value</dt>
+ <dd>Takes a string value.</dd>
+
+ <dt id="eventterm-typedliteral-literal-datatype">literal-datatype</dt>
+ <dd>Takes a string value used as an IRI.</dd>
+
+ <dt id="eventterm-typedliteral-string-value">string-value</dt>
+ <dd><p>The value is the concatenation of the following in this order
+ """ (1 double quote),
+ the escaped value of the
+ <a class="termref" href="#eventterm-typedliteral-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor,
+ """ (1 double quote), "^^<",
+ the escaped value of the
+ <a class="termref" href="#eventterm-typedliteral-literal-datatype"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor
+ and ">".
+ </p>
+
+ <p>The escaping of the <a class="termref" href="#eventterm-typedliteral-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a> accessor value
+ uses the N-Triples
+ escapes for strings [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]
+ for escaping certain characters such as ".
+ The escaping of the <a class="termref" href="#eventterm-typedliteral-literal-datatype"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessor value
+ must use the N-Triples escapes for IRI [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>].</p>
+
+ </dd>
+ </dl>
+
+ <p>These events are constructed by giving values for the
+ <a class="termref" href="#eventterm-typedliteral-literal-value"><span class="arrow">·</span>literal-value<span class="arrow">·</span></a>
+ and <a class="termref" href="#eventterm-typedliteral-literal-datatype"><span class="arrow">·</span>literal-datatype<span class="arrow">·</span></a> accessors.</p>
+
+ <div class="note"><div class="note-title" aria-level="4" role="heading" id="h_note_11"><span>Note</span></div><p class="" id="literal-comb-char-note2">
+ <strong>Interoperability Note (Informative):</strong>
+ Literals beginning with a Unicode combining character are
+ allowed however they may cause interoperability problems.
+ See [<cite><a class="bibref" href="#bib-CHARMOD">CHARMOD</a></cite>] for further information.
+ </p></div>
+
+ <div class="note"><div class="note-title" aria-level="4" role="heading" id="h_note_12"><span>Note</span></div><p id="literal-white-space-normalization-note" class="">
+ <strong>Implementation Note (Informative): </strong>
+ In XML Schema (part 1) [<cite><a class="bibref" href="#bib-XMLSCHEMA-1">XMLSCHEMA-1</a></cite>],
+ <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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 id="section-Infoset-Conformance" aria-level="2" role="heading"><span class="secno">6.2 </span>Information Set Mapping</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>
+ </section>
+
+
+
+<!-- grammar notation -->
+
+ <section id="section-Infoset-Grammar-Notation" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 id="section-Notation-Forms" aria-level="2" role="heading"><span class="secno">6.3 </span>Grammar Notation</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 <abbr title="Resource Description Framework">RDF</abbr>/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>
+ N-Triples
+ </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 N-Triples [<cite><a class="bibref" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]
+ 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" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Infoset-Grammar-General"><span class="secno">6.3.1 </span>Grammar General Notation</h4>
+
+ <table border="1">
+ <caption>Grammar General Notation.</caption>
+ <tbody><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>
+ </tbody></table>
+ </section>
+
+
+
+<!-- grammar event matching notation -->
+
+ <section id="section-Infoset-Grammar-Matching" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Infoset-Grammar-Matching"><span class="secno">6.3.2 </span>Grammar Event Matching Notation</h4>
+
+
+ <table border="1">
+ <caption>Grammar Event Matching Notation.</caption>
+ <tbody><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><dfn id="anyURI">anyURI</dfn>.</td>
+ <td>Any URI.</td>
+ </tr>
+ <tr>
+ <td><dfn id="anyString">anyString</dfn>.</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 />
+
+ 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 />
+ 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 />
+ 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>
+ </tbody></table>
+ </section>
+
+
+
+<!-- grammar action notation -->
+
+ <section id="section-Infoset-Grammar-Action" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Infoset-Grammar-Action"><span class="secno">6.3.3 </span>Grammar Action Notation</h4>
+
+ <table border="1">
+ <caption>Grammar Action Notation.</caption>
+ <tbody><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 IRI to the
+ <a class="termref" href="#eventterm-element-base-uri"><span class="arrow">·</span>base-uri<span class="arrow">·</span></a> accessor of <a href="#section-element-node" class="sec-ref"><span class="secno">6.1.2</span> <span class="sec-title">Element Event</span></a> <em>e</em>
+
+ as defined in <a href="#section-baseURIs">Section 5.3 Resolving URIs</a>.
+ The resulting string represents an
+ IRI.</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 />
+ 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>
+ </tbody></table>
+ </section>
+ </section>
+ </section>
+
+
+<!-- SIXTH PART : RDF/XML grammar -->
+
+ <section id="section-Infoset-Grammar" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Infoset-Grammar"><span class="secno">7. </span><abbr title="Resource Description Framework">RDF</abbr>/XML Grammar</h2>
+
+
+
+<!-- grammar summary -->
+
+ <section id="section-grammar-summary" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-grammar-summary"><span class="secno">7.1 </span>Grammar summary</h3>
+
+ <div class="productionOuter"><div class="productionInner">
+ <table>
+ <tbody><tr>
+ <td><a href="#coreSyntaxTerms">7.2.2</a> <a href="#coreSyntaxTerms">coreSyntaxTerms</a></td> <td><code>rdf:<abbr title="Resource Description Framework">RDF</abbr></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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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"><abbr title="Resource Description Framework">RDF</abbr></a>,
+ <a href="#eventterm-root-children">children</a> == list(<a href="#RDF"><abbr title="Resource Description Framework">RDF</abbr></a>))</td>
+
+ </tr>
+ <tr>
+ <td><a href="#RDF">7.2.9</a> <a href="#RDF"><abbr title="Resource Description Framework">RDF</abbr></a></td> <td>start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code>,
+ <a href="#eventterm-element-attributes">attributes</a> == set())<br />
+ <a href="#nodeElementList">nodeElementList</a><br />
+
+ end-element()</td>
+ </tr>
+ <tr>
+ <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>
+
+ <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 />
+ <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>
+ <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 XML [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>] 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>
+ <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>
+ <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>
+ <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>
+
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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="#datatypeAttr">datatypeAttr</a> )?, <a href="#propertyAttr">propertyAttr</a>*))<br />
+ end-element()</td>
+ </tr>
+
+ <tr>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+
+ <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>
+ <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>
+ <td><a href="#URI-reference">7.2.32</a> <a href="#URI-reference">URI-reference</a></td> <td>An IRI.</td>
+
+ </tr>
+ <tr>
+ <td><a href="#literal">7.2.33</a> <a href="#literal">literal</a></td> <td>Any XML element content
+ that is allowed according to
+ [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>] 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>
+ <td><a href="#rdf-id">7.2.34</a> <a href="#rdf-id">rdf-id</a></td> <td>An attribute <a class="termref" href="#eventterm-attribute-string-value"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+ matching any legal [<cite><a class="bibref" href="#bib-XML-NAMES">XML-NAMES</a></cite>] token
+ <a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></td>
+
+ </tr>
+ </tbody></table>
+
+ </div></div>
+ </section>
+
+
+<!-- grammar productions -->
+
+ <section id="section-grammar-productions" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-grammar-productions"><span class="secno">7.2 </span>Grammar Productions</h3>
+
+
+<!-- grammar start -->
+
+ <section id="start" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_start"><span class="secno">7.2.1 </span>Grammar start</h4>
+
+ <p>If the <abbr title="Resource Description Framework">RDF</abbr>/XML is a standalone XML document
+ (identified by presentation as an
+ application/rdf+xml <a href="#section-MIME-Type"><abbr title="Resource Description Framework">RDF</abbr> 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 <abbr title="Resource Description Framework">RDF</abbr>/XML by context, such as when
+ <abbr title="Resource Description Framework">RDF</abbr>/XML is embedded inside other XML content, then the grammar
+ can either start
+ at <a href="#section-element-node">Element Event</a>
+ <a href="#RDF"><abbr title="Resource Description Framework">RDF</abbr></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 <abbr title="Resource Description Framework">RDF</abbr>/XML, the
+ <a class="termref" href="#eventterm-element-base-uri"><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> 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>
+
+
+<!-- core syntax terms -->
+
+ <section id="coreSyntaxTerms" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_coreSyntaxTerms"><span class="secno">7.2.2 </span>Production coreSyntaxTerms</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></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 <abbr title="Resource Description Framework">RDF</abbr> vocabulary in
+ <a href="#section-Namespace">section 5.1</a>
+ which are used in <abbr title="Resource Description Framework">RDF</abbr>/XML.
+ </p>
+ </section>
+
+
+<!-- syntax terms -->
+
+ <section id="syntaxTerms" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_syntaxTerms"><span class="secno">7.2.3 </span>Production syntaxTerms</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 <abbr title="Resource Description Framework">RDF</abbr> vocabulary in
+ <a href="#section-Namespace">section 5.1</a>
+ which are used in <abbr title="Resource Description Framework">RDF</abbr>/XML.
+ </p>
+ </section>
+
+
+<!-- old terms -->
+
+ <section id="oldTerms" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 id="section-Bag-Expand" aria-level="3" role="heading"><span class="secno">7.2.4 </span>Production oldTerms</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"><abbr title="Resource Description Framework">RDF</abbr> 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"><div class="note-title" aria-level="4" role="heading" id="h_note_13"><span>Note</span></div><p class=""><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>
+ </section>
+
+
+<!-- node element uri -->
+
+ <section id="nodeElementURIs" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_nodeElementURIs"><span class="secno">7.2.5 </span>Production nodeElementURIs</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 IRIs that are allowed on node elements.</p>
+ </section>
+
+
+<!-- property element URIs -->
+
+ <section id="propertyElementURIs" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_propertyElementURIs"><span class="secno">7.2.6 </span>Production propertyElementURIs</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>
+ </section>
+
+
+<!-- property attribute URIs -->
+
+ <section id="propertyAttributeURIs" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_propertyAttributeURIs"><span class="secno">7.2.7 </span>Production propertyAttributeURIs</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 IRIs that are allowed on property attributes.</p>
+ </section>
+
+
+<!-- production doc -->
+
+ <section id="doc" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_doc"><span class="secno">7.2.8 </span>Production doc</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ root(<a href="#eventterm-root-document-element">document-element</a> == <a href="#RDF"><abbr title="Resource Description Framework">RDF</abbr></a>,<br />
+
+ <a href="#eventterm-root-children">children</a> == list(<a href="#RDF"><abbr title="Resource Description Framework">RDF</abbr></a>))
+ </p></div></div>
+ </section>
+
+
+<!-- production RDF -->
+
+ <section id="RDF" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_RDF"><span class="secno">7.2.9 </span>Production <abbr title="Resource Description Framework">RDF</abbr></h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <code>rdf:<abbr title="Resource Description Framework">RDF</abbr></code>,<br />
+
+ <a href="#eventterm-element-attributes">attributes</a> == set())<br />
+ <a href="#nodeElementList">nodeElementList</a><br />
+ end-element()
+ </p></div></div>
+ </section>
+
+
+<!-- node element list -->
+
+ <section id="nodeElementList" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_nodeElementList"><span class="secno">7.2.10 </span>Production nodeElementList</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>
+ </section>
+
+
+<!-- production node element -->
+
+ <section id="nodeElement" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 id="typedNode" aria-level="3" role="heading"><span class="secno">7.2.11 </span>Production nodeElement</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#nodeElementURIs">nodeElementURIs</a><br />
+ <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 id="nodeElementStatement1"> 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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <em>e</em>.<a href="#eventterm-element-URI-string-value">URI-string-value</a> .</code>
+ </p></div></div>
+ </li>
+
+ <li id="nodeElementStatement2"> 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>e</em>, <em>a</em>.<a href="#eventterm-attribute-string-value">string-value</a>))
+ and the following triple 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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <em>u</em>.<a href="#eventterm-identifier-string-value">string-value</a> .</code>
+
+ </p></div></div>
+ </li>
+
+ <li id="nodeElementStatement3"> 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>
+
+ <em class="rfc2119" title="SHOULD">SHOULD</em> be in Normal Form C [<cite><a class="bibref" href="#bib-NFC">NFC</a></cite>],
+ <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 id="nodeElementStatement4"> Handle the
+ <a href="#propertyEltList">propertyEltList</a> children events
+ in document order.</li>
+
+ </ul>
+ </section>
+
+
+<!-- production ws -->
+
+ <section id="ws" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_ws"><span class="secno">7.2.12 </span>Production ws</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ A <a href="#section-text-node">text event</a> matching white space
+ defined by [<cite><a class="bibref" href="#bib-XML10">XML10</a></cite>] 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>
+ </section>
+
+
+<!-- property elt list -->
+
+ <section id="propertyEltList" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_propertyEltList"><span class="secno">7.2.13 </span>Production propertyEltList</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>
+ </section>
+
+
+<!-- property elt -->
+
+ <section id="propertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_propertyElt"><span class="secno">7.2.14 </span>Production propertyElt</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>
+ </section>
+
+
+<!-- resource property element -->
+
+ <section id="resourcePropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_resourcePropertyElt"><span class="secno">7.2.15 </span>Production resourcePropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+ <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>
+ <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>
+ </section>
+
+
+<!-- literal property element -->
+
+ <section id="literalPropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_literalPropertyElt"><span class="secno">7.2.16 </span>Production literalPropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+
+ <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> <em class="rfc2119" title="SHOULD">SHOULD</em> be
+ in Normal Form C [<cite><a class="bibref" href="#bib-NFC">NFC</a></cite>].
+ 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>
+ </section>
+
+
+<!-- parse type literal property element -->
+
+ <section id="parseTypeLiteralPropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseTypeLiteralPropertyElt"><span class="secno">7.2.17 </span>Production parseTypeLiteralPropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+ <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 <abbr title="Resource Description Framework">RDF</abbr> graph <em>x</em> (a Unicode string)
+ by the following algorithm. This does not mandate any implementation
+ method — any other method that gives the same result may be used.</p>
+
+ <ol>
+ <li>Use <em>l</em> to construct an XPath <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> [<cite><a class="bibref" href="#bib-XML-EXC-C14N">XML-EXC-C14N</a></cite>])
+ 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> <em class="rfc2119" title="SHOULD">SHOULD</em> be in NFC Normal Form C [<cite><a class="bibref" href="#bib-NFC">NFC</a></cite>]</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"><div class="note-title" aria-level="4" role="heading" id="h_note_14"><span>Note</span></div><p class=""><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>
+ </section>
+
+
+<!-- parse type resource property element -->
+
+ <section id="parseTypeResourcePropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseTypeResourcePropertyElt"><span class="secno">7.2.18 </span>Production parseTypeResourcePropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+ <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"><div class="note-title" aria-level="4" role="heading" id="h_note_15"><span>Note</span></div><p class=""><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 />
+
+ <a href="#eventterm-element-subject">subject</a> := <em>n</em>,<br />
+ <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>
+ </section>
+
+
+<!-- parse type collection property element -->
+
+ <section id="parseTypeCollectionPropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseTypeCollectionPropertyElt"><span class="secno">7.2.19 </span>Production parseTypeCollectionPropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+
+ <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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .</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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .</code>
+
+ </p></div></div>
+ </section>
+
+
+<!-- parse type other property element -->
+
+ <section id="parseTypeOtherPropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseTypeOtherPropertyElt"><span class="secno">7.2.20 </span>Production parseTypeOtherPropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+ <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>
+ </section>
+
+
+<!-- empty property element -->
+
+ <section id="emptyPropertyElt" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_emptyPropertyElt"><span class="secno">7.2.21 </span>Production emptyPropertyElt</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ start-element(<a href="#eventterm-element-URI">URI</a> == <a href="#propertyElementURIs">propertyElementURIs</a> ),<br />
+ <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="#datatypeAttr">datatypeAttr</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"><div class="note-title" aria-level="4" role="heading" id="h_note_16"><span>Note</span></div><p class=""><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"><div class="note-title" aria-level="4" role="heading" id="h_note_17"><span>Note</span></div><p class=""><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>e</em>, <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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <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>
+ <em class="rfc2119" title="SHOULD">SHOULD</em> be in Normal Form C [<cite><a class="bibref" href="#bib-NFC">NFC</a></cite>],
+ <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"><div class="note-title" aria-level="4" role="heading" id="h_note_18"><span>Note</span></div><p class=""><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"><div class="note-title" aria-level="4" role="heading" id="h_note_19"><span>Note</span></div><p class=""><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>
+ </section>
+
+
+<!-- id attribute -->
+
+ <section id="idAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 id="idAboutAttr" aria-level="3" role="heading"><span class="secno">7.2.22 </span>Production idAttr</h4>
+
+<!-- idAboutAttr one has gone; id is closest thing replacing it -->
+
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:ID</code>,<br />
+
+ <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>
+ </section>
+
+
+<!-- node id attribute -->
+
+ <section id="nodeIdAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_nodeIdAttr"><span class="secno">7.2.23 </span>Production nodeIdAttr</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:nodeID</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#rdf-id">rdf-id</a>)
+
+ </p></div></div>
+ </section>
+
+
+<!-- about attribute -->
+
+ <section id="aboutAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_aboutAttr"><span class="secno">7.2.24 </span>Production aboutAttr</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:about</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+ </p></div></div>
+ </section>
+
+
+<!-- property attribute -->
+
+ <section id="propertyAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 id="propAttr" aria-level="3" role="heading"><span class="secno">7.2.25 </span>Production propertyAttr</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <a href="#propertyAttributeURIs">propertyAttributeURIs</a>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a>)
+
+ </p></div></div>
+ </section>
+
+
+<!-- resource attribute -->
+
+ <section id="resourceAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_resourceAttr"><span class="secno">7.2.26 </span>Production resourceAttr</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:resource</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+ </p></div></div>
+ </section>
+
+
+<!-- datatype attribute -->
+
+ <section id="datatypeAttr" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_datatypeAttr"><span class="secno">7.2.27 </span>Production datatypeAttr</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:datatype</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#URI-reference">URI-reference</a>)
+
+ </p></div></div>
+ </section>
+
+
+<!-- parse literal -->
+
+ <section id="parseLiteral" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseLiteral"><span class="secno">7.2.28 </span>Production parseLiteral</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == "Literal")
+
+ </p></div></div>
+ </section>
+
+
+<!-- parse resource -->
+
+ <section id="parseResource" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseResource"><span class="secno">7.2.29 </span>Production parseResource</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == "Resource")
+
+ </p></div></div>
+ </section>
+
+
+<!-- parse collection -->
+
+ <section id="parseCollection" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseCollection"><span class="secno">7.2.30 </span>Production parseCollection</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == "Collection")
+
+ </p></div></div>
+ </section>
+
+
+<!-- parse other -->
+
+ <section id="parseOther" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_parseOther"><span class="secno">7.2.31 </span>Production parseOther</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ attribute(<a href="#eventterm-attribute-URI">URI</a> == <code>rdf:parseType</code>,<br />
+ <a href="#eventterm-attribute-string-value">string-value</a> == <a href="#anyString">anyString</a> - ("Resource" | "Literal" | "Collection") )
+
+ </p></div></div>
+ </section>
+
+
+<!-- URI reference -->
+
+ <section id="URI-reference" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_URI-reference"><span class="secno">7.2.32 </span>Production IRI</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ An IRI.
+ </p></div></div>
+ </section>
+
+
+<!-- litteral -->
+
+ <section id="literal" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_literal"><span class="secno">7.2.33 </span>Production literal</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+
+ Any XML element content that is allowed according to
+ XML 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>
+ </section>
+
+
+<!-- RDF id -->
+
+ <section id="rdf-id" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_rdf-id"><span class="secno">7.2.34 </span>Production rdf-id</h4>
+
+ <div class="productionOuter"><div class="productionInner"><p>
+ An attribute <a class="termref" href="#eventterm-attribute-string-value"><span class="arrow">·</span>string-value<span class="arrow">·</span></a>
+ matching any legal
+ [<cite><a class="bibref" href="#bib-XML-NAMES">XML-NAMES</a></cite>] token
+ <a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a>
+
+ </p></div></div>
+ </section>
+
+ </section>
+
+
+<!-- reification rules -->
+
+ <section id="section-Reification" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-Reification"><span class="secno">7.3 </span>Reification Rules</h3>
+
+ <p>For the given IRI 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> <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> <em>s</em> .</code><br />
+
+ <code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> <em>p</em> .</code><br />
+ <code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> <em>o</em> .</code><br />
+
+ <code><em>r</em>.<a href="#eventterm-identifier-string-value">string-value</a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement> .</code><br />
+ </p></div></div>
+ </section>
+
+
+<!-- expansion rules -->
+
+ <section id="section-List-Expand" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-List-Expand"><span class="secno">7.4 </span>List Expansion Rules</h3>
+
+ <p>For the given element <em>e</em>, create a new IRI <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>
+ </section>
+
+ </section>
+
+
+<!-- SEVENTH PART : serialising -->
+
+ <section id="section-Serialising" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Serialising"><span class="secno">8. </span>Serializing an <abbr title="Resource Description Framework">RDF</abbr> Graph to <abbr title="Resource Description Framework">RDF</abbr>/XML</h2>
+
+ <p>There are some
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph"><abbr title="Resource Description Framework">RDF</abbr> Graphs</a>
+ as defined in
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/"><abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax</a>
+ that cannot be serialized in <abbr title="Resource Description Framework">RDF</abbr>/XML. These are those that:</p>
+
+ <dl>
+ <dt>Use property names that cannot be turned into XML namespace-qualified names.<br /></dt>
+ <dd>An XML namespace-qualified name
+ (<a href="http://www.w3.org/TR/REC-xml-names/#dt-qname">QName</a>)
+ has restrictions on the legal characters such that not all property URIs
+ can be expressed as these names.
+ It is recommended that implementors of <abbr title="Resource Description Framework">RDF</abbr> serializers, in order to
+ break a URI into a namespace name and a local name, split it after
+ the last XML non-<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a>
+
+ character, ensuring that the first character of the name is a
+ <a href="http://www.w3.org/TR/REC-xml#NT-Letter">Letter</a> or '_'.
+ If the URI ends in a
+ non-<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a>
+ character then throw a "this graph cannot be serialized in <abbr title="Resource Description Framework">RDF</abbr>/XML"
+ exception or error.
+ </dd>
+
+ <dt>Use inappropriate reserved names as properties<br /></dt>
+ <dd>For example, a property with the same URI as any of the
+ <a href="#syntaxTerms">syntaxTerms</a> production.
+ </dd>
+
+ </dl>
+
+ <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_20"><span>Note</span></div><p class=""><strong>Implementation Note (Informative):</strong>
+ When an <abbr title="Resource Description Framework">RDF</abbr> graph is serialized to <abbr title="Resource Description Framework">RDF</abbr>/XML and has an XML Schema
+ Datatype (XSD), it <em class="rfc2119" title="SHOULD">SHOULD</em> be written in a form that does not require
+ whitespace processing. XSD support is NOT required by <abbr title="Resource Description Framework">RDF</abbr> or <abbr title="Resource Description Framework">RDF</abbr>/XML
+ so this is optional.
+ </p></div>
+ </section>
+
+
+
+<!-- NINETH PART : RDF XML with SVG -->
+
+ <section class="informative" id="section-rdf-in-SVG" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-rdf-in-SVG"><span class="secno">9. </span>Using <abbr title="Resource Description Framework">RDF</abbr>/XML with SVG</h2><p><em>This section is non-normative.</em></p>
+
+ <p>There is a standardized approach for associating <abbr title="Resource Description Framework">RDF</abbr> compatible
+ metadata with SVG — the metadata element which was explicitly
+ designed for this purpose as defined in
+ <a href="http://www.w3.org/TR/SVG/metadata.html">Section 21 Metadata</a>
+
+ of the
+ <a href="http://www.w3.org/TR/2001/REC-SVG-20010904/">Scalable Vector Graphics (SVG) 1.0 Specification</a>
+ <a href="#ref-svg">[SVG]</a>
+ and
+ <a href="http://www.w3.org/TR/SVG11/metadata.html">Section 21 Metadata</a>
+ of the
+ <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">Scalable Vector Graphics (SVG) 1.1 Specification</a>
+ <a href="#ref-svg11">[SVG11]</a>.
+
+ </p>
+
+ <p>This document contains two example graphs in SVG with such
+ embedded <abbr title="Resource Description Framework">RDF</abbr>/XML inside the metadata element:
+ <a href="http://www.w3.org/TR/rdf-syntax-grammar/figure1.svg">figure 1</a>
+
+ and
+ <a href="http://www.w3.org/TR/rdf-syntax-grammar/figure2.svg">figure 2</a>.
+ </p>
+ </section>
+
+
+<!-- TENTH PART : Acknowledgments -->
+
+ <section class="appendix informative" id="section-Acknowledgments" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Acknowledgments"><span class="secno">A. </span>Acknowledgments</h2><p><em>This section is non-normative.</em></p>
+
+ <div class="issue"><div class="issue-title" aria-level="2" role="heading" id="h_issue_1"><span>Issue 1</span></div><p class="">This section does not yet list those who made
+ contributions to the <abbr title="Resource Description Framework">RDF</abbr> 1.1 version, nor does it list the
+ current <abbr title="Resource Description Framework">RDF</abbr> WG members.</p></div>
+
+ <p>This specification is a product of extended deliberations by the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Acknowledgments">members
+ of the RDFcore Working Group and the <abbr title="Resource Description Framework">RDF</abbr> and <abbr title="Resource Description Framework">RDF</abbr> Schema Working Group</a>.</p>
+
+ <p>The following people provided valuable contributions to the document:</p>
+
+ <ul>
+ <li>Dan Brickley, <abbr title="World Wide Web Consortium">W3C</abbr>/ILRT</li>
+
+ <li>Jeremy Carroll, HP Labs, Bristol</li>
+ <li>Graham Klyne, Nine by Nine</li>
+ <li>Bijan Parsia, MIND Lab at University of Maryland at College Park</li>
+ </ul>
+
+ <p>This document is a product of extended deliberations by the <abbr title="Resource Description Framework">RDF</abbr>
+ Core working group, whose members have included: Art Barstow (<abbr title="World Wide Web Consortium">W3C</abbr>)
+ Dave Beckett (ILRT), Dan Brickley (<abbr title="World Wide Web Consortium">W3C</abbr>/ILRT), Dan Connolly (<abbr title="World Wide Web Consortium">W3C</abbr>),
+ Jeremy Carroll (Hewlett Packard), Ron Daniel (Interwoven Inc), Bill
+ dehOra (InterX), Jos De Roo (AGFA), Jan Grant (ILRT), Graham Klyne
+ (Clearswift and Nine by Nine), Frank Manola (MITRE Corporation),
+ Brian McBride (Hewlett Packard), Eric Miller (<abbr title="World Wide Web Consortium">W3C</abbr>), Stephen
+ Petschulat (IBM), Patrick Stickler (Nokia), Aaron Swartz (HWG), Mike
+ Dean (BBN Technologies / Verizon), R. V. Guha (Alpiri Inc), Pat Hayes
+ (IHMC), Sergey Melnik (Stanford University), Martyn Horner (Profium
+ Ltd).</p>
+
+ <p>This specification also draws upon an earlier <abbr title="Resource Description Framework">RDF</abbr> Model and Syntax
+ document edited by Ora Lassilla and Ralph Swick, and <abbr title="Resource Description Framework">RDF</abbr> Schema
+ edited by Dan Brickley and R. V. Guha. <abbr title="Resource Description Framework">RDF</abbr> and <abbr title="Resource Description Framework">RDF</abbr> Schema Working
+ group members who contributed to this earlier work are:
+ Nick Arnett (Verity), Tim Berners-Lee (<abbr title="World Wide Web Consortium">W3C</abbr>), Tim Bray (Textuality),
+ Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe),
+ Sailesh Chutani (Oracle), Dan Connolly (<abbr title="World Wide Web Consortium">W3C</abbr>), Ron Daniel
+ (DATAFUSION), Charles Frankston (Microsoft), Patrick Gannon
+ (CommerceNet), RV Guha (Epinions, previously of Netscape
+ Communications), Tom Hill (Apple Computer), Arthur van Hoff
+ (Marimba), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin
+ Jones, (InterMind), Emiko Kezuka (Digital Vision Laboratories), Joe
+ Lapp (webMethods Inc.), Ora Lassila (Nokia Research Center), Andrew
+ Layman (Microsoft), Ralph LeVan (OCLC), John McCarthy (Lawrence
+ Berkeley National Laboratory), Chris McConnell (Microsoft), Murray
+ Maloney (Grif), Michael Mealling (Network Solutions), Norbert Mikula
+ (DataChannel), Eric Miller (OCLC), Jim Miller (<abbr title="World Wide Web Consortium">W3C</abbr>, emeritus), Frank
+ Olken (Lawrence Berkeley National Laboratory), Jean Paoli
+ (Microsoft), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods
+ Inc.), Paul Resnick (University of Michigan), Bill Roberts
+ (KnowledgeCite), Tsuyoshi Sakata (Digital Vision Laboratories), Bob
+ Schloss (IBM), Leon Shklar (Pencom Web Works), David Singer (IBM),
+ Wei (William) Song (SISU), Neel Sundaresan (IBM), Ralph Swick (<abbr title="World Wide Web Consortium">W3C</abbr>),
+ Naohiko Uramoto (IBM), Charles Wicksteed (Reuters Ltd.), Misha Wolf
+ (Reuters Ltd.), Lauren Wood (SoftQuad).
+ </p>
+ </section>
+
+
+
+<!-- TWELVETH PART : Syntax Schemas -->
+
+ <section class="appendix informative" id="section-Schemas" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-Schemas"><span class="secno">B. </span>Syntax Schemas</h2><p><em>This section is non-normative.</em></p>
+
+ <p>This appendix contains XML schemas for validating <abbr title="Resource Description Framework">RDF</abbr>/XML forms.
+ These are example schemas for information only and are not part of
+ this specification.</p>
+
+
+<!-- Compact Schema -->
+
+ <section class="informative" id="section-RELAXNG-Schema" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_section-RELAXNG-Schema"><span class="secno">B.1 </span>RELAX NG Compact Schema</h3><p><em>This section is non-normative.</em></p>
+
+ <p>This is an <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/rdfxml.rnc">example
+ schema in
+ RELAX NG Compact</a> (for ease of reading)
+ for <abbr title="Resource Description Framework">RDF</abbr>/XML. Applications can also use the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/rdfxml.rng">RELAX NG XML version</a>.
+ These formats are described in
+ RELAX NG [<cite><a class="bibref" href="#bib-RELAXNG">RELAXNG</a></cite>]
+ and RELAX NG Compact [<cite><a class="bibref" href="#bib-RELAXNG-COMPACT">RELAXNG-COMPACT</a></cite>].</p>
+
+ <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_21"><span>Note</span></div><p class="">
+ The RNGC schema has been updated to attempt to match the grammar but
+ this has not been checked or used to validate <abbr title="Resource Description Framework">RDF</abbr>/XML.
+ </p></div>
+
+ <pre> #
+ # RELAX NG Compact Schema for RDF/XML Syntax
+ #
+ # This schema is for information only and NON-NORMATIVE
+ #
+ # It is based on one originally written by James Clark in
+ # http://lists.w3.org/Archives/Public/www-rdf-comments/2001JulSep/0248.html
+ # and updated with later changes.
+ #
+
+ namespace local = ""
+ namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
+
+ start = doc
+
+ # I cannot seem to do this in RNGC so they are expanded in-line
+
+ # coreSyntaxTerms = rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype
+ # syntaxTerms = coreSyntaxTerms | rdf:Description | rdf:li
+ # oldTerms = rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID
+ # nodeElementURIs = * - ( coreSyntaxTerms | rdf:li | oldTerms )
+ # propertyElementURIs = * - ( coreSyntaxTerms | rdf:Description | oldTerms )
+ # propertyAttributeURIs = * - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms )
+
+ # Also needed to allow rdf:li on all property element productions
+ # since we can't capture the rdf:li rewriting to rdf_<n> in relaxng
+
+ # Need to add these explicitly
+ xmllang = attribute xml:lang { text }
+ xmlbase = attribute xml:base { text }
+ # and to forbid every other xml:* attribute, element
+
+ doc =
+ RDF | nodeElement
+
+ RDF =
+ element rdf:RDF {
+ xmllang?, xmlbase?, nodeElementList
+ }
+
+ nodeElementList =
+ nodeElement*
+
+ # Should be something like:
+ # ws* , ( nodeElement , ws* )*
+ # but RELAXNG does this by default, ignoring whitespace separating tags.
+
+ nodeElement =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype | rdf:li |
+ rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID ) {
+ (idAttr | nodeIdAttr | aboutAttr )?, xmllang?, xmlbase?, propertyAttr*, propertyEltList
+ }
+
+ # It is not possible to say "and not things
+ # beginning with _ in the rdf: namespace" in RELAX NG.
+
+ ws =
+ " "
+
+ # Not used in this RELAX NG schema; but should be any legal XML
+ # whitespace defined by http://www.w3.org/TR/2000/REC-xml-20001006#NT-S
+
+
+ propertyEltList =
+ propertyElt*
+
+ # Should be something like:
+ # ws* , ( propertyElt , ws* )*
+ # but RELAXNG does this by default, ignoring whitespace separating tags.
+
+ propertyElt =
+ resourcePropertyElt |
+ literalPropertyElt |
+ parseTypeLiteralPropertyElt |
+ parseTypeResourcePropertyElt |
+ parseTypeCollectionPropertyElt |
+ parseTypeOtherPropertyElt |
+ emptyPropertyElt
+
+ resourcePropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, xmllang?, xmlbase?, nodeElement
+ }
+
+ literalPropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr? , datatypeAttr?, xmllang?, xmlbase?, text
+ }
+
+ parseTypeLiteralPropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, parseLiteral, xmllang?, xmlbase?, literal
+ }
+
+ parseTypeResourcePropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, parseResource, xmllang?, xmlbase?, propertyEltList
+ }
+
+ parseTypeCollectionPropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, xmllang?, xmlbase?, parseCollection, nodeElementList
+ }
+
+ parseTypeOtherPropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, xmllang?, xmlbase?, parseOther, any
+ }
+
+ emptyPropertyElt =
+ element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype |
+ rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ idAttr?, (resourceAttr | nodeIdAttr | datatypeAttr )?, xmllang?, xmlbase?, propertyAttr*
+ }
+
+ idAttr =
+ attribute rdf:ID {
+ IDsymbol
+ }
+
+ nodeIdAttr =
+ attribute rdf:nodeID {
+ IDsymbol
+ }
+
+ aboutAttr =
+ attribute rdf:about {
+ URI-reference
+ }
+
+ propertyAttr =
+ attribute * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |
+ rdf:resource | rdf:nodeID | rdf:datatype | rdf:li |
+ rdf:Description | rdf:aboutEach |
+ rdf:aboutEachPrefix | rdf:bagID |
+ xml:* ) {
+ string
+ }
+
+ resourceAttr =
+ attribute rdf:resource {
+ URI-reference
+ }
+
+ datatypeAttr =
+ attribute rdf:datatype {
+ URI-reference
+ }
+
+ parseLiteral =
+ attribute rdf:parseType {
+ "Literal"
+ }
+
+ parseResource =
+ attribute rdf:parseType {
+ "Resource"
+ }
+
+ parseCollection =
+ attribute rdf:parseType {
+ "Collection"
+ }
+
+ parseOther =
+ attribute rdf:parseType {
+ text
+ }
+
+ URI-reference =
+ string
+
+ literal =
+ any
+
+ IDsymbol =
+ xsd:NMTOKEN
+
+ any =
+ mixed { element * { attribute * { text }*, any }* }
+ </pre>
+
+ </section>
+ </section>
+
+
+<!-- THIRTEENTH PART : Changes -->
+
+ <section class="appendix informative" id="section-changes" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_section-changes"><span class="secno">C. </span>Changes</h2><p><em>This section is non-normative.</em></p>
+
+ <section id="changes-rdf11" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_changes-rdf11"><span class="secno">C.1 </span>Changes since 2004 Recommendation</h3>
+
+ <p>The following changes were made for the Edited
+ Recommendation version of this document for <abbr title="Resource Description Framework">RDF</abbr> 1.1.:</p>
+ <ul>
+ <li>Conversion to ResPec.</li>
+ <li>Adapted and shortened introduction to reflect <abbr title="Resource Description Framework">RDF</abbr> 1.1</li>
+ <li>Updated references to <abbr title="Resource Description Framework">RDF</abbr> 1.1 documents</li>
+ <li>Replaced "(<abbr title="Resource Description Framework">RDF</abbr>) URI reference" with "IRI"</li>
+ <li>Removed Section on embedding <abbr title="Resource Description Framework">RDF</abbr>/XML into HTML</li>
+ <li>Removed "Specification" from the title to bring it in
+ line with other <abbr title="Resource Description Framework">RDF</abbr> 1.1 document titles</li>
+ <li>Updated references to other documents</li>
+ <li>Changed links in Sec. 2 examples from relative URI to
+ absolute URI; same for RELAX schema in Appendix.</li>
+ <li>Corrected the resolve action with the signature resolve(e, s)</li>
+ <li>Add parent accessor to element events</li>
+ <li>Allow datatyped empty literals </li>
+ <li>Removed ID and datatype exclusion on literal
+ property</li>
+ <li>Added note to section on plain-literal event</li>
+ </ul>
+
+ </section>
+
+ <section id="changes-2004" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h3 aria-level="2" role="heading" id="h3_changes-2004"><span class="secno">C.2 </span>Revisions since Draft 10 October 2003</h3>
+
+ <p>Changes since <a href="http://www.w3.org/TR/2003/WD-rdf-syntax-grammar-20031010/">10 October 2003</a> second last call working draft</p>
+
+ <p>These are are divided into non-editorial and editorial. The
+ non-editorial changes also list consquential editorial changes.
+ Editorial changes are those which do not result in any change in the
+ meaning of an <abbr title="Resource Description Framework">RDF</abbr> document or the behaviour of an <abbr title="Resource Description Framework">RDF</abbr>
+ application.</p>
+
+
+<!-- Non-Editorial Revisions -->
+
+ <section id="section-Changes-non-editorial" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Changes-non-editorial"><span class="secno">C.2.1 </span>Non-Editorial Revisions</h4>
+
+ <p>None</p>
+ </section>
+
+
+<!-- Editorial Revisions -->
+
+ <section id="section-Changes-editorial" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Changes-editorial"><span class="secno">C.2.2 </span>Editorial Revisions</h4>
+
+ <dl>
+ <dt>German Translation</dt>
+
+ <dd>
+ Fix the German in <a href="#example8">Example 8</a>
+ in section <a href="#section-Syntax-languages">2.7</a> after the
+ <a href="http://lists.w3.org/Archives/Public/www-rdf-comments/2003OctDec/0215.html">comment
+ by Benjamin Nowack
+ </a>
+ </dd>
+
+ <dt>No property attributes on rdf:parseType="Resource"</dt>
+ <dd>
+ <a href="#section-Syntax-property-attributes">2.5</a>
+
+ Update to reflect the syntax definition that property attributes cannot
+ be used with <code>rdf:parseType="Resource"</code> as pointed out by
+ <a href="http://lists.w3.org/Archives/Public/www-rdf-comments/2003OctDec/0074.html">comment by Sabadello 2003-10-30</a>
+ </dd>
+
+ <dt>URI Encoding</dt>
+ <dd>
+ <a href="#section-identifier-node">6.1.6</a>,
+ <a href="#section-literal-node">6.1.8</a>,
+ <a href="#section-typed-literal-node">6.1.9</a>
+
+ after <a href="http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2003Nov/0006.html">proposal by Jeremy Carroll</a><br />
+ <a href="#section-element-node">6.1.2</a>,
+ <a href="#section-attribute-node">6.1.4</a>
+ Added element/attribute URI-string-value accessors<br />
+ <a href="#nodeElement">7.2.11</a>,
+ <a href="#emptyPropertyElt">7.2.21</a>
+ Added use of new uri event for the <code>rdf:type</code> cases<br />
+
+ <a href="#nodeElement">7.2.11</a> (<e.URI> and <a.URI>),
+ <a href="#resourcePropertyElt">7.2.15</a> (<e.URI>)
+ <a href="#literalPropertyElt">7.2.16</a> (<e.URI>)
+
+ <a href="#parseTypeLiteralPropertyElt">7.2.17</a> (<e.URI>)
+ <a href="#parseTypeResourcePropertyElt">7.2.18</a> (<e.URI>)
+ <a href="#parseTypeCollectionPropertyElt">7.2.19</a> (<e.URI> twice)
+ <a href="#emptyPropertyElt">7.2.21</a> (<e.URI> twice, <a.URI> once)
+ changed from X.URI to X.URI-string-value (anywhere "<"..">" appeared
+ in the grammar action without a hardcoded URI)<br />
+
+ <a href="#URI-reference">7.2.32</a>
+ Replace action wording with "An <abbr title="Resource Description Framework">RDF</abbr> URI reference"<br />
+ All changed as outlined in
+ <a href="http://lists.w3.org/Archives/Public/www-rdf-comments/2003OctDec/0100.html">proposal 2003-10-06</a>
+ after
+ <a href="http://lists.w3.org/Archives/Public/www-rdf-comments/2003OctDec/0068.html">comment by Patel-Schneider 2003-10-29</a>
+ </dd>
+ </dl>
+ </section>
+
+
+<!-- Issues requiring no document revisions -->
+
+ <section id="section-Changes-none" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+ <h4 aria-level="3" role="heading" id="h4_section-Changes-none"><span class="secno">C.2.3 </span>Issues requiring no document revisions</h4>
+
+ <p>None</p>
+ </section>
+ </section>
+ </section>
+
+
+<section class="appendix" id="references" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter">
+<!--OddPage-->
+<h2 aria-level="1" role="heading" id="h2_references"><span class="secno">D. </span>References</h2><section id="normative-references" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter"><h3 aria-level="2" role="heading" id="h3_normative-references"><span class="secno">D.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-JSON-LD">[JSON-LD]</dt><dd rel="dcterms:requires">Manu Sporny, Gregg Kellogg, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/2013/PR-json-ld-20131105/">JSON-LD 1.0</a>.</cite> 5 November 2013. W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-json-ld-20131105/">http://www.w3.org/TR/2013/PR-json-ld-20131105/</a>. The latest edition is available at <a href="http://www.w3.org/TR/json-ld/">http://www.w3.org/TR/json-ld/</a>
+</dd><dt id="bib-N-TRIPLES">[N-TRIPLES]</dt><dd rel="dcterms:requires">Gavin Carothers, Editor. <cite><a href="http://www.w3.org/TR/2013/CR-n-triples-20131105/">RDF 1.1 N-Triples</a></cite>. 5 November 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-n-triples-20131105/">http://www.w3.org/TR/2013/CR-n-triples-20131105/</a>. The latest edition is available at <a href="http://www.w3.org/TR/n-triples/">http://www.w3.org/TR/n-triples/</a>
+</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd rel="dcterms:requires">Dan Brickley; Ramanathan Guha. <a href="http://www.w3.org/TR/rdf-schema"><cite>RDF Vocabulary Description Language 1.0: RDF Schema</cite></a>. 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-schema">http://www.w3.org/TR/rdf-schema</a>
+</dd><dt id="bib-RDF11-CONCEPTS">[RDF11-CONCEPTS]</dt><dd rel="dcterms:requires">Richard Cyganiak, David Wood, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/">RDF 1.1 Concepts and Abstract Syntax.</a></cite> 5 November 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/">http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
+</dd><dt id="bib-RDF11-MT">[RDF11-MT]</dt><dd rel="dcterms:requires">Patrick J. Hayes, Peter F. Patel-Schneider, Editors. <cite><a href="http://www.w3.org/TR/2013/CR-rdf11-mt-20131105/">RDF 1.1 Semantics.</a></cite> 5 November 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-rdf11-mt-20131105/">http://www.w3.org/TR/2013/CR-rdf11-mt-20131105/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-mt/">http://www.w3.org/TR/rdf11-mt/</a>
+</dd><dt id="bib-RDFA-PRIMER">[RDFA-PRIMER]</dt><dd rel="dcterms:requires">Ivan Herman; Ben Adida; Manu Sporny; Mark Birbeck. <a href="http://www.w3.org/TR/rdfa-primer/"><cite>RDFa 1.1 Primer - Second Edition</cite></a>. 22 August 2013. W3C Note. URL: <a href="http://www.w3.org/TR/rdfa-primer/">http://www.w3.org/TR/rdfa-primer/</a>
+</dd><dt id="bib-RFC3023">[RFC3023]</dt><dd rel="dcterms:requires">M. Murata; S. St.Laurent; D. Kohn. <a href="http://www.ietf.org/rfc/rfc3023.txt"><cite>XML Media Types (RFC 3023)</cite></a>. January 2001. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3023.txt">http://www.ietf.org/rfc/rfc3023.txt</a>
+</dd><dt id="bib-TRIG">[TRIG]</dt><dd rel="dcterms:requires">Gavin Carothers, Andy Seaborne, Editors. <cite><a href="http://www.w3.org/TR/2013/WD-trig-20130919/">TriG: RDF Dataset Language</a></cite>. 19 September 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/WD-trig-20130919/">http://www.w3.org/TR/2013/WD-trig-20130919/</a>. The latest edition is available at <a href="http://www.w3.org/TR/trig/">http://www.w3.org/TR/trig/</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:requires">Eric Prud'hommeaux, Gavin Carothers, Editors. <cite><a href="http://www.w3.org/TR/2013/CR-turtle-20130219/">RDF 1.1 Turtle: Terse RDF Triple Language.</a></cite> 19 February 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-turtle-20130219/">http://www.w3.org/TR/2013/CR-turtle-20130219/</a>. The latest edition is available at <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
+</dd><dt id="bib-XML-INFOSET">[XML-INFOSET]</dt><dd rel="dcterms:requires">John Cowan; Richard Tobin. <a href="http://www.w3.org/TR/xml-infoset"><cite>XML Information Set (Second Edition)</cite></a>. 4 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml-infoset">http://www.w3.org/TR/xml-infoset</a>
+</dd><dt id="bib-XML-NAMES">[XML-NAMES]</dt><dd rel="dcterms:requires">Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. <a href="http://www.w3.org/TR/xml-names"><cite>Namespaces in XML 1.0 (Third Edition)</cite></a>. 8 December 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml-names">http://www.w3.org/TR/xml-names</a>
+</dd><dt id="bib-XML10">[XML10]</dt><dd rel="dcterms:requires">Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau et al. <a href="http://www.w3.org/TR/xml"><cite>Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite></a>. 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>
+</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd rel="dcterms:requires">Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2: Datatypes Second Edition</cite></a>. 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>
+</dd></dl></section><section id="informative-references" typeof="bibo:Chapter" resource="#ref" rel="bibo:Chapter"><h3 aria-level="2" role="heading" id="h3_informative-references"><span class="secno">D.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-CHARMOD">[CHARMOD]</dt><dd rel="dcterms:references">Martin Dürst; François Yergeau; Richard Ishida; Misha Wolf; Tex Texin et al. <a href="http://www.w3.org/TR/charmod/"><cite>Character Model for the World Wide Web 1.0: Fundamentals</cite></a>. 15 February 2005. W3C Recommendation. URL: <a href="http://www.w3.org/TR/charmod/">http://www.w3.org/TR/charmod/</a>
+</dd><dt id="bib-IANA-MEDIA-TYPES">[IANA-MEDIA-TYPES]</dt><dd rel="dcterms:references"><cite><a href="http://www.iana.org/assignments/media-types/">MIME Media Types</a></cite>. The Internet Assigned Numbers Authority (IANA). The registration for application/rdf+xml is archived at <a href="http://www.w3.org/2001/sw/RDFCore/mediatype-registration">http://www.w3.org/2001/sw/RDFCore/mediatype-registration</a>.
+</dd><dt id="bib-NFC">[NFC]</dt><dd rel="dcterms:references">M. Davis, Ken Whistler. <a href="http://www.unicode.org/reports/tr15/"><cite>TR15, Unicode Normalization Forms.</cite></a>. 17 September 2010, URL: <a href="http://www.unicode.org/reports/tr15/">http://www.unicode.org/reports/tr15/</a>
+</dd><dt id="bib-RDFMS">[RDFMS]</dt><dd rel="dcterms:references">Ora Lassila; Ralph R. Swick. <cite><a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">Resource Description Framework (RDF) Model and Syntax Specification</a></cite>. 22 February 1999. W3C Recommendation. URL: <a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">http://www.w3.org/TR/1999/REC-rdf-syntax-19990222</a>.
+</dd><dt id="bib-RELAXNG">[RELAXNG]</dt><dd rel="dcterms:references">James Clark and Murata Makoto, editors. <cite><a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">RELAX NG Specification</a></cite>. OASIS Committee Specification, 3 December 2001. Latest version: <a href="http://www.oasis-open.org/committees/relax-ng/spec.html">http://www.oasis-open.org/committees/relax-ng/spec.html</a>.
+</dd><dt id="bib-RELAXNG-COMPACT">[RELAXNG-COMPACT]</dt><dd rel="dcterms:references">James Clark, editor. <cite><a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a></cite>. OASIS Committee Specification, 21 November 2002. URI: <a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>.
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:references">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:references">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax (RFC 3986)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-SAX">[SAX]</dt><dd rel="dcterms:references">D. Megginson, et al. <a href="http://www.megginson.com/downloads/SAX/"><cite>SAX: The Simple API for XML</cite></a>. May 1998. URL: <a href="http://www.megginson.com/downloads/SAX/"> http://www.megginson.com/downloads/SAX/</a>
+</dd><dt id="bib-STRIPEDRDF">[STRIPEDRDF]</dt><dd rel="dcterms:references">D. Brickley. <cite><a href="http://www.w3.org/2001/10/stripes/">RDF: Understanding the Striped RDF/XML Syntax</a>. W3C, 2001. URI: <a href="http://www.w3.org/2001/10/stripes/">http://www.w3.org/2001/10/stripes/</a>.
+</cite></dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:references"><a href="http://www.unicode.org/versions/latest/"><cite>The Unicode Standard</cite></a>. URL: <a href="http://www.unicode.org/versions/latest/">http://www.unicode.org/versions/latest/</a>
+</dd><dt id="bib-XML-EXC-C14N">[XML-EXC-C14N]</dt><dd rel="dcterms:references">John Boyer; Donald Eastlake; Joseph Reagle. <a href="http://www.w3.org/TR/xml-exc-c14n"><cite>Exclusive XML Canonicalization Version 1.0</cite></a>. 18 July 2002. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a>
+</dd><dt id="bib-XMLBASE">[XMLBASE]</dt><dd rel="dcterms:references">Jonathan Marsh; Richard Tobin. <a href="http://www.w3.org/TR/xmlbase/"><cite>XML Base (Second Edition)</cite></a>. 28 January 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+</dd><dt id="bib-XMLSCHEMA-1">[XMLSCHEMA-1]</dt><dd rel="dcterms:references">Henry Thompson; David Beech; Murray Maloney; Noah Mendelsohn et al. <a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part 1: Structures Second Edition</cite></a>. 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>
+</dd><dt id="bib-XPATH">[XPATH]</dt><dd rel="dcterms:references">James Clark; Steven DeRose. <a href="http://www.w3.org/TR/xpath"><cite>XML Path Language (XPath) Version 1.0</cite></a>. 16 November 1999. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file