Fix bug allowing : in prefix part of Prefix names.
authorGavin Carothers <gavin@carothers.name>
Tue, 17 Jul 2012 12:47:17 -0700
changeset 495 8696fed4b494
parent 494 eb58ad4b9f12
child 496 38cb2b5cf30a
Fix bug allowing : in prefix part of Prefix names.

Per http://lists.w3.org/Archives/Public/public-rdf-wg/2012Jul/0030.html thanks Mathias!
rdf-turtle/turtle-bnf.html
rdf-turtle/turtle.bnf
--- a/rdf-turtle/turtle-bnf.html	Tue Jul 17 12:46:09 2012 -0700
+++ b/rdf-turtle/turtle-bnf.html	Tue Jul 17 12:47:17 2012 -0700
@@ -265,11 +265,11 @@
     <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>
 </tr>
-            <tr id="grammar-production-PN_CHARS_U" data-grammar-original="[164s] PN_CHARS_U  ::=  PN_CHARS_BASE| &#x27;_&#x27;| &#x27;:&#x27;" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS_BASE&#x27;), (&quot;&#x27;&quot;, &#x27;_&#x27;), (&quot;&#x27;&quot;, &#x27;:&#x27;)])" class='grammar-token'>
+            <tr id="grammar-production-PN_CHARS_U" data-grammar-original="[164s] PN_CHARS_U  ::=  PN_CHARS_BASE| &#x27;_&#x27;" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS_BASE&#x27;), (&quot;&#x27;&quot;, &#x27;_&#x27;)])" 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" data-grammar-original="[166s] PN_CHARS ::= PN_CHARS_U| &quot;-&quot;| [0-9]| #00B7| [#0300-#036F]| [#203F-#2040]" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS_U&#x27;), (&quot;&#x27;&quot;, &#x27;-&#x27;), (&#x27;[&#x27;, &#x27;0-9&#x27;), (&#x27;#&#x27;, &#x27;#00B7&#x27;), (&#x27;[&#x27;, &#x27;#0300-#036F&#x27;), (&#x27;[&#x27;, &#x27;#203F-#2040&#x27;)])" class='grammar-token'>
     <td>[166s]</td>
@@ -283,11 +283,11 @@
     <td>::=</td>
     <td><a href='#grammar-production-PN_CHARS_BASE'>PN_CHARS_BASE</a> ((<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-PN_LOCAL" data-grammar-original="[168s] PN_LOCAL ::= ( PN_CHARS_U | [0-9] | PLX ) ( ( PN_CHARS | &#x27;.&#x27; | PLX )*  ( PN_CHARS | PLX ) ) ?" data-grammar-expression="(&#x27;,&#x27;, [(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS_U&#x27;), (&#x27;[&#x27;, &#x27;0-9&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)]), (&#x27;?&#x27;, (&#x27;,&#x27;, [(&#x27;*&#x27;, (&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS&#x27;), (&quot;&#x27;&quot;, &#x27;.&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)])), (&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)])]))])" class='grammar-token'>
+            <tr id="grammar-production-PN_LOCAL" data-grammar-original="[168s] PN_LOCAL ::= ( PN_CHARS_U | &#x27;:&#x27; | [0-9] | PLX ) ( ( PN_CHARS | &#x27;.&#x27; | &#x27;:&#x27; | PLX )*  ( PN_CHARS | &#x27;:&#x27; | PLX ) ) ?" data-grammar-expression="(&#x27;,&#x27;, [(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS_U&#x27;), (&quot;&#x27;&quot;, &#x27;:&#x27;), (&#x27;[&#x27;, &#x27;0-9&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)]), (&#x27;?&#x27;, (&#x27;,&#x27;, [(&#x27;*&#x27;, (&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS&#x27;), (&quot;&#x27;&quot;, &#x27;.&#x27;), (&quot;&#x27;&quot;, &#x27;:&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)])), (&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PN_CHARS&#x27;), (&quot;&#x27;&quot;, &#x27;:&#x27;), (&#x27;id&#x27;, &#x27;PLX&#x27;)])]))])" class='grammar-token'>
     <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" data-grammar-original="[169s] PLX ::= PERCENT | PN_LOCAL_ESC" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;PERCENT&#x27;), (&#x27;id&#x27;, &#x27;PN_LOCAL_ESC&#x27;)])" class='grammar-token'>
     <td>[169s]</td>
--- a/rdf-turtle/turtle.bnf	Tue Jul 17 12:46:09 2012 -0700
+++ b/rdf-turtle/turtle.bnf	Tue Jul 17 12:47:17 2012 -0700
@@ -107,7 +107,6 @@
  | [#10000-#EFFFF] 
 [164s] PN_CHARS_U  ::=  PN_CHARS_BASE 
  | '_' 
- | ':'
 [166s] PN_CHARS ::= PN_CHARS_U 
  | "-" 
  | [0-9] 
@@ -116,7 +115,7 @@
  | [#203F-#2040] 
 [167s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )? 
  
-[168s] PN_LOCAL ::= ( PN_CHARS_U | [0-9] | PLX ) ( ( PN_CHARS | '.' | PLX )*  ( PN_CHARS | PLX ) ) ?
+[168s] PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )*  ( PN_CHARS | ':' | PLX ) ) ?
 
 [169s] PLX ::= PERCENT | PN_LOCAL_ESC