Re: Turtle changes since CR

* Guus Schreiber <guus.schreiber@vu.nl> [2013-12-09 13:17+0100]
> Eric, Gavin,
> 
> In the Turtle ED I see no subsection with changes since the last
> publication. Can you please include one?

I usually write them on publication day, but I can take a pass at it
now.

Gavin, I believe you incorporated all of the patches I made during the
CR publication (attached). Those don't count as changes since CR
because they were undoing changes since LC. Can you tell me whether
there were any other changes during the the 1159 commit?

I suspect the best way to do this is to just diff the final
publishable HTML representation 'cause keeping track of the mercurial
mods will be tedious and error-prone.


> Thanks,
> Guus

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.

Forwarded message 1

  • From: Eric Prud'hommeaux <eric@w3.org>
  • Date: Mon, 11 Feb 2013 18:54:19 -0500
  • Subject: Re: preparing Turtle for CR
  • To: Gavin Carothers <gavin@carothers.name>, denis@w3.org
  • Cc: Guus Schreiber <guus.schreiber@vu.nl>, Ivan Herman <ivan@w3.org>, "team-rdf-chairs@w3.org WG" <team-rdf-chairs@w3.org>
  • Message-ID: <20130211235416.GB22225@w3.org>
In prep for publication tomorrow, I've cataloged the diffs between LC and CR (attached and inline with explaination). Gavin, could you help me figure out those marked with ??? ?
I changed the link to the concepts doc to the latest pub. These changes don't show up in the diffs. I've not tweaked the front matter much; trivial data fixes necessary. Nor have I drafted the Status section.
Denis, I'll send an official webreq after I've dealt with the front matter.

--- /home/eric/WWW/TR/2012/WD-turtle-20120710/LC.html 2013-02-11 18:14:59.001352058 -0500
+++ /home/eric/WWW/TR/2013/CR-turtle-20130211/Overview.html 2013-02-11 17:54:25.705390704 -0500

EGP There were a ton like this, so I rearranged all of the attributes to minimize them:
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" about="" property="dcterms:language" content="en" xmlns:dcterms='http://purl.org/dc/terms/' xmlns:bibo='http://purl.org/ontology/bibo/' xmlns:foaf='http://xmlns.com/foaf/0.1/' xmlns:xsd='http://www.w3.org/2001/XMLSchema#' version="XHTML+RDFa 1.0" typeof="bibo:Document">
 <head>
  <title>Turtle</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
  
  
??? but probably unimportant  
@@ -26,8 +26,10 @@
     background: #ffc;
 }
 
EGP embedded At Risk text in HTML
-.atrisk::before {
-    content:    "Feature At Risk";
+/* .atrisk::before */
+.atrisktext
+{
+    /* content:    "Feature At Risk"; */
     display:    block;
     width:  150px;
     margin: -1.5em 0 0.5em 0;

EGP date changes
@@ -506,7 +508,7 @@
 
 </style><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css" charset="utf-8" /></head>
 
-    <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C" /></a></p><h1 property="dcterms:title" class="title" id="title">Turtle</h1><h2 property="bibo:subtitle" id="subtitle">Terse <abbr title="Resource Description Framework">RDF</abbr> Triple Language</h2><h2 property="dcterms:issued" datatype="xsd:dateTime" content="2012-06-27T07:00:00+0000" id="w3c-working-draft-27-june-2012"><acronym title="World Wide Web Consortium">W3C</acronym> Working Draft 10 July 2012</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2012/WD-turtle-20120710/">http://www.w3.org/TR/2012/WD-turtle-20120710/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html">http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html</a></dd><dt>Previous version:</dt><dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2011/WD-turtle-20110809/">http://www.w3.org/TR/2011/WD-turtle-20110809/</a></dd><dt>Editors:</dt><dd rel="bibo:editor"><span typeof="foaf:Person"><a rel="foaf:homepage" property="foaf:name" content="Eric Prud'hommeaux" href="http://www.w3.org/People/Eric/">Eric Prud'hommeaux</a>, <a rel="foaf:workplaceHomepage" href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a></span>
+    <body style="display: inherit; " ><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C" /></a></p><h1 property="dcterms:title" class="title" id="title">Turtle</h1><h2 property="bibo:subtitle" id="subtitle">Terse <abbr title="Resource Description Framework">RDF</abbr> Triple Language</h2><h2 property="dcterms:issued" datatype="xsd:dateTime" content="2013-02-12T00:00:00+0000" id="w3c-working-draft-12-February-2013"><acronym title="World Wide Web Consortium">W3C</acronym> Working Draft 23 January 2013</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2012/CR-turtle-20130212/">http://www.w3.org/TR/2012/CR-turtle-20130212/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html">http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html</a></dd><dt>Previous version:</dt><dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2011/WD-turtle-20110809/">http://www.w3.org/TR/2011/WD-turtle-20110809/</a></dd><dt>Editors:</dt><dd rel="bibo:editor"><span typeof="foaf:Person"><a rel="foaf:homepage" property="foaf:name" content="Eric Prud'hommeaux" href="http://www.w3.org/People/Eric/">Eric Prud'hommeaux</a>, <a rel="foaf:workplaceHomepage" href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a></span>
 </dd>
 <dd rel="bibo:editor"><span typeof="foaf:Person"><a rel="foaf:homepage" property="foaf:name" content="Gavin Carothers" href="http://gavin.carothers.name/">Gavin Carothers</a>, <a rel="foaf:workplaceHomepage" href="http://topquadrant.com/">TopQuadrant, Inc</a>, <a rel="foaf:workplaceHomepage" href="http://lexmachina.com/">Lex Machina, Inc</a></span>
 </dd>

EGP copyright date change
@@ -518,7 +520,7 @@
 </dd>
 <dd rel="dcterms:contributor"><span typeof="foaf:Person"><a rel="foaf:homepage" property="foaf:name" content="Gavin Carothers" href="http://gavin.carothers.name/">Gavin Carothers</a>, <a rel="foaf:workplaceHomepage" href="http://topquadrant.com/">TopQuadrant, Inc</a>, <a rel="foaf:workplaceHomepage" href="http://lexmachina.com/">Lex Machina, Inc</a></span>
 </dd>
-</dl><p class="copyright"><a rel="license" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2008-2012 <span rel="dcterms:publisher"><span typeof="foaf:Organization"><a rel="foaf:homepage" property="foaf:name" content="World Wide Web Consortium" href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup></span></span> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <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>
+</dl><p class="copyright"><a rel="license" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2008-2013 <span rel="dcterms:publisher"><span typeof="foaf:Organization"><a rel="foaf:homepage" property="foaf:name" content="World Wide Web Consortium" href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup></span></span> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <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>
  <div id="abstract" class="introductory section" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter"><h2>Abstract</h2>
    <p>The Resource Description Framework
    (<abbr title="Resource Description Framework">RDF</abbr>) is a 

EGP Status text still to be changed.
@@ -534,7 +536,7 @@
    <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation.
    </p>
  </div><div id="sotd" class="introductory section" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><h2>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 <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></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 Last Call Working Draft. This document is intended to become a <acronym title="World Wide Web Consortium">W3C</acronym> 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>). The Last Call period ends 15 September 2012. All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym> 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 is a Last Call Working Draft and thus the Working Group has determined that this document has satisfied the relevant technical requirements and is sufficiently stable to advance through the Technical Recommendation process.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">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 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p></div><div id="toc" typeof="bibo:Chapter" resource="#toc" rel="bibo:chapter" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#sec-intro" class="tocxref"><span class="secno">1 </span>Introduction</a></li><li class="tocline"><a href="#language-features" class="tocxref"><span class="secno">2 </span>Turtle Language</a><ul class="toc"><li class="tocline"><a href="#simple-triples" class="tocxref"><span class="secno">2.1 </span>Simple Triples</a></li><li class="tocline"><a href="#predicate-lists" class="tocxref"><span class="secno">2.2 </span>Predicate Lists</a></li><li class="tocline"><a href="#object-lists" class="tocxref"><span class="secno">2.3 </span>Object Lists</a></li><li class="tocline"><a href="#sec-iri" class="tocxref"><span class="secno">2.4 </span>IRIs</a></li><li class="tocline"><a href="#literals" class="tocxref"><span class="secno">2.5 </span><abbr title="Resource Description Framework">RDF</abbr> Literals</a><ul class="toc"><li class="tocline"><a href="#turtle-literals" class="tocxref"><span class="secno">2.5.1 </span>Quoted Literals</a></li><li class="tocline"><a href="#abbrev" class="tocxref"><span class="secno">2.5.2 </span>Numbers</a></li><li class="tocline"><a href="#booleans" class="tocxref"><span class="secno">2.5.3 </span>Booleans</a></li></ul></li><li class="tocline"><a href="#BNodes" class="tocxref"><span class="secno">2.6 </span><abbr title="Resource Description Framework">RDF</abbr> Blank Nodes</a></li><li class="tocline"><a href="#unlabeled-bnodes" class="tocxref"><span class="secno">2.7 </span>Nesting Unlabeled Blank Nodes in Turtle</a></li><li class="tocline"><a href="#collections" class="tocxref"><span class="secno">2.8 </span>Collections</a></li></ul></li><li class="tocline"><a href="#sec-examples" class="tocxref"><span class="secno">3 </span>Examples</a></li><li class="tocline"><a href="#sec-diff-sparql" class="tocxref"><span class="secno">4 </span>Turtle compared to <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr></a></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">5 </span>Conformance</a><ul class="toc"><li class="tocline"><a href="#sec-mime" class="tocxref"><span class="secno">5.1 </span>Media Type and Content Encoding</a></li></ul></li><li class="tocline"><a href="#sec-grammar" class="tocxref"><span class="secno">6 </span>Turtle Grammar</a><ul class="toc"><li class="tocline"><a href="#sec-grammar-ws" class="tocxref"><span class="secno">6.1 </span>White Space</a></li><li class="tocline"><a href="#sec-grammar-comments" class="tocxref"><span class="secno">6.2 </span>Comments</a></li><li class="tocline"><a href="#sec-iri-references" class="tocxref"><span class="secno">6.3 </span>IRI References</a></li><li class="tocline"><a href="#sec-escapes" class="tocxref"><span class="secno">6.4 </span>Escape Sequences</a></li><li class="tocline"><a href="#sec-grammar-grammar" class="tocxref"><span class="secno">6.5 </span>Grammar</a></li></ul></li><li class="tocline"><a href="#sec-parsing" class="tocxref"><span class="secno">7 </span>Parsing</a><ul class="toc"><li class="tocline"><a href="#sec-parsing-state" class="tocxref"><span class="secno">7.1 </span>Parser State</a></li><li class="tocline"><a href="#sec-parsing-terms" class="tocxref"><span class="secno">7.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</a></li><li class="tocline"><a href="#sec-parsing-triples" class="tocxref"><span class="secno">7.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Constructors</a></li><li class="tocline"><a href="#sec-parsing-example" class="tocxref"><span class="secno">7.4 </span>Parsing Example</a></li></ul></li><li class="tocline"><a href="#in-html" class="tocxref"><span class="secno">A </span>Embedding Turtle in HTML documents</a><ul class="toc"><li class="tocline"><a href="#xhtml" class="tocxref"><span class="secno">A.1 </span>XHTML</a></li><li class="tocline"><a href="#in-html-parsing" class="tocxref"><span class="secno">A.2 </span>Parsing Turtle in HTML</a></li></ul></li><li class="tocline"><a href="#sec-mediaReg" class="tocxref"><span class="secno">B </span>Internet Media Type, File Extension and Macintosh File Type</a></li><li class="tocline"><a href="#sec-acks" class="tocxref"><span class="secno">C </span>Acknowledgements</a></li><li class="tocline"><a href="#sec-changelog" class="tocxref"><span class="secno">D </span>Changes since the last publication of this document</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">E </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">E.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">E.2 </span>Informative references</a></li></ul></li></ul></div>
+    <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 Candidate 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 feedback is welcome.</p><p>Publication as a Candidate Recommendation does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym> 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/">5 February 2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46168/status" rel="disclosure">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 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p></div><div id="toc" typeof="bibo:Chapter" resource="#toc" rel="bibo:chapter" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#sec-intro" class="tocxref"><span class="secno">1 </span>Introduction</a></li><li class="tocline"><a href="#language-features" class="tocxref"><span class="secno">2 </span>Turtle Language</a><ul class="toc"><li class="tocline"><a href="#simple-triples" class="tocxref"><span class="secno">2.1 </span>Simple Triples</a></li><li class="tocline"><a href="#predicate-lists" class="tocxref"><span class="secno">2.2 </span>Predicate Lists</a></li><li class="tocline"><a href="#object-lists" class="tocxref"><span class="secno">2.3 </span>Object Lists</a></li><li class="tocline"><a href="#sec-iri" class="tocxref"><span class="secno">2.4 </span>IRIs</a></li><li class="tocline"><a href="#literals" class="tocxref"><span class="secno">2.5 </span><abbr title="Resource Description Framework">RDF</abbr> Literals</a><ul class="toc"><li class="tocline"><a href="#turtle-literals" class="tocxref"><span class="secno">2.5.1 </span>Quoted Literals</a></li><li class="tocline"><a href="#abbrev" class="tocxref"><span class="secno">2.5.2 </span>Numbers</a></li><li class="tocline"><a href="#booleans" class="tocxref"><span class="secno">2.5.3 </span>Booleans</a></li></ul></li><li class="tocline"><a href="#BNodes" class="tocxref"><span class="secno">2.6 </span><abbr title="Resource Description Framework">RDF</abbr> Blank Nodes</a></li><li class="tocline"><a href="#unlabeled-bnodes" class="tocxref"><span class="secno">2.7 </span>Nesting Unlabeled Blank Nodes in Turtle</a></li><li class="tocline"><a href="#collections" class="tocxref"><span class="secno">2.8 </span>Collections</a></li></ul></li><li class="tocline"><a href="#sec-examples" class="tocxref"><span class="secno">3 </span>Examples</a></li><li class="tocline"><a href="#sec-diff-sparql" class="tocxref"><span class="secno">4 </span>Turtle compared to <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr></a></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">5 </span>Conformance</a><ul class="toc"><li class="tocline"><a href="#sec-mime" class="tocxref"><span class="secno">5.1 </span>Media Type and Content Encoding</a></li></ul></li><li class="tocline"><a href="#sec-grammar" class="tocxref"><span class="secno">6 </span>Turtle Grammar</a><ul class="toc"><li class="tocline"><a href="#sec-grammar-ws" class="tocxref"><span class="secno">6.1 </span>White Space</a></li><li class="tocline"><a href="#sec-grammar-comments" class="tocxref"><span class="secno">6.2 </span>Comments</a></li><li class="tocline"><a href="#sec-iri-references" class="tocxref"><span class="secno">6.3 </span>IRI References</a></li><li class="tocline"><a href="#sec-escapes" class="tocxref"><span class="secno">6.4 </span>Escape Sequences</a></li><li class="tocline"><a href="#sec-grammar-grammar" class="tocxref"><span class="secno">6.5 </span>Grammar</a></li></ul></li><li class="tocline"><a href="#sec-parsing" class="tocxref"><span class="secno">7 </span>Parsing</a><ul class="toc"><li class="tocline"><a href="#sec-parsing-state" class="tocxref"><span class="secno">7.1 </span>Parser State</a></li><li class="tocline"><a href="#sec-parsing-terms" class="tocxref"><span class="secno">7.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</a></li><li class="tocline"><a href="#sec-parsing-triples" class="tocxref"><span class="secno">7.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Constructors</a></li><li class="tocline"><a href="#sec-parsing-example" class="tocxref"><span class="secno">7.4 </span>Parsing Example</a></li></ul></li><li class="tocline"><a href="#in-html" class="tocxref"><span class="secno">A </span>Embedding Turtle in HTML documents</a><ul class="toc"><li class="tocline"><a href="#xhtml" class="tocxref"><span class="secno">A.1 </span>XHTML</a></li><li class="tocline"><a href="#in-html-parsing" class="tocxref"><span class="secno">A.2 </span>Parsing Turtle in HTML</a></li></ul></li><li class="tocline"><a href="#sec-mediaReg" class="tocxref"><span class="secno">B </span>Internet Media Type, File Extension and Macintosh File Type</a></li><li class="tocline"><a href="#sec-acks" class="tocxref"><span class="secno">C </span>Acknowledgements</a></li><li class="tocline"><a href="#sec-changelog" class="tocxref"><span class="secno">D </span>Changes since the last publication of this document</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">E </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">E.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">E.2 </span>Informative references</a></li></ul></li></ul></div>
 
     
  
???
@@ -565,11 +567,11 @@
     foaf:name &quot;Spiderman&quot;, &quot;Человек-паук&quot;@ru .</span></pre>
    <p>
      This example introduces many of features of the Turtle language:
-<a href="#relative-iri">@base and Relative IRIs</a>,
-<a href="#prefixed-name">@prefix and prefixed names</a>,
+<a href="#relative-iris">@base and Relative IRIs</a>,
+<a href="#turtleIRIs">@prefix and prefixed names</a>,
 <a href="#predicate-lists">predicate lists</a> separated by '<code>;</code>',
 <a href="#object-lists">objects lists</a> separated by '<code>,</code>',
-the token <code><a href="#sec-iri">a</a></code>,
+the token <code><a href="#IRIs">a</a></code>,
 and <a href="#literals">literals</a>.
    </p>
 
??? odd number of quotes
@@ -586,7 +588,7 @@
  <div id="language-features" class="informative section" typeof="bibo:Chapter" resource="#language-features" rel="bibo:chapter">
   <h2><span class="secno">2 </span>Turtle Language</h2><p><em>This section is non-normative.</em></p>
   <p>A Turtle document allows writing down an <abbr title="Resource Description Framework">RDF</abbr> graph in a compact textual form. An <abbr title="Resource Description Framework">RDF</abbr> graph is made up of <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-rdf-triple">triples</a> consisting of a subject, predicate and object.</p>
-  <p>Comments may be given after a <code>#</code> that is not part of another lexical token and continue to the end of the line.</p>
+  <p>Comments may be given after a '<code>#</code>'' that is not part of another lexical token and continue to the end of the line.</p>
   <div id="simple-triples" typeof="bibo:Chapter" resource="#simple-triples" rel="bibo:chapter" class="section">
    <h3><span class="secno">2.1 </span>Simple Triples</h3>
    <p>The simplest triple statement is a sequence of (subject, predicate, object) terms, separated by whitespace and terminated by '<code>.</code>' after each triple.</p>
EGP quoting
@@ -595,9 +597,9 @@
   </div>
   <div id="predicate-lists" typeof="bibo:Chapter" resource="#predicate-lists" rel="bibo:chapter" class="section">
    <h3><span class="secno">2.2 </span>Predicate Lists</h3>
-   <p>Often the same subject will be referenced by a number of predicates. The <a href="#grammar-production-predicateObjectList">predicateObjectList production</a> matches a series of predicates and objects, separated by <code>;</code>, following a subject.
-     This expresses a series of <abbr title="Resource Description Framework">RDF</abbr> Triples with that subject and a each predicate and object allocated to one triple.
-     Thus, the <code>;</code> symbol is used to repeat the subject of triples that vary only in predicate and object <abbr title="Resource Description Framework">RDF</abbr> terms.</p>
+   <p>Often the same subject will be referenced by a number of predicates. The <a href="#grammar-production-predicateObjectList">predicateObjectList production</a> matches a series of predicates and objects, separated by '<code>;</code>', following a subject.
+     This expresses a series of <abbr title="Resource Description Framework">RDF</abbr> Triples with that subject and each predicate and object allocated to one triple.
+     Thus, the '<code>;</code>' symbol is used to repeat the subject of triples that vary only in predicate and object <abbr title="Resource Description Framework">RDF</abbr> terms.</p>
      <p>These two examples are equivalent ways of writing the triples about Spiderman.</p>
       <pre class="example"><span>&lt;http://example.org/#spiderman&gt; &lt;http://www.perceive.net/schemas/relationship/enemyOf&gt; &lt;http://example.org/#green-goblin&gt; ;
     &lt;http://xmlns.com/foaf/0.1/name&gt; &quot;Spiderman&quot; .
EGP quoting
@@ -610,8 +612,8 @@
    <h3><span class="secno">2.3 </span>Object Lists</h3>
    <p>
      As with predicates often objects are repeated with the same subject and predicate. The <a href="#grammar-production-objectList">objectList production</a> matches a series of objects separated by '<code>,</code>' following a predicate.
-     This expresses a series of <abbr title="Resource Description Framework">RDF</abbr> Triples with the corresponding subject and predicate and a each object allocated to one triple.
-     Thus, the <code>,</code> symbol is used to repeat the subject and predicate of triples that only differ in the object <abbr title="Resource Description Framework">RDF</abbr> term.</p>
+     This expresses a series of <abbr title="Resource Description Framework">RDF</abbr> Triples with the corresponding subject and predicate and each object allocated to one triple.
+     Thus, the '<code>,</code>' symbol is used to repeat the subject and predicate of triples that only differ in the object <abbr title="Resource Description Framework">RDF</abbr> term.</p>
      <p>These two examples  are equivalent ways of writing Spiderman's name in two languages.</p><p>
     </p><pre class="example"><span>&lt;http://example.org/#spiderman&gt; &lt;http://xmlns.com/foaf/0.1/name&gt; &quot;Spiderman&quot;, &quot;Человек-паук&quot;@ru .
    </span></pre>

EGP new anchor
@@ -636,15 +638,15 @@
         <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">IRIs</a> may be written as relative or absolute IRIs or prefixed names. 
        Relative and absolute IRIs are enclosed in '&lt;' and '&gt;' and may contain <a href="#numeric">numeric escape sequences</a> (described below). For example <code>&lt;http://example.org/#green-goblin&gt;</code>.
     </p>
-    <p id="relative-iri">Relative IRIs like <code>&lt;#green-goblin&gt;</code> are resolved relative to the current base IRI. A new base IRI can be defined using the <code>@base</code> directive. Specifics of this operation are defined in <a href="#sec-iri-references" class="sectionRef">section 6.3 IRI References</a> </p>
+    <p>Relative IRIs like <code>&lt;#green-goblin&gt;</code> are resolved relative to the current base IRI. A new base IRI can be defined using the '<code>@base</code>' directive. Specifics of this operation are defined in <a href="#sec-iri-references" class="sectionRef">section 6.3 IRI References</a> </p>
     <p>
-      The token <code>a</code> in the predicate position of a Turtle triple represents the IRI <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code> .
+      The token '<code>a</code>' in the predicate position of a Turtle triple represents the IRI <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code> .
     </p>
 
     <p>
       A <em id="prefixed-name">prefixed name</em> is a prefix label and a local part, separated by a colon &quot;:&quot;.
-      A prefixed name is turned into an IRI by concatenating the IRI associated with the prefix and the local part. The <code>@prefix</code> directive associates a prefix label with an IRI.
-      Subsequent <code>@prefix</code> directives may re-map the same prefix label. </p>
+      A prefixed name is turned into an IRI by concatenating the IRI associated with the prefix and the local part. The '<code>@prefix</code>' directive associates a prefix label with an IRI.
+      Subsequent '<code>@prefix</code>' directives may re-map the same prefix label. </p>
 
       <p>
        To write <code>http://www.perceive.net/schemas/relationship/enemyOf</code> using a prefixed name: </p>
EGP i18n example text
@@ -689,6 +691,8 @@
 :subject5 :predicate5 :object5 .        # prefixed name, e.g. http://another.example/subject5
 
 :subject6 a :subject7 .                 # same as :subject6 &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; :subject7 .
+
+&lt;http://伝言.example/?user=أكرم&amp;amp;channel=R%26D&gt; a :subject8 . # a multi-script subject IRI .
 </span></pre>
  </div>
 
EGP code point/character fixups at request of i18n
@@ -712,14 +716,14 @@
 
     <p>
       Quoted Literals (Grammar production <a href="#grammar-production-RDFLiteral">RDFLiteral</a>) have a lexical form followed by a language tag, a datatype IRI, or neither.
-      The representation of the lexical form consists of an initial delimiter, e.g. <code>&quot;</code>, a sequence of permitted characters or <a href="#numeric">numeric escape sequence</a> or <a href="#string">string escape sequence</a>, and a final delimiter.
+      The representation of the lexical form consists of an initial delimiter, e.g. <code>&quot;</code> (<span class="codepoint">U+0022</span>), a sequence of permitted characters or <a href="#numeric">numeric escape sequence</a> or <a href="#string">string escape sequence</a>, and a final delimiter.
       The corresponding <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form"><abbr title="Resource Description Framework">RDF</abbr> lexical form</a> is the characters between the delimiters, after processing any escape sequences.
-      If present, the <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tagged-string">language tag</a> is preceded by a <code>@</code>.
-      If there is no language tag, there may be a <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-datatype">datatype IRI</a>, preceeded by <code>^^</code>. The datatype IRI in Turtle may be written using either an <a href="#sec-iri">absolute IRI</a>, a <a href="#sec-iri">relative IRI</a>, or <a href="#prefixed-name">prefixed name</a>. If there is no datatype IRI and no language tag, the datatype is <code>xsd:string</code>.
+      If present, the <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tagged-string">language tag</a> is preceded by a '<code>@</code>' (<span class="codepoint">U+0040</span>).
+      If there is no language tag, there may be a <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-datatype-URI">datatype IRI</a>, preceeded by '<code>^^</code>' (<span class="codepoint">U+005E</span> <span class="codepoint">U+005E</span>). The datatype IRI in Turtle may be written using either an <a href="#sec-iri">absolute IRI</a>, a <a href="#sec-iri">relative IRI</a>, or <a href="#prefixed-name">prefixed name</a>. If there is no datatype IRI and no language tag, the datatype is <code>xsd:string</code>.
     </p>
-    <p><code>\</code> may not appear in any quoted literal except as part of an escape sequence. Other restrictions depend on the delimiter:</p>
+    <p>'<code>\</code>' (<span class="codepoint">U+005C</span>) may not appear in any quoted literal except as part of an escape sequence. Other restrictions depend on the delimiter:</p>
     <ul>
-     <li>Literals delimited by <code>'</code>, may not contain the characters <code>'</code>, <code title="LINE FEED"><sub>LF</sub></code>, or <code title="CARRIAGE RETURN"><sub>CR</sub></code>.
+     <li>Literals delimited by <code>'</code> (<span class="codepoint">U+0027</span>), may not contain the characters <code>'</code>, <code title="LINE FEED"><sub>LF</sub></code> (<span class="codepoint">U+000A</span>), or <code title="CARRIAGE RETURN"><sub>CR</sub></code> (<span class="codepoint">U+000D</span>).
      </li><li>Literals delimited by <code>&quot;</code>, may not contain the characters <code>&quot;</code>, <code title="LINE FEED"><sub>LF</sub></code>, or <code title="CARRIAGE RETURN"><sub>CR</sub></code>.
      </li><li>Literals delimited by <code>'''</code> may not contain the sequence of characters <code>'''</code>.
      </li><li>Literals delimited by <code>&quot;&quot;&quot;</code> may not contain the sequence of characters <code>&quot;&quot;&quot;</code>.
EGP new bare number example at request of i18n
EGP some quoting
@@ -786,16 +790,16 @@
     </table>
   -->
 
-    <pre class="example"><span>@prefix : &lt;http://example.org/stats&gt; .
-&lt;http://somecountry.example/census2007&gt;
-    :censusYear 2007 ;              # xsd:integer
-    :birthsPerPerson .0135 ;        # xsd:decimal
-    :gdpDollars 14074.2E9 ;         # xsd:double
+    <pre class="example"><span>@prefix : &lt;http://example.org/elements&gt; .                                                                              
+&lt;http://en.wikipedia.org/wiki/Helium&gt;                                                                                  
+    :atomicNumber 2 ;               # xsd:integer                                                                      
+    :atomicMass 4.002602 ;          # xsd:decimal                                                                      
+    :specificGravity 1.663E-4 .     # xsd:double                                                                       
     </span></pre>
    </div>
    <div id="booleans" typeof="bibo:Chapter" resource="#booleans" rel="bibo:chapter" class="section">
     <h4><span class="secno">2.5.3 </span>Booleans</h4>
-    <p>Boolean values may be written as either <code>true</code> or <code>false</code> (case-sensitive) and represent <abbr title="Resource Description Framework">RDF</abbr> literals with the datatype <a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a>.</p>
+    <p>Boolean values may be written as either '<code>true</code>' or '<code>false</code>' (case-sensitive) and represent <abbr title="Resource Description Framework">RDF</abbr> literals with the datatype <a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a>.</p>
     <pre class="example"><span>@prefix : &lt;http://example.org/stats&gt; .
 &lt;http://somecountry.example/census2007&gt;
     :isLandlocked false .           # xsd:boolean</span></pre>

EGP code point/character fixups
@@ -812,7 +816,7 @@
     <ul>
       <li>The characters <code>_</code> and digits may appear anywhere in a blank node label.</li>
       <li>The character <code>.</code> may appear anywhere except the first or last character.</li>
-      <li>The characters <code>-</code>, <code>\uB7</code>, <code>\u300</code> to <code>\u36F</code> and <code>\u203F</code> to <code>2040</code> are permitted anywhere except the first character.</li>
+      <li>The characters <code>-</code>, <code>U+00B7</code>, <code>U+0300</code> to <code>U+036F</code> and <code>U+203F</code> to <code>U+2040</code> are permitted anywhere except the first character.</li>
     </ul>
     <p>
       A fresh <abbr title="Resource Description Framework">RDF</abbr> blank node is allocated for each unique blank node label in a document.
EGP production name change: s/predicateObjectList/predicateObjectList/ (needs linkcheck fixup).
@@ -845,7 +849,7 @@
         In this case, each inner <code>[</code> establishes a new subject blank node which reverts to the outer node at the <code>]</code>, and serves as the current subject for <a href="#grammar-production-predicateObjectList">predicate object lists</a>.
       </p>
       <p>
-       The use of <a href="#grammar-production-predicateObjectList">predicateObjectList</a> within a <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> is a common idiom for representing a series of properties of a node.
+       The use of <a href="predicateObjectList">predicateObjectList</a> within a <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> is a common idiom for representing a series of properties of a node.
      </p>
     <div style="float:left;">
       <p class="idlAttrName" style="padding-left:2em;">Abbreviated:</p>
EGP code point/character fixups
@@ -936,7 +940,7 @@
 
           <p>An example of two identical triples containing literal objects
           containing newlines, written in plain and long literal forms.
-          Assumes that line feeds in this document are #xA.
+          The line breaks in this example are LINE FEED characters (U+000A).
           (<a href="examples/example3.ttl">example3.ttl</a>):</p>
 
           <div><pre class="example">@prefix : &lt;http://example.org/stuff/1.0/&gt; .
EGP external document status changes
@@ -990,12 +994,12 @@
       </p>
 
       <ol>
-    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> permits <abbr title="Resource Description Framework">RDF</abbr> Literals as the subject of <abbr title="Resource Description Framework">RDF</abbr> triples (per <a href="http://www.w3.org/TR/sparql11-query/#rGraphTerm">Last Call draft</a>)</li>
+    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> permits <abbr title="Resource Description Framework">RDF</abbr> Literals as the subject of <abbr title="Resource Description Framework">RDF</abbr> triples (per <a href="http://www.w3.org/TR/2012/PR-sparql11-query-20121108/#rGraphTerm">Proposed Recommendation</a>).</li>
 
-    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> permits variables (<code>?</code><em>name</em> or <code>$</code><em>name</em>) in any part of the triple of the form</li>
+    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> permits variables (<code>?</code><em>name</em> or <code>$</code><em>name</em>) in any part of the triple of the form.</li>
     <li>Turtle allows <a href="#grammar-production-directive">prefix and base declarations</a> anywhere outside of a triple. In <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr>, they are only allowed in the <a href="http://www.w3.org/TR/sparql11-query/#rPrologue">Prologue</a> (at the start of the <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> query).</li>
-    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> uses case insensitive keywords, except for <code>a</code>. Turtle's prefix and base declarations are case sensitive.</li>
-    <li><code>true</code> and <code>false</code> are case insensitive in <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> and case sensitive in Turtle. <code>TrUe</code> is not a valid boolean value in Turtle.</li>
+    <li><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> uses case insensitive keywords, except for '<code>a</code>'. Turtle's prefix and base declarations are case sensitive.</li>
+    <li>'<code>true</code>' and '<code>false</code>' are case insensitive in <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> and case sensitive in Turtle. <code>TrUe</code> is not a valid boolean value in Turtle.</li>
 
       </ol>
 
EGP code point/character fixups
@@ -1039,7 +1043,7 @@
           <p>A Turtle document is a
           Unicode[<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>]
           character string encoded in UTF-8.
-          Unicode codepoints only in the range U+0 to U+10FFFF inclusive are
+          Unicode characters only in the range U+0000 to U+10FFFF inclusive are
           allowed.
           </p>
           <div id="sec-grammar-ws" typeof="bibo:Chapter" resource="#sec-grammar-ws" rel="bibo:chapter" class="section">
??? broken refs to 3986?
@@ -1062,9 +1066,9 @@
           <div id="sec-iri-references" typeof="bibo:Chapter" resource="#sec-iri-references" rel="bibo:chapter" class="section">
            <h3><span class="secno">6.3 </span>IRI References</h3>
        <p>
-       Relative IRIs are resolved with base IRIs as per <a href="http://www.ietf.org/rfc/rfc3986.txt" class="norm">Uniform Resource Identifier (URI): Generic Syntax</a> [<a href="#bib-RFC3986">RFC3986</a>] using only the basic algorithm in section 5.2.
+       Relative IRIs are resolved with base IRIs as per <a href="http://www.ietf.org/rfc/rfc3986.txt" class="norm">Uniform Resource Identifier (URI): Generic Syntax</a> [<a href="#rfc3986">RFC3986</a>] using only the basic algorithm in section 5.2.
        Neither Syntax-Based Normalization nor Scheme-Based Normalization (described in sections 6.2.2 and 6.2.3 of RFC3986) are performed.
-       Characters additionally allowed in IRI references are treated in the same way that unreserved characters are treated in URI references, per section 6.5 of <a href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource Identifiers (IRIs)</a> [<a href="#bib-RFC3987">RFC3987</a>].
+       Characters additionally allowed in IRI references are treated in the same way that unreserved characters are treated in URI references, per section 6.5 of <a href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource Identifiers (IRIs)</a> [<a href="#rfc3987">RFC3987</a>].
      </p>
      <p>
        The <code>@base</code> directive defines the Base IRI used to resolve relative IRIs per RFC3986 section 5.1.1, &quot;Base URI Embedded in Content&quot;.
EGP code point/character fixups
@@ -1101,7 +1105,7 @@
 
       <tr>
         <td>'\u' <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a></td>
-        <td>A Unicode codepoint in the range U+0 to U+FFFF inclusive
+        <td>A Unicode character in the range U+0000 to U+FFFF inclusive
         corresponding to the value encoded by the four hexadecimal digits interpreted from most significant to least significant digit.</td>
       </tr>
 
EGP code point/character fixups
@@ -1109,7 +1113,7 @@
       <tr>
         <td>'\U' <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a></td>
 
-        <td>A Unicode codepoint in the range U+0 to U+10FFFF inclusive
+        <td>A Unicode character in the range U+0000 to U+10FFFF inclusive
         corresponding to the value encoded by the eight hexadecimal digits interpreted from most significant to least significant digit.</td>
       </tr>
 
EGP production name change s/IRIREF/IRIref/
@@ -1206,7 +1210,7 @@
        </thead>
        <tbody>
   <tr>
-    <td class="r"><span style="font-weight:bold;">IRI</span>s, used as <a href="#grammar-production-IRIREF"><abbr title="Resource Description Framework">RDF</abbr> terms</a> or as in <a href="#grammar-production-prefixID">@prefix</a> or <a href="#grammar-production-base">@base</a> declarations</td>
+    <td class="r"><span style="font-weight:bold;">IRI</span>s, used as <a href="#grammar-production-IRIref"><abbr title="Resource Description Framework">RDF</abbr> terms</a> or as in <a href="#grammar-production-prefixID">@prefix</a> or <a href="#grammar-production-base">@base</a> declarations</td>
     <td style="background-color: green; border:1px solid black;">yes</td>
     <td>no</td>
     <td>no</td>
EGP at risk text inline
@@ -1230,7 +1234,7 @@
           </div>
           <div id="sec-grammar-grammar" typeof="bibo:Chapter" resource="#sec-grammar-grammar" rel="bibo:chapter" class="section">
           <h3><span class="secno">6.5 </span>Grammar</h3>
-            <div class="atrisk">
+            <div class="atrisk"><p class="atrisktext">Feature At Risk</p>
              <p>The <abbr title="Resource Description Framework">RDF</abbr> Working Group proposes to make the following changes to align Turtle with <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr>.</p>
              <ul>
              <li>The addition of <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> and <a href="#grammar-production-sparqlBase">sparqlBase</a> which allow for using <abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> style <code>BASE</code> and <code>PREFIX</code> directives in a Turtle document.
EGP overhaul of parsing semantics
@@ -1238,8 +1242,50 @@
              <p>Feedback, both positive and negative, is invited by sending email to mailing list <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>).</p>
             </div>
             <p>The <abbr title="Extended Backus–Naur Form">EBNF</abbr> used here is defined in XML 1.0
-            [<cite><a class="bibref" rel="biblioentry" href="#bib-EBNF-NOTATION">EBNF-NOTATION</a></cite>]. Production labels consisting of a number and a final 's', e.g. [<a href="http://www.w3.org/TR/sparql11-query/#rRDFLiteral"><span class="prodNo">60s</span></a>], reference the production with that number in the <a href="http://www.w3.org/TR/sparql11-query/#sparqlGrammar"><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> Query Language for <abbr title="Resource Description Framework">RDF</abbr> grammar</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SPARQL-QUERY">RDF-SPARQL-QUERY</a></cite>]. When tokenizing the input and choosing grammar rules, the longest match is chosen. The strings <a href="#grammar-production-prefixID"><code>@prefix</code></a> and <a href="#grammar-production-base"><code>@base</code></a> match the pattern for <a href="#grammar-production-LANGTAG">LANGTAG</a>, though neither &quot;prefix&quot; nor &quot;base&quot; are <a href="http://www.iana.org/assignments/language-subtag-registry">registered language tags</a>. This specification does not define whether a quoted literal followed by either of these tokens (e.g. <code>&quot;A&quot;@base</code>) is in the Turtle language.
+            [<cite><a class="bibref" rel="biblioentry" href="#bib-EBNF-NOTATION">EBNF-NOTATION</a></cite>]. Production labels consisting of a number and a final 's', e.g. [<a href="http://www.w3.org/TR/sparql11-query/#rRDFLiteral"><span class="prodNo">60s</span></a>], reference the production with that number in the <a href="http://www.w3.org/TR/sparql11-query/#sparqlGrammar"><abbr title="SPARQL Protocol And RDF Query Language">SPARQL</abbr> Query Language for <abbr title="Resource Description Framework">RDF</abbr> grammar</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SPARQL-QUERY">RDF-SPARQL-QUERY</a></cite>].
             </p>
+
+     <div>
+     <p>Notes:</p>
+     <ol>
+       <li>
+  Keywords in single quotes ('<code class="grammar-literal">@base</code>', '<code class="grammar-literal">@prefix</code>', '<code class="grammar-literal">a</code>', '<code class="grammar-literal">true</code>', '<code class="grammar-literal">false</code>') are case-sensitive.
+  Keywords in double quotes (&quot;<code class="grammar-literal">BASE</code>&quot;, &quot;<code class="grammar-literal">PREFIX</code>&quot;) are case-insensitive.
+       </li>
+       <li>
+  Escape sequences <code><a href="#grammar-production-UCHAR">UCHAR</a></code> and <code><a href="#grammar-production-ECHAR">ECHAR</a></code> are case sensitive.
+       </li>
+       <li>
+  When tokenizing the input and choosing grammar rules, the longest match is chosen.
+       </li>
+       <li>
+  The Turtle grammar is LL(1) and LALR(1) when the rules with uppercased names are used as terminals.
+       </li>
+       <li>
+  The entry point into the grammar is <code>turtleDoc</code>.
+       </li>
+       <li>
+  In signed numbers, no white space is allowed between the sign and the number.
+       </li>
+       <li>
+  The
+  <span style="font-size: smaller;">
+    <span>[162s]</span>
+    <span><code>ANON</code></span>
+    <span>::=</span>
+    <span>'<code class="grammar-literal">[</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">]</code>'</span>
+  </span>
+  token allows any amount of white space and comments between <code class="grammar-literal">[]</code>s.
+  The single space version is used in the grammar for clarity.  
+       </li>
+       <li>
+  The strings '<a href="#grammar-production-prefixID"><code class="grammar-literal">@prefix</code></a>' and '<a href="#grammar-production-base"><code class="grammar-literal">@base</code></a>' match the pattern for <a href="#grammar-production-LANGTAG">LANGTAG</a>, though neither &quot;<code class="grammar-literal">prefix</code>&quot; nor &quot;<code class="grammar-literal">base</code>&quot; are <a href="http://www.iana.org/assignments/language-subtag-registry">registered language subtags</a>.
+  This specification does not define whether a quoted literal followed by either of these tokens (e.g. <code>&quot;A&quot;@base</code>) is in the Turtle language.
+       </li>
+     </ol>
+     </div>
+
+
             <div><table class="grammar">
     <tbody class="grammar-productions">
             <tr id="grammar-production-turtleDoc">
EGP SPARQL PREFIX moved around
@@ -1272,17 +1318,17 @@
     <td>::=</td>
     <td>'<code class="grammar-literal">@base</code>' <a href="#grammar-production-IRIREF">IRIREF</a> '<code class="grammar-literal">.</code>'</td>
 </tr>
-            <tr id="grammar-production-sparqlPrefix">
-    <td>[28*]</td>
-    <td><code>sparqlPrefix</code></td>
-    <td>::=</td>
-    <td>[<code class="grammar-chars">Pp</code>] [<code class="grammar-chars">Rr</code>] [<code class="grammar-chars">Ee</code>] [<code class="grammar-chars">Ff</code>] [<code class="grammar-chars">Ii</code>] [<code class="grammar-chars">Xx</code>] <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
-</tr>
             <tr id="grammar-production-sparqlBase">
-    <td>[29*]</td>
+    <td>[5s]</td>
     <td><code>sparqlBase</code></td>
     <td>::=</td>
-    <td>[<code class="grammar-chars">Bb</code>] [<code class="grammar-chars">Aa</code>] [<code class="grammar-chars">Ss</code>] [<code class="grammar-chars">Ee</code>] <a href="#grammar-production-IRIREF">IRIREF</a></td>
+    <td><span>&quot;<code class="grammar-literal">BASE</code>&quot;</span> <a href="#grammar-production-IRIREF">IRIREF</a></td>
+</tr>
+            <tr id="grammar-production-sparqlPrefix">
+    <td>[6s]</td>
+    <td><code>sparqlPrefix</code></td>
+    <td>::=</td>
+    <td><span>&quot;<code class="grammar-literal">PREFIX</code>&quot;</span> <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
 </tr>
             <tr id="grammar-production-triples">
     <td>[6]</td>
EGP production name change: s/predicateObjectList/predicateObjectList/ (needs linkcheck fixup).
@@ -1294,7 +1340,7 @@
     <td>[7]</td>
     <td><code>predicateObjectList</code></td>
     <td>::=</td>
-    <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> ('<code class="grammar-literal">;</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a>?)*</td>
+    <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> ('<code class="grammar-literal">;</code>' (<a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a>)?)<code class="grammar-star">*</code></td>
 </tr>
             <tr id="grammar-production-objectList">
     <td>[8]</td>
EGP editorial? grammar changes around bnodes and collections
@@ -1312,7 +1358,7 @@
     <td>[10]</td>
     <td><code>subject</code></td>
     <td>::=</td>
-    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-blank">blank</a></td>
+    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-BlankNode">BlankNode</a> <code>| </code> <a href="#grammar-production-collection">collection</a></td>
 </tr>
             <tr id="grammar-production-predicate">
     <td>[11]</td>
EGP editorial? grammar changes around bnodes and collections
@@ -1324,7 +1370,7 @@
     <td>[12]</td>
     <td><code>object</code></td>
     <td>::=</td>
-    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-blank">blank</a> <code>| </code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code>| </code> <a href="#grammar-production-literal">literal</a></td>
+    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-BlankNode">BlankNode</a> <code>| </code> <a href="#grammar-production-collection">collection</a> <code>| </code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code>| </code> <a href="#grammar-production-literal">literal</a></td>
 </tr>
             <tr id="grammar-production-literal">
     <td>[13]</td>
EGP editorial? grammar changes around bnodes and collections
@@ -1332,26 +1378,20 @@
     <td>::=</td>
     <td><a href="#grammar-production-RDFLiteral">RDFLiteral</a> <code>| </code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a> <code>| </code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
 </tr>
-            <tr id="grammar-production-blank">
-    <td>[14]</td>
-    <td><code>blank</code></td>
-    <td>::=</td>
-    <td><a href="#grammar-production-BlankNode">BlankNode</a> <code>| </code> <a href="#grammar-production-collection">collection</a></td>
-</tr>
             <tr id="grammar-production-blankNodePropertyList">
-    <td>[15]</td>
+    <td>[14]</td>
     <td><code>blankNodePropertyList</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a> '<code class="grammar-literal">]</code>'</td>
 </tr>
             <tr id="grammar-production-collection">
-    <td>[16]</td>
+    <td>[15]</td>
     <td><code>collection</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-object">object</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
 </tr>
             <tr id="grammar-production-NumericLiteral">
-    <td>[17]</td>
+    <td>[16]</td>
     <td><code>NumericLiteral</code></td>
     <td>::=</td>
     <td><a href="#grammar-production-INTEGER">INTEGER</a> <code>| </code> <a href="#grammar-production-DECIMAL">DECIMAL</a> <code>| </code> <a href="#grammar-production-DOUBLE">DOUBLE</a></td>
EGP production number changes
@@ -1369,7 +1409,7 @@
     <td>'<code class="grammar-literal">true</code>' <code>| </code> '<code class="grammar-literal">false</code>'</td>
 </tr>
             <tr id="grammar-production-String">
-    <td>[18]</td>
+    <td>[17]</td>
     <td><code>String</code></td>
     <td>::=</td>
     <td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
EGP oops, missed some attribute re-ordering
EGP production number changes
@@ -1393,50 +1433,50 @@
     <td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a> <code>| </code> <a href="#grammar-production-ANON">ANON</a></td>
 </tr>
 <tr><td colspan="5"><h4 id="terminals">Productions for terminals</h4></td></tr>
-            <tr id="grammar-production-IRIREF" class="grammar-token">
-    <td>[19]</td>
+            <tr class="grammar-token" id="grammar-production-IRIREF">
+    <td>[18]</td>
     <td><code>IRIREF</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">&lt;</code>' ([<code class="grammar-chars">^#x00-#x20&lt;&gt;\&quot;{}|^`\</code>] <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">&gt;</code>'</td>
 </tr>
-            <tr id="grammar-production-PNAME_NS" class="grammar-token">
+            <tr class="grammar-token" id="grammar-production-PNAME_NS">
     <td>[139s]</td>
     <td><code>PNAME_NS</code></td>
     <td>::=</td>
     <td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a>? '<code class="grammar-literal">:</code>'</td>
 </tr>
-            <tr id="grammar-production-PNAME_LN" class="grammar-token">
+            <tr class="grammar-token" id="grammar-production-PNAME_LN">
     <td>[140s]</td>
     <td><code>PNAME_LN</code></td>
     <td>::=</td>
     <td><a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a></td>
 </tr>
-            <tr id="grammar-production-BLANK_NODE_LABEL" class="grammar-token">
+            <tr class="grammar-token" id="grammar-production-BLANK_NODE_LABEL">
     <td>[141s]</td>
     <td><code>BLANK_NODE_LABEL</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">_:</code>' (<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> [<code class="grammar-chars">0-9</code>]) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>')<code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a>)?</td>
 </tr>
-            <tr id="grammar-production-LANGTAG" class="grammar-token">
+            <tr class="grammar-token" id="grammar-production-LANGTAG">
     <td>[144s]</td>
     <td><code>LANGTAG</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">@</code>' [<code class="grammar-chars">a-zA-Z</code>]<code class="grammar-plus">+</code> ('<code class="grammar-literal">-</code>' [<code class="grammar-chars">a-zA-Z0-9</code>]<code class="grammar-plus">+</code>)<code class="grammar-star">*</code></td>
 </tr>
-            <tr id="grammar-production-INTEGER" class="grammar-token">
-    <td>[20]</td>
+            <tr class="grammar-token" id="grammar-production-INTEGER">
+    <td>[19]</td>
     <td><code>INTEGER</code></td>
     <td>::=</td>
     <td>[<code class="grammar-chars">+-</code>]? [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code></td>
 </tr>
-            <tr id="grammar-production-DECIMAL" class="grammar-token">
-    <td>[21]</td>
+            <tr class="grammar-token" id="grammar-production-DECIMAL">
+    <td>[20]</td>
     <td><code>DECIMAL</code></td>
     <td>::=</td>
-    <td>[<code class="grammar-chars">+-</code>]? [<code class="grammar-chars">0-9</code>]<code class="grammar-star">*</code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code></td>
+    <td>[<code class="grammar-chars">+-</code>]? ([<code class="grammar-chars">0-9</code>]<code class="grammar-star">*</code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code>)</td>
 </tr>
             <tr id="grammar-production-DOUBLE" class="grammar-token">
-    <td>[22]</td>
+    <td>[21]</td>
     <td><code>DOUBLE</code></td>
     <td>::=</td>
     <td>[<code class="grammar-chars">+-</code>]? ([<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-star">*</code> <a href="#grammar-production-EXPONENT">EXPONENT</a> <code>| </code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a> <code>| </code> [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a>)</td>
EGP production number changes
@@ -1448,31 +1488,31 @@
     <td>[<code class="grammar-chars">eE</code>] [<code class="grammar-chars">+-</code>]? [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code></td>
 </tr>
             <tr id="grammar-production-STRING_LITERAL_QUOTE" class="grammar-token">
-    <td>[23]</td>
+    <td>[22]</td>
     <td><code>STRING_LITERAL_QUOTE</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">&quot;</code>' ([<code class="grammar-chars">^#x22#x5C#xA#xD</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">&quot;</code>'</td>
 </tr>
             <tr id="grammar-production-STRING_LITERAL_SINGLE_QUOTE" class="grammar-token">
-    <td>[24]</td>
+    <td>[23]</td>
     <td><code>STRING_LITERAL_SINGLE_QUOTE</code></td>
     <td>::=</td>
     <td>&quot;<code class="grammar-literal">'</code>&quot; ([<code class="grammar-chars">^#x27#x5C#xA#xD</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> &quot;<code class="grammar-literal">'</code>&quot;</td>
 </tr>
             <tr id="grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE" class="grammar-token">
-    <td>[25]</td>
+    <td>[24]</td>
     <td><code>STRING_LITERAL_LONG_SINGLE_QUOTE</code></td>
     <td>::=</td>
     <td>&quot;<code class="grammar-literal">'''</code>&quot; ((&quot;<code class="grammar-literal">'</code>&quot; <code>| </code> &quot;<code class="grammar-literal">''</code>&quot;)? [<code class="grammar-chars">^'\</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> &quot;<code class="grammar-literal">'''</code>&quot;</td>
 </tr>
             <tr id="grammar-production-STRING_LITERAL_LONG_QUOTE" class="grammar-token">
-    <td>[26]</td>
+    <td>[25]</td>
     <td><code>STRING_LITERAL_LONG_QUOTE</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">&quot;&quot;&quot;</code>' (('<code class="grammar-literal">&quot;</code>' <code>| </code> '<code class="grammar-literal">&quot;&quot;</code>')? [<code class="grammar-chars">^&quot;\</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">&quot;&quot;&quot;</code>'</td>
 </tr>
             <tr id="grammar-production-UCHAR" class="grammar-token">
-    <td>[27]</td>
+    <td>[26]</td>
     <td><code>UCHAR</code></td>
     <td>::=</td>
     <td>'<code class="grammar-literal">\u</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <code>| </code> '<code class="grammar-literal">\U</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
EGP removed vestigial NIL terminal
@@ -1483,12 +1523,6 @@
     <td>::=</td>
     <td>'<code class="grammar-literal">\</code>' [<code class="grammar-chars">tbnrf\&quot;'</code>]</td>
 </tr>
-            <tr id="grammar-production-NIL" class="grammar-token">
-    <td>[160s]</td>
-    <td><code>NIL</code></td>
-    <td>::=</td>
-    <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
-</tr>
             <tr id="grammar-production-WS" class="grammar-token">
     <td>[161s]</td>
     <td><code>WS</code></td>
EGP fixed broken character references in terminals
EGP ??? PN_CHARS_BASE has changed and I haven't checked it.
@@ -1505,19 +1539,19 @@
     <td>[163s]</td>
     <td><code>PN_CHARS_BASE</code></td>
     <td>::=</td>
-    <td>[<code class="grammar-chars">A-Z</code>] <code>| </code> [<code class="grammar-chars">a-z</code>] <code>| </code> [<code class="grammar-chars">#00C0-#00D6</code>] <code>| </code> [<code class="grammar-chars">#00D8-#00F6</code>] <code>| </code> [<code class="grammar-chars">#00F8-#02FF</code>] <code>| </code> [<code class="grammar-chars">#0370-#037D</code>] <code>| </code> [<code class="grammar-chars">#037F-#1FFF</code>] <code>| </code> [<code class="grammar-chars">#200C-#200D</code>] <code>| </code> [<code class="grammar-chars">#2070-#218F</code>] <code>| </code> [<code class="grammar-chars">#2C00-#2FEF</code>] <code>| </code> [<code class="grammar-chars">#3001-#D7FF</code>] <code>| </code> [<code class="grammar-chars">#F900-#FDCF</code>] <code>| </code> [<code class="grammar-chars">#FDF0-#FFFD</code>] <code>| </code> [<code class="grammar-chars">#10000-#EFFFF</code>]</td>
+    <td>[<code class="grammar-chars">A-Z</code>] <code>| </code> [<code class="grammar-chars">a-z</code>] <code>| </code> [<code class="grammar-chars">#x00C0-#x00D6</code>] <code>| </code> [<code class="grammar-chars">#x00D8-#x00F6</code>] <code>| </code> [<code class="grammar-chars">#x00F8-#x02FF</code>] <code>| </code> [<code class="grammar-chars">#x0370-#x037D</code>] <code>| </code> [<code class="grammar-chars">#x037F-#x1FFF</code>] <code>| </code> [<code class="grammar-chars">#x200C-#x200D</code>] <code>| </code> [<code class="grammar-chars">#x2070-#x218F</code>] <code>| </code> [<code class="grammar-chars">#x2C00-#x2FEF</code>] <code>| </code> [<code class="grammar-chars">#x3001-#xD7FF</code>] <code>| </code> [<code class="grammar-chars">#xF900-#xFDCF</code>] <code>| </code> [<code class="grammar-chars">#xFDF0-#xFFFD</code>] <code>| </code> [<code class="grammar-chars">#x10000-#xEFFFF</code>]</td>
 </tr>
             <tr id="grammar-production-PN_CHARS_U" class="grammar-token">
     <td>[164s]</td>
     <td><code>PN_CHARS_U</code></td>
     <td>::=</td>
-    <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code>| </code> '<code class="grammar-literal">_</code>' <code>| </code> '<code class="grammar-literal">:</code>'</td>
+    <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code>| </code> '<code class="grammar-literal">_</code>'</td>
 </tr>
             <tr id="grammar-production-PN_CHARS" class="grammar-token">
     <td>[166s]</td>
     <td><code>PN_CHARS</code></td>
     <td>::=</td>
-    <td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> '<code class="grammar-literal">-</code>' <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <code class="grammar-char-escape">#00B7</code> <code>| </code> [<code class="grammar-chars">#0300-#036F</code>] <code>| </code> [<code class="grammar-chars">#203F-#2040</code>]</td>
+    <td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> '<code class="grammar-literal">-</code>' <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <code class="grammar-char-escape">#x00B7</code> <code>| </code> [<code class="grammar-chars">#x0300-#x036F</code>] <code>| </code> [<code class="grammar-chars">#x203F-#x2040</code>]</td>
 </tr>
             <tr id="grammar-production-PN_PREFIX" class="grammar-token">
     <td>[167s]</td>
EGP ??? extra parens -- need to check
@@ -1529,7 +1563,7 @@
     <td>[168s]</td>
     <td><code>PN_LOCAL</code></td>
     <td>::=</td>
-    <td>(<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <a href="#grammar-production-PLX">PLX</a>) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>' <code>| </code> <a href="#grammar-production-PLX">PLX</a>)<code class="grammar-star">*</code> (<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> <a href="#grammar-production-PLX">PLX</a>))?</td>
+    <td>(<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <a href="#grammar-production-PLX">PLX</a>) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>' <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> <a href="#grammar-production-PLX">PLX</a>)<code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> <a href="#grammar-production-PLX">PLX</a>)?</td>
 </tr>
             <tr id="grammar-production-PLX" class="grammar-token">
     <td>[169s]</td>
EGP + BCP47 normative reference
@@ -1568,10 +1602,10 @@
           <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">IRIs</a>,
           <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">literals</a> and
           <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">blank nodes</a>.
-          Literals are composed of a <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">lexical form</a> and an optional <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tag">language tag</a> or datatype IRI.
+          Literals are composed of a <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">lexical form</a> and an optional <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tag">language tag</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-BCP47">BCP47</a></cite>] or datatype IRI.
           An extra type, <code id="prefix" class="dfn">prefix</code>, is used during parsing to map string identifiers to namespace IRIs.
 
-          This section maps a string conforming to the grammar in <a href="#sec-grammar-grammar" class="sectionRef">section 6.5 Grammar</a> to a set of triples by mapping strings matching productions and lexical tokens to <abbr title="Resource Description Framework">RDF</abbr> terms or their components (e.g. language tags, lexical forms of literals). Some productions change the parser state (base or prefix declarations).</p>
+          This section maps a string conforming to the grammar in <a href="#sec-grammar-grammar" class="sectionRef">section 6.5 Grammar</a> to a set of triples by mapping strings matching productions and lexical tokens to <abbr title="Resource Description Framework">RDF</abbr> terms or their components (e.g. language tags, lexical forms of literals). Grammar productions change the parser state and emit triples.</p>
           <div id="sec-parsing-state" typeof="bibo:Chapter" resource="#sec-parsing-state" rel="bibo:chapter" class="section">
           <h3><span class="secno">7.1 </span>Parser State</h3>
 
EGP overhaul of parsing semantics
@@ -1601,56 +1635,56 @@
               <tr>                                  <th>                                                                       production               </th><th>                                                                                       type            </th><th>procedure</th></tr>
                 </thead>
                 <tbody>
-              <tr id="handle-IRIREF"><td><a class="type IRI" href="#grammar-production-IRIREF">IRIREF              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>The characters between &quot;&lt;&quot; and &quot;&gt;&quot; are <a href="#unescape">unescaped¹</a> to form the unicode string of the IRI. Relative IRI resolution is performed per <a href="#sec-iri-references" class="sectionRef">section 6.3 IRI References</a>.</td></tr>
-              <tr id="handle-PNAME_NS"><td><a class="type string" href="#grammar-production-PNAME_NS">PNAME_NS             </a></td><td><a href="#prefix">                                                                     prefix      </a></td><td>The potentially empty unicode string matching the first argument of the rule is a key into the <a href="#namespaces">namespaces map</a>.</td></tr>
-              <tr id="handle-PNAME_LN"><td><a class="type IRI" href="#grammar-production-PNAME_LN">PNAME_LN             </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>A <a href="#prefix">prefix</a> is identified by the first argument, <code>PNAME_NS</code>. The <a href="#namespaces">namespaces map</a> has a corresponding <code>namespace</code>. The unicode string of the IRI is formed by concatenating this <code>namespace</code> and the second argument, <code>PN_LOCAL</code>.</td></tr>
-              <tr id="handle-STRING_LITERAL_SINGLE_QUOTE"><td><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE      </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost &quot;'&quot;s are <a href="#unescape">unescaped¹</a> to form the unicode string of a lexical form.</td></tr>
-              <tr id="handle-STRING_LITERAL_QUOTE"><td><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE      </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost '&quot;'s are <a href="#unescape">unescaped¹</a> to form the unicode string of a lexical form.</td></tr>
-              <tr id="handle-STRING_LITERAL_LONG_SINGLE_QUOTE"><td><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost &quot;'''&quot;s are <a href="#unescape">unescaped¹</a> to form the unicode string of a lexical form.</td></tr>
-              <tr id="handle-STRING_LITERAL_LONG_QUOTE"><td><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost '&quot;&quot;&quot;'s are <a href="#unescape">unescaped¹</a> to form the unicode string of a lexical form.</td></tr>
-              <tr id="handle-LANGTAG"><td><a class="type langTag" href="#grammar-production-LANGTAG">LANGTAG              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tag">language tag</a></td><td>The characters following the &quot;@&quot; form the unicode string of the language tag.</td></tr>
-              <tr id="handle-RDFLiteral"><td><a class="type literal" href="#grammar-production-RDFLiteral">RDFLiteral           </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the first rule argument (<code>String</code>) and either a language tag of <code>LANGTAG</code> or a datatype IRI of <code>iri</code>, depending on which rule matched the input. if neither a language tag nor a datatype IRI is provided, the literal has a datatype of xsd:string.</td></tr>
-              <tr id="handle-INTEGER"><td><a class="type integer" href="#grammar-production-INTEGER">INTEGER              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of xsd:integer.</td></tr>
-              <tr id="handle-DECIMAL"><td><a class="type decimal" href="#grammar-production-DECIMAL">DECIMAL              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of xsd:decimal.</td></tr>
-              <tr id="handle-DOUBLE"><td><a class="type double" href="#grammar-production-DOUBLE">DOUBLE               </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of xsd:double.</td></tr>
-              <tr id="handle-BooleanLiteral"><td><a class="type boolean" href="#grammar-production-BooleanLiteral">BooleanLiteral       </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the &quot;true&quot; or &quot;false&quot;, depending on which matched the input, and a datatype of xsd:boolean.</td></tr>
-              <tr id="handle-BLANK_NODE_LABEL"><td><a class="type bNode" href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL     </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>The string matching the second argument, <code>PN_LOCAL</code>, is a key in <a href="#bnodeLabels">bnodeLabels</a>. If there is no corresponding blank node in the map, one is allocated.</td></tr>
-              <tr id="handle-ANON"><td><a class="type bNode" href="#grammar-production-ANON">ANON                 </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>A blank node is generated.</td></tr>
-              <tr id="handle-blankNodePropertyList"><td><a class="type bNode" href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>A blank node is generated. Note the rules for <code>blankNodePropertyList</code> in the next section.</td></tr>
-              <tr id="handle-collection"><td><a class="type bNode" href="#grammar-production-collection">collection           </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>A blank node is generated. Note the rules for <code>collection</code> in the next section.</td></tr>
+              <tr id="handle-IRIREF"><td style="text-align:left;"><a href="#grammar-production-IRIREF" class="type IRI">IRIREF               </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>The characters between &quot;&lt;&quot; and &quot;&gt;&quot; are taken, with the <a href="#numeric">numeric escape sequences</a> unescaped, to form the unicode string of the IRI. Relative IRI resolution is performed per <a class="sectionRef" href="#sec-iri-references">section 6.3 IRI References</a>.</td></tr>
+              <tr id="handle-PNAME_NS"><td rowspan="2" style="text-align:left;"><a href="#grammar-production-PNAME_NS" class="type string">PNAME_NS             </a></td><td><a href="#prefix">                                 prefix      </a></td><td>When used in a <a href="#grammar-production-prefixID">prefixID</a> or <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> production, the <code>prefix</code> is the potentially empty unicode string matching the first argument of the rule is a key into the <a href="#namespaces">namespaces map</a>.</td></tr>
+              <tr id="handle-PNAME_NS">                                                                                                                                        <td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>When used in a <a href="#grammar-production-PrefixedName">PrefixedName</a> production, the <code>iri</code> is the value in the <a href="#namespaces">namespaces map</a> corresponding to the first argument of the rule.</td></tr>
+              <tr id="handle-PNAME_LN"><td style="text-align:left;"><a href="#grammar-production-PNAME_LN" class="type IRI">PNAME_LN             </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>A potentially empty <a href="#prefix">prefix</a> is identified by the first sequence, <code>PNAME_NS</code>. The <a href="#namespaces">namespaces map</a> <em class="rfc2119"><em class="rfc2119" title="must">must</em></em> have a corresponding <code>namespace</code>. The unicode string of the IRI is formed by unescaping the <a href="#reserved">reserved characters</a> in the second argument, <code>PN_LOCAL</code>, and concatenating this onto the <code>namespace</code>.</td></tr>
+              
+<!--  tr id="handle-PrefixedName"><td style="text-align:left;"><a class="type IRI"         href="#grammar-production-PrefixedName"         >PrefixedName         </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">      IRI         </a></td><td>.</td></tr  -->
+
+              <tr id="handle-STRING_LITERAL_SINGLE_QUOTE"><td style="text-align:left;"><a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE" class="type lexicalForm">STRING_LITERAL_SINGLE_QUOTE      </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost &quot;'&quot;s   are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
+              <tr id="handle-STRING_LITERAL_QUOTE"><td style="text-align:left;"><a href="#grammar-production-STRING_LITERAL_QUOTE" class="type lexicalForm">STRING_LITERAL_QUOTE      </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost '&quot;'s   are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
+              <tr id="handle-STRING_LITERAL_LONG_SINGLE_QUOTE"><td style="text-align:left;"><a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE" class="type lexicalForm">STRING_LITERAL_LONG_SINGLE_QUOTE </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost &quot;'''&quot;s are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
+              <tr id="handle-STRING_LITERAL_LONG_QUOTE"><td style="text-align:left;"><a href="#grammar-production-STRING_LITERAL_LONG_QUOTE" class="type lexicalForm">STRING_LITERAL_LONG_QUOTE </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-lexical-form">                         lexical form</a></td><td>The characters between the outermost '&quot;&quot;&quot;'s are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
+              <tr id="handle-LANGTAG"><td style="text-align:left;"><a href="#grammar-production-LANGTAG" class="type langTag">LANGTAG              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-language-tag">language tag</a></td><td>The characters following the <code>@</code> form the unicode string of the language tag.</td></tr>
+              <tr id="handle-RDFLiteral"><td style="text-align:left;"><a href="#grammar-production-RDFLiteral" class="type literal">RDFLiteral           </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the first rule argument, <code>String</code>, and either a language tag of <code>LANGTAG</code> or a datatype IRI of <code>iri</code>, depending on which rule matched the input. if neither a language tag nor a datatype IRI is provided, the literal has a datatype of <code>xsd:string</code>.</td></tr>
+              <tr id="handle-INTEGER"><td style="text-align:left;"><a href="#grammar-production-INTEGER" class="type integer">INTEGER              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of <code>xsd:integer</code>.</td></tr>
+              <tr id="handle-DECIMAL"><td style="text-align:left;"><a href="#grammar-production-DECIMAL" class="type decimal">DECIMAL              </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of <code>xsd:decimal</code>.</td></tr>
+              <tr id="handle-DOUBLE"><td style="text-align:left;"><a href="#grammar-production-DOUBLE" class="type double">DOUBLE               </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the input string, and a datatype of <code>xsd:double</code>.</td></tr>
+              <tr id="handle-BooleanLiteral"><td style="text-align:left;"><a href="#grammar-production-BooleanLiteral" class="type boolean">BooleanLiteral       </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-literal">            literal     </a></td><td>The literal has a lexical form of the <code>true</code> or <code>false</code>, depending on which matched the input, and a datatype of <code>xsd:boolean</code>.</td></tr>
+              <tr id="handle-BLANK_NODE_LABEL"><td style="text-align:left;"><a href="#grammar-production-BLANK_NODE_LABEL" class="type bNode">BLANK_NODE_LABEL     </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>The string matching the second argument, <code>PN_LOCAL</code>, is a key in <a href="#bnodeLabels">bnodeLabels</a>. If there is no corresponding blank node in the map, one is allocated.</td></tr>
+              <tr id="handle-ANON"><td style="text-align:left;"><a href="#grammar-production-ANON" class="type bNode">ANON                 </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>A blank node is generated.</td></tr>
+              <tr id="handle-blankNodePropertyList"><td style="text-align:left;"><a href="#grammar-production-blankNodePropertyList" class="type bNode">blankNodePropertyList</a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>A blank node is generated. Note the rules for <code>blankNodePropertyList</code> in the next section.</td></tr>
+              <tr id="handle-collection"><td rowspan="2" style="text-align:left;"><a href="#grammar-production-collection" class="type bNode">collection           </a></td><td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-blank-node">         blank node  </a></td><td>For non-empty lists, a blank node is generated. Note the rules for <code>collection</code> in the next section.</td></tr>
+              <tr id="handle-collection">                                                                                                                                                    <td><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-iri">         IRI         </a></td><td>For empty lists, the resulting IRI is <code>rdf:nil</code>. Note the rules for <code>collection</code> in the next section.</td></tr>
                 </tbody>
               </table>
 
-              <p><a id="unescape">¹</a> <a href="#sec-escapes" class="sectionRef">section 6.4 Escape Sequences</a> defines a mapping from <code>escaped unicode strings</code> to <code>unicode strings</code>. The following lexical tokens are unescaped to produce <code>unicode strings</code>: <a class="type IRI" href="#grammar-production-IRIREF">IRIREF</a>, 
-<!--  <a class="type PNAME_NS" href="#grammar-production-PNAME_NS">PNAME_NS</a>,  -->
-
-<!--  <a class="type IRI"          href="#grammar-production-PNAME_LN">PNAME_LN</a>,  -->
-<a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a>, <a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a>, <a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> and <a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a>
-<!--  and <a class="type langTag"      href="#grammar-production-LANGTAG">LANGTAG</a>  -->
-
-<!--  and <a class="type bNode"        href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a>  -->
-.</p>
           </div>
           <div id="sec-parsing-triples" typeof="bibo:Chapter" resource="#sec-parsing-triples" rel="bibo:chapter" class="section">
           <h3><span class="secno">7.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Constructors</h3>
-              <p>A Turtle document defines an <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-rdf-graph"><abbr title="Resource Description Framework">RDF</abbr> graph</a> composed of set of <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-rdf-triple"><abbr title="Resource Description Framework">RDF</abbr> triple</a>s.
-          Each <a tabindex="30" class="grammarRef" href="#grammar-production-object">object</a> <code>N</code> in the document produces an <abbr title="Resource Description Framework">RDF</abbr> triple: <span class="ntriple"><code class="curSubject">curSubject</code> <code class="curPredicate">curPredicate</code> <code>N</code> .</span>
-
+              <p>
+  A Turtle document defines an <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-rdf-graph"><abbr title="Resource Description Framework">RDF</abbr> graph</a> composed of set of <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/#dfn-rdf-triple"><abbr title="Resource Description Framework">RDF</abbr> triple</a>s.
+  The <code><a href="#grammar-production-subject">subject</a></code> production sets the <code class="curSubject">curSubject</code>.
+  The <code><a href="#grammar-production-verb">verb</a></code> production sets the <code class="curPredicate">curPredicate</code>.
+  Each <a tabindex="30" class="grammarRef" href="#grammar-production-object">object</a> <code>N</code> in the document produces an <abbr title="Resource Description Framework">RDF</abbr> triple: <span class="ntriple"><code class="curSubject">curSubject</code> <code class="curPredicate">curPredicate</code> <code>N</code> .</span>
           </p>
 
-          <p>
+   <h4 style="padding-bottom:0; margin-bottom:0;" id="propertyList"><span>Property Lists:</span></h4>
+          <p style="padding-top:0; margin-top:0;">
           Beginning the <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> production records the <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>, and sets <code class="curSubject">curSubject</code> to a novel <code>blank node</code> <code>B</code>.
           Finishing the <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> production restores <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>.
           The node produced by matching <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> is the blank node <code>B</code>.
 
           </p>
 
-          <p>
-          Beginning the <code><a href="#grammar-production-collection">collection</a></code> production records the <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>, sets <code class="curSubject">curSubject</code> to a novel <code>blank node</code> <code>B<sub>head</sub></code> and sets <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code> to <code>B<sub>head</sub></code> and <code>rdf:first</code> respectively.
-          Each object <code>object</code> in <code><a href="#grammar-production-collection">collection</a></code> allocates a novel <code>blank node</code> <code>B<sub>n</sub></code>, creates an additional triple <span class="ntriple"><code>curSubject rdf:rest B<sub>n</sub></code> .</span> and sets <code>curSubject</code> to <code>B<sub>n</sub></code>.
+   <h4 style="padding-bottom:0; margin-bottom:0;" id="collection"><span>Collections:</span></h4>
+          <p style="padding-top:0; margin-top:0;">
+          Beginning the <code><a href="#grammar-production-collection">collection</a></code> production records the <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>.
+   Each <code>object</code> in the <code><a href="#grammar-production-collection">collection</a></code> production has a <code class="curSubject">curSubject</code> set to a novel <code>blank node</code> <code>B</code> and a <code class="curPredicate">curPredicate</code> set to <code>rdf:first</code>.
+          For each object <code>object<sub>n</sub></code> after the first produces a triple:<span class="ntriple"><code>object<sub>n-1</sub></code> <code>rdf:rest</code> <code>object<sub>n</sub></code> .</span>
           Finishing the <code><a href="#grammar-production-collection">collection</a></code> production creates an additional triple <span class="ntriple"><code>curSubject rdf:rest rdf:nil</code> .</span> and restores <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>
-
-          The node produced by matching <code><a href="#grammar-production-collection">collection</a></code> is the blank node <code>B<sub>head</sub></code>.
+          The node produced by matching <code><a href="#grammar-production-collection">collection</a></code> is the first blank node <code>B</code> for non-empty lists and <code>rdf:nil</code> for empty lists.
           </p>
           </div>
           <div id="sec-parsing-example" class="informative section" typeof="bibo:Chapter" resource="#sec-parsing-example" rel="bibo:chapter">
EGP editorial fixup
@@ -1717,7 +1751,7 @@
         <div class="informative section" id="xhtml" typeof="bibo:Chapter" resource="#xhtml" rel="bibo:chapter">
           <h3><span class="secno">A.1 </span>XHTML</h3><p><em>This section is non-normative.</em></p>
           <p>
-          Like JavaScript, Turtle authored for HTML (<code>text/html</code>) can break when used in an XHTML 
+          Like JavaScript, Turtle authored for HTML (<code>text/html</code>) can break when used in XHTML 
           (<code>application/xhtml+xml</code>). The solution is the same one used for JavaScript.
           </p>
         <pre class="example">&lt;script type=&quot;text/turtle&quot;&gt;
EGP code point/character fixups
@@ -1768,7 +1802,7 @@
 
           <dt>Encoding considerations:</dt>
           <dd>The syntax of Turtle is expressed over code points in Unicode [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>]. The encoding is always UTF-8 [<cite><a class="bibref" rel="biblioentry" href="#bib-UTF-8">UTF-8</a></cite>].</dd>
-          <dd>Unicode code points may also be expressed using an \uXXXX (U+0 to U+FFFF) or \UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-Fa-f]</dd>
+          <dd>Unicode code points may also be expressed using an \uXXXX (U+0000 to U+FFFF) or \UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-Fa-f]</dd>
           <dt>Security considerations:</dt>
           <dd>Turtle is a general-purpose assertion language; applications may evaluate given data to infer more assertions or to dereference IRIs, invoking the security considerations of the scheme for that IRI. Note in particular, the privacy issues in [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3023">RFC3023</a></cite>] section 10 for HTTP IRIs. Data obtained from an inaccurate or malicious data source may lead to inaccurate or misleading conclusions, as well as the dereferencing of unintended IRIs. Care must be taken to align the trust in consulted resources with the sensitivity of the intended use of the data; inferences of potential medical treatments would likely require different trust than inferences for trip planning.</dd>
 
??? broken refs to 3986?
@@ -1797,7 +1831,7 @@
 <!-- @@ no security considerations section at this time. @@
     See Turtle - Terse RDF Triple Language appendix X, <a href="#security">Security Considerations</a> 
         as well as <a class="norm" href="http://www.ietf.org/rfc/rfc3629.txt">RFC 3629</a> 
-        [<a href="#bib-RFC3629">RFC3629</a>] section 7, Security Considerations.  -->
+        [<a href="#rfc3629">RFC3629</a>] section 7, Security Considerations.  -->
 </dd>
 
           <dt>Interoperability considerations:</dt>
EGP updated refs to HTML5, new ref to BCP47
@@ -1895,14 +1929,15 @@
 
 
 
-<div id="references" class="appendix section" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><h2><span class="secno">E </span>References</h2><div id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter" class="section"><h3><span class="secno">E.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-EBNF-NOTATION">[EBNF-NOTATION]</dt><dd rel="dcterms:requires">Tim Bray; Jean Paoli; C. M. Sperberg-McQueen; Eve Maler; François Yergeau. <a href="http://www.w3.org/TR/REC-xml/#sec-notation"><cite>EBNF Notation</cite></a> 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/REC-xml/#sec-notation">http://www.w3.org/TR/REC-xml/#sec-notation</a> 
-</dd><dt id="bib-HTML5">[HTML5]</dt><dd rel="dcterms:requires">Ian Hickson; David Hyatt. <a href="http://www.w3.org/TR/html5"><cite>HTML5.</cite></a> 29 March 2012. W3C Working Draft. (Work in progress.) URL: <a href="http://www.w3.org/TR/html5">http://www.w3.org/TR/html5</a> 
+<div id="references" class="appendix section" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><h2><span class="secno">E </span>References</h2><div id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter" class="section"><h3><span class="secno">E.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:requires">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a> September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a> 
+</dd><dt id="bib-EBNF-NOTATION">[EBNF-NOTATION]</dt><dd rel="dcterms:requires">Tim Bray; Jean Paoli; C. M. Sperberg-McQueen; Eve Maler; François Yergeau. <a href="http://www.w3.org/TR/REC-xml/#sec-notation"><cite>EBNF Notation</cite></a> 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/REC-xml/#sec-notation">http://www.w3.org/TR/REC-xml/#sec-notation</a> 
+</dd><dt id="bib-HTML5">[HTML5]</dt><dd rel="dcterms:requires">Ian Hickson; David Hyatt. <a href="http://www.w3.org/TR/html5"><cite>HTML5.</cite></a> 25 October 2012. W3C Working Draft. (Work in progress.) URL: <a href="http://www.w3.org/TR/2012/WD-html5-20121025/">http://www.w3.org/TR/2012/WD-html5-20121025/</a> 
 </dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd rel="dcterms:requires">Graham Klyne; Jeremy J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a> 
 </dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">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-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</cite></a> January 2001. Internet RFC 3023. URL: <a href="http://www.ietf.org/rfc/rfc3023.txt">http://www.ietf.org/rfc/rfc3023.txt</a> 
 </dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:requires">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> 
 </dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:requires">M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs).</cite></a> January 2005. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> 
-</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires">The Unicode Consortium. <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html"><cite>The Unicode Standard.</cite></a> 2003. Defined by: The Unicode Standard, Version 4.0 (Boston, MA, Addison-Wesley, ISBN 0-321-18578-1), as updated from time to time by the publication of new versions URL: <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html">http://www.unicode.org/unicode/standard/versions/enumeratedversions.html</a> 
+</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires">The Unicode Consortium. <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html"><cite>The Unicode Standard.</cite></a>. Defined by: The Unicode Standard, Version 6.2.0, (Mountain View, CA: The Unicode Consortium, 2012. ISBN 978-1-936213-07-8) , as updated from time to time by the publication of new versions URL: <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html">http://www.unicode.org/unicode/standard/versions/enumeratedversions.html</a> 
 </dd><dt id="bib-UTF-8">[UTF-8]</dt><dd rel="dcterms:requires">F. Yergeau. <a href="http://www.ietf.org/rfc/rfc3629.txt"><cite>UTF-8, a transformation format of ISO 10646</cite></a>. IETF RFC 3629. November 2003. URL: <a href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a>
 </dd></dl></div><div id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter" class="section"><h3><span class="secno">E.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-RDF-MT">[RDF-MT]</dt><dd rel="dcterms:references">Patrick Hayes. <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210"><cite>RDF Semantics.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210">http://www.w3.org/TR/2004/REC-rdf-mt-20040210</a> 
 </dd><dt id="bib-RDF-SPARQL-QUERY">[RDF-SPARQL-QUERY]</dt><dd rel="dcterms:references">Andy Seaborne; Eric Prud'hommeaux. <a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115"><cite>SPARQL Query Language for RDF.</cite></a> 15 January 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115">http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115</a> 

Received on Wednesday, 11 December 2013 15:34:33 UTC