Simplified TODL BNF

Re: http://www.w3.org/2002/03/todl/

This a modified version of the BNF with the goal that TODL documents should
be canonicalized as much as possible. The only options left are ordering of
triples (which can be canonicalized easily with the UNIX command `sort`) and
cr vs. lf vs. crlf (which most things should ignore).

I couldn't decide on whether to replace s/p/o with a simple repetition of
identifier. Is there some reason your broke them up like that?
 - Aaron

Removed: comments, blank lines, extra whitespace (replaced with single
space), bNodes

<table border="0">
  <tbody>
    <tr align="left">
      <td><a name="document" id="document">document</a></td>
      <td>::=</td>
      <td>( <a href="#triple">triple</a> <a href="#eoln">eoln</a> )*</td>
    </tr>
    <tr align="left">
      <td><a name="triple" id="triple">triple</a></td>
      <td>::=</td>
      <td><a href="#subject">subject</a> <a href="#space">space</a> <a
        href="#predicate">predicate</a> <a href="#space">space</a> <a
        href="#object">object</a> <a href="#space">space</a> '.' </td>
    </tr>
    <tr align="left">
      <td><a name="subject" id="subject">subject</a></td>
      <td>::=</td>
      <td><a href="#identifier">identifier</a></td>
    </tr>
    <tr align="left">
      <td><a name="predicate" id="predicate">predicate</a></td>
      <td>::=</td>
      <td><a href="#identifier">identifier</a></td>
    </tr>
    <tr align="left">
      <td><a name="object" id="object">object</a></td>
      <td>::=</td>
      <td><a href="#identifier">identifier</a></td>
    </tr>
    <tr align="left">
      <td><a name="identifier" id="identifier">identifier</a></td>
      <td>::=</td>
      <td><a href="#uriref">uriref</a> | <a href="#literal">literal</a></td>
    </tr>
    <tr align="left">
      <td><a name="uriref" id="uriref">uriref</a></td>
      <td>::=</td>
      <td>'&lt;' <a href="#absoluteURI">absoluteURI</a> '&gt;'</td>
    </tr>
    <tr align="left">
      <td><a name="literal" id="literal">literal</a></td>
      <td>::=</td>
      <td>'"' <a href="#string">string</a> '"'</td>
    </tr>
    <tr align="left">
      <td><a name="eoln" id="eoln">eoln</a></td>
      <td>::=</td>
      <td><a href="#cr">cr</a> | <a href="#lf">lf</a> | <a href="#cr">cr</a>
        <a href="#lf">lf</a></td>
    </tr>
    <tr align="left">
      <td><a name="space" id="space">space</a></td>
      <td>::=</td>
      <td>#x20 /* US-ASCII space - decimal 32 */</td>
    </tr>
    <tr align="left">
      <td><a name="cr" id="cr">cr</a></td>
      <td>::=</td>
      <td>#xD /* US-ASCII carriage return - decimal 13 */</td>
    </tr>
    <tr align="left">
      <td><a name="lf" id="lf">lf</a></td>
      <td>::=</td>
      <td>#xA /* US-ASCII linefeed - decimal 10 */</td>
    </tr>
    <tr align="left">
      <td><a name="string" id="string">string</a></td>
      <td>::=</td>
      <td><a href="#character">character</a>* with escapes as defined in
        section <a href="#ntrip_strings">Strings</a></td>
    </tr>
    <tr align="left">
      <td><a name="absoluteURI" id="absoluteURI">absoluteURI</a></td>
      <td>::=</td>
      <td><a href="#character">character</a>+ with escapes as defined in
        section <a href="#sec-uri-encoding">URI References</a></td>
    </tr>
    <tr align="left">
      <td><a name="character" id="character">character</a></td>
      <td>::=</td>
      <td>[#x20-#x7E] /* US-ASCII <a href="#space">space</a> to decimal 127
      */</td>
    </tr>
  </tbody>
</table>

Received on Sunday, 5 May 2002 12:32:21 UTC