--- a/rdf-concepts/index.html Wed Dec 04 09:16:33 2013 -0800
+++ b/rdf-concepts/index.html Wed Dec 04 18:34:40 2013 +0100
@@ -111,6 +111,7 @@
<style type="text/css">
figure { text-align: center; }
table td, table th { border: 1px solid #ddd; padding: 0.2em 0.5em; }
+ ol ol { list-style-type: lower-latin; }
</style>
</head>
@@ -615,89 +616,86 @@
<section id="section-Graph-Literal">
<h2>Literals</h2>
- <p>Literals are used for values such as strings, numbers and dates.</p>
+ <p>Literals are used for values such as strings, numbers, and dates.</p>
<p>A <dfn>literal</dfn> in an <a>RDF graph</a> consists of two or three
- elements:</p>
+ elements:</p>
<ul>
- <li>a <dfn>lexical form</dfn>, being a Unicode [[!UNICODE]] string,
- which SHOULD be in Normal Form C [[!NFC]],</li>
- <li>a <dfn>datatype IRI</dfn>, being an <a title="IRI">IRI</a> identifying a
- datatype that determines how the lexical form maps to a
- <a>literal value</a>.</li>
- </ul>
-
- <p>A literal is a <dfn>language-tagged string</dfn> if and only if its
- <a>datatype IRI</a> is
- <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</code>
- and the third element is present:</p>
-
- <ul>
- <li>a non-empty <dfn>language tag</dfn> as defined by [[!BCP47]].
- The language tag MUST be well-formed according to
- <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9</a>
- of [[!BCP47]]. Lexical representations of language tags MAY be converted to
- lower case. The value space of language tags is always in lower case.</li>
- <li>A badly formed language tag MUST be treated as a syntax error.</li>
+ <li>a <dfn>lexical form</dfn>, being a Unicode [[!UNICODE]] string,
+ which SHOULD be in Normal Form C [[!NFC]],</li>
+ <li>a <dfn>datatype IRI</dfn>, being an <a title="IRI">IRI</a>
+ identifying a datatype that determines how the lexical form maps
+ to a <a>literal value</a>, and</li>
+ <li>if and only if the <a>datatype IRI</a> is
+ <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</code>, a
+ non-empty <dfn>language tag</dfn> as defined by [[!BCP47]]. The
+ language tag MUST be well-formed according to
+ <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9</a>
+ of [[!BCP47]].</li>
</ul>
- <p class="note" id="note-language-tag-regex">
- Implementors might wish to note that language tags conform to the
- regular expression <code>’@’ [a-zA-Z]{1,8} (’-’
- [a-zA-Z0-9]{1,8})*</code>
- before normalizing to lowercase.</p>
-
- <p>Multiple literals may have the same lexical form.</p>
+ <p>A literal is a <dfn>language-tagged string</dfn> if the third element
+ is present. Lexical representations of language tags MAY be converted
+ to lower case. The value space of language tags is always in lower
+ case.</p>
- <p>Concrete syntaxes MAY support <dfn title="simple literal">simple
- literals</dfn>, consisting of only a <a>lexical form</a>
- without any datatype IRI or language tag. Simple literals only
- exist in concrete syntaxes, and are treated as
- syntactic sugar for abstract syntax
- <a title="literal">literals</a> with the <a>datatype IRI</a>
- <code>http://www.w3.org/2001/XMLSchema#string</code>.</p>
-
- <p><dfn>Literal term equality</dfn>: Two literals are term-equal
- (the same RDF literal) if and only if the two <a title="lexical form">lexical forms</a>, the
- two <a title="datatype IRI">datatype IRIs</a>, and the two <a title="language tag">language tags</a> (if any) compare equal,
- character by character.</p>
-
- <p>Two literals can have the same value without being the same
- <a title="RDF Term">RDF term</a>. For example:
-
- <pre>
- "1"^^xs:integer
- "01"^^xs:integer
- </pre>
-
- <p>denote the same value, but are not the same literal
- <a title="RDF Term">RDF terms</a> and are not term-equals.</p>
+ <p>Please note that concrete syntaxes MAY support
+ <dfn title="simple literal">simple literals</dfn> consisting of only a
+ <a>lexical form</a> without any <a>datatype IRI</a> or <a>language tag</a>.
+ Simple literals are syntactic sugar for abstract syntax
+ <a title="literal">literals</a>
+ with the <a>datatype IRI</a>
+ <code>http://www.w3.org/2001/XMLSchema#string</code>. Similarly, most
+ concrete syntaxes represent
+ <a title="language-tagged string">language-tagged strings</a> without
+ the <a>datatype IRI</a> because it always equals
+ <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</code>.</p>
<p>The <dfn>literal value</dfn> associated with a <a>literal</a> is:</p>
<ol>
- <li><strong>If the literal is a <a>language-tagged string</a>,</strong>
- then the literal value is a pair consisting of its <a>lexical form</a>
- and its <a>language tag</a>, in that order.</li>
- <li><strong>If the literal's <a>datatype IRI</a> is not
- <a title="recognized datatype IRIs">recognized</a> by an
- implementation,</strong> then the literal value
- is not defined by this specification.</li>
- <li>Let <var>d</var> be the <a>referent</a> of the
- datatype IRI in the set of <a>recognized datatype IRIs</a>.
- <strong>If the literal's <a>lexical form</a> is in the
- <a>lexical space</a> of <var>d</var>,</strong> then the literal value
- is the result of applying the <a>lexical-to-value mapping</a>
- of <var>d</var> to the <a>lexical form</a>.</li>
- <li><strong>Otherwise</strong>, the literal is ill-typed,
- and no literal value can be associated with the literal. Such a case
- produces a semantic inconsistency but is not <em>syntactically</em>
- ill-formed and implementations MUST accept ill-typed literals and produce
- RDF graphs from them. Implementations MAY produce warnings when
- encountering ill-typed literals.</li>
+ <li>If the literal is a <a>language-tagged string</a>,
+ then the literal value is a pair consisting of its <a>lexical form</a>
+ and its <a>language tag</a>, in that order.</li>
+
+ <li>If the literal's <a>datatype IRI</a> is in the set of
+ <a>recognized datatype IRIs</a>, let <var>d</var> be the
+ <a>referent</a> of the datatype IRI.
+ <ol>
+ <li>If the literal's <a>lexical form</a> is in the <a>lexical space</a>
+ of <var>d</var>, then the literal value is the result of applying
+ the <a>lexical-to-value mapping</a> of <var>d</var> to the
+ <a>lexical form</a>.</li>
+ <li>Otherwise, the literal is ill-typed and no literal value can be
+ associated with the literal. Such a case produces a semantic
+ inconsistency but is not <em>syntactically</em> ill-formed.
+ Implementations MUST accept ill-typed literals and produce RDF
+ graphs from them. Implementations MAY produce warnings when
+ encountering ill-typed literals.</li>
+ </ol>
+ </li>
+ <li>If the literal's <a>datatype IRI</a> is <em>not</em> in the set of
+ <a>recognized datatype IRIs</a>, then the literal value is
+ not defined by this specification.</li>
</ol>
+ <p><dfn>Literal term equality</dfn>: Two literals are term-equal (the same
+ RDF literal) if and only if the two <a title="lexical form">lexical forms</a>,
+ the two <a title="datatype IRI">datatype IRIs</a>, and the two
+ <a title="language tag">language tags</a> (if any) compare equal,
+ character by character. Thus, two literals can have the same value
+ without being the same RDF term. For example:</p>
+
+ <pre>
+ "1"^^xs:integer
+ "01"^^xs:integer
+ </pre>
+
+ <p>denote the same <a title="literal value">value</a>, but are not the
+ same literal <a title="RDF Term">RDF terms</a> and are not
+ <a title="literal term equality">term-equal</a> because their
+ <a>lexical form</a> differs.</p>
</section>
@@ -1447,6 +1445,7 @@
<a href="http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/">5 November 2013 Candidate Recommendation (CR)</a>.</p>
<ul>
+ <li>2013-12-04: Editorial changes to <a href="#section-Graph-Literal" class="sectionRef"></a> as <a href="http://lists.w3.org/Archives/Public/public-rdf-wg/2013Nov/0078.html">discussed on the mailing list</a>.</li>
<li>2013-11-06: Editorial changes in response to a <a href="http://lists.w3.org/Archives/Public/public-rdf-wg/2013Nov/0027.html">review by Guus Schreiber</a></li>
</ul>
</section>