--- a/rdf-concepts/index.html Wed May 09 17:52:43 2012 +0100
+++ b/rdf-concepts/index.html Wed May 09 19:02:43 2012 +0100
@@ -617,6 +617,10 @@
and provides one additional built-in datatype,
<code><a>rdf:XMLLiteral</a></code>.</p>
+ <p class="issue">The Working Group is planning to add an HTML datatype
+ to better address the use case of including text with markup. This is
+ <a href="http://www.w3.org/2011/rdf-wg/track/issues/63">ISSUE-63</a>.</p>
+
<p>A <dfn>datatype</dfn> consists of a <a>lexical space</a>,
a <a>value space</a> and a <a>lexical-to-value mapping</a>, and
is denoted by one or more <a title="IRI">IRIs</a>.</p>
@@ -830,23 +834,10 @@
<section id="section-XMLLiteral">
<h3>The <code>rdf:XMLLiteral</code> Datatype</h3>
- <p class="issue">The canonicalization rules required for XML literals
- are quite complicated. Increasingly, RDF is produced and consumed in
- environments where no XML parser and canonicalization engine is
- available. A possible change to relax the requirements for the
- lexical space, while retaining the value space, is under discussion.
- This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/13">ISSUE-13</a>.</p>
-
<p>RDF provides for XML content as a possible <a>literal value</a>.
Such content is indicated in an <a>RDF graph</a> using a <a>literal</a>
whose <a>datatype</a> is a special built-in datatype
- <code>rdf:XMLLiteral</code>.
- This allows the inclusion of text that contains markup, such as
- XHTML [[XHTML11]].</p>
-
- <p class="issue">The Working Group is planning to add an HTML datatype
- to better address the use case of including text with markup. This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/63">ISSUE-63</a>.</p>
+ <code>rdf:XMLLiteral</code>.</p>
<p><code><dfn>rdf:XMLLiteral</dfn></code> is defined as follows.</p>
@@ -859,73 +850,71 @@
<dt><a name="XMLLiteral-lexical-space" id="XMLLiteral-lexical-space">The lexical space</a></dt>
-<dd>is the set of all
-strings:
-<ul>
-<li>which are well-balanced, self-contained
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">
-XML content</a>
-[[!XML10]];
-</li>
-<li>for which encoding as UTF-8
-[[!UTF-8]] yields
-<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-exclusive-canonical-XML">
-exclusive
-Canonical XML </a> (with comments, with empty
-<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">
-InclusiveNamespaces PrefixList
-</a>) [[!XML-EXC-C14N]];
-</li>
-<li>for which embedding between an arbitrary XML start tag and an end tag
-yields a document conforming to <a href=
- "http://www.w3.org/TR/1999/REC-xml-names-19990114/">XML
- Namespaces</a> [[!XML-NAMES]]</li>
-</ul>
-</dd>
+ <dd>is the set of all strings which are well-balanced, self-contained
+ <a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">XML content</a>
+ [[!XML10]]; and for which embedding between an arbitrary
+ XML start tag and an end tag yields a document conforming to
+ <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">XML Namespaces</a>
+ [[!XML-NAMES]].</dd>
-
- <dt><a name="XMLLiteral-value-space" id="XMLLiteral-value-space">The value space</a></dt>
+ <dt><a name="XMLLiteral-value-space" id="XMLLiteral-value-space">The value space</a></dt>
- <dd>is a set of entities, called XML values, which is:
-<ul>
-<li>disjoint from the lexical space;</li>
-<li>disjoint from the value space of any other datatype that is not explicitly defined as a sub- or supertype of this datatype;</li>
-<li>disjoint from the set of Unicode character strings [[!UNICODE]];</li>
-<li>and in 1:1 correspondence with the lexical space.</li>
-</ul>
-</dd>
+ <dd>is a set of DOM
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-B63ED1A3"><code>DocumentFragments</code></a>
+ [[!DOM-LEVEL-3-CORE]]. Two
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-B63ED1A3"><code>DocumentFragments</code></a>
+ <em>A</em> and <em>B</em> are considered equal
+ if and only if the DOM method
+ <code><em>A</em>.<a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode">isEqualNode</a>(<em>B</em>)</code>
+ returns <code>true</code>.</dd>
<dt><a name="XMLLiteral-mapping" id="XMLLiteral-mapping">The lexical-to-value mapping</a></dt>
- <dd>
-is a one-one mapping from the lexical space onto the value space,
- i.e. it is both injective and surjective.
-</dd>
+ <dd>is defined as follows:
+ <ul>
+ <li>Let <code>xmldoc</code> be the literal's lexical form,
+ wrapped between an arbitrary XML start-tag and matching end-tag</li>
+ <li>Let <code>domdoc</code> be a DOM
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#i-Document"><code>Document</code></a>
+ object [[!DOM-LEVEL-3-CORE]] corresponding to <code>xmldoc</code></li>
+ <li>Let <code>domfrag</code> be a DOM
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-B63ED1A3"><code>DocumentFragment</code></a>
+ whose
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1451460987"><code>childNodes</code></a>
+ attribute is equal to the
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1451460987"><code>childNodes</code></a>
+ attribute of <code>domdoc</code>'s
+ <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-87CD092"><code>documentElement</code></a>
+ attribute</li>
+ <li>Return <code>domfrag.<a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize">normalize</a>()</code></li>
+ </ul></dd>
+ <dt><a name="XMLLiteral-canonical" id="XMLLiteral-canonical">The canonical mapping</a></dt>
+ <dd>defines a
+ <a href="http://www.w3.org/TR/xmlschema11-2/#dt-canonical-mapping">canonical lexical form</a>
+ [[!XMLSCHEMA11-2]] for each member of the value space.
+ The <code>rdf:XMLLiteral</code> canonical mapping is the
+ <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-exclusive-XML-canonicalization-method">exclusive
+ XML canonicalization method</a> (<em>with comments, with empty
+ <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">
+ InclusiveNamespaces PrefixList</a></em>) [[!XML-EXC-C14N]].
+ </dl>
- </dl>
+ <p class="note">Any XML namespace declarations (<code>xmlns</code>)
+ and language annotation (<code>xml:lang</code>) desired in the
+ XML content must be included explicitly in the XML literal.
+ Note that some concrete RDF syntaxes may define mechanisms
+ for inheriting them from the context
+ (e.g., <a href="http://www.w3.org/TR/rdf-syntax-grammar/#parseTypeLiteralPropertyElt"><code>@parseType="literal"</code></a>
+ in RDF/XML [[RDF-SYNTAX-GRAMMAR]]).</p>
<p class="note">Not all values of this datatype are compliant
with XML 1.1 [[XML11]]. If compliance
with XML 1.1 is desired, then only those values that are
-<a href="http://www.w3.org/TR/2002/CR-xml11-20021015/#sec2.13">fully
+<a href="http://www.w3.org/TR/xml11/#dt-fullnorm">fully
normalized</a> according to XML 1.1 should be used.</p>
- <p class="note">XML values can be thought of as the
-[[XML-INFOSET]] or the [[XPATH]]
-nodeset corresponding to the lexical form, with an appropriate equality
-function.</p>
-
- <p class="note">RDF applications may use additional equivalence relations,
- such as that which relates an
- <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a>
- with an <code>rdf:XMLLiteral</code> corresponding to a single text node
- of the same string.</p>
-
- <p class="note">If language annotation of XML literals is required,
- it must be explicitly included as markup, usually by means of an
- <code>xml:lang</code> attribute.</p>
</section>
<section id="datatype-maps">
@@ -935,16 +924,18 @@
<<a>IRI</a>, <a>datatype</a>> pairs such that no
IRI appears twice in the set and the IRI denotes the datatype.
It can be seen as a function from IRIs
- to datatypes. Every datatype map contains the pair
- <<code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code>,
- <code><a>rdf:XMLLiteral</a></code>>.</p>
+ to datatypes.</p>
- <p>The <dfn>XSD datatype map</dfn> is the <a>datatype map</a>
- which also contains the set of all pairs of the form
- <<code>http://www.w3.org/2001/XMLSchema#<em>xxx</em></code>,
- <code>xsd:<em>xxx</em></code>>, where <code>xsd:<em>xxx</em></code>
- is the name of an
- <a title="RDF-compatible XSD types">RDF-compatible XSD type</a>.</p>
+ <p>If a <a>datatype map</a> contains the IRI
+ <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code>,
+ then it MUST be paired with the datatype
+ <code><a>rdf:XMLLiteral</a></code>.</p>
+
+ <p>If a <a>datatype map</a> contains an IRI of the form
+ <code>http://www.w3.org/2001/XMLSchema#<em>xxx</em></code>,
+ then it MUST be paired with the
+ <a title="RDF-compatible XSD types">RDF-compatible XSD type</a>
+ named <code>xsd:<em>xxx</em></code>.<p>
</section>
@@ -1123,6 +1114,7 @@
<h2>Changes from RDF 2004</h2>
<ul>
+ <li>2012-05-09: <code><a>rdf:XMLLiteral</a></code> no longer requires lexical forms to be canonicalized, and the value space is now defined in terms of [[DOM-LEVEL-3-CORE]] (<a href="https://www.w3.org/2011/rdf-wg/track/issues/13">ISSUE-13</a>)</li>
<li>2012-05-09: Removed Section 3 <em>RDF Vocabulary IRI and Namespace</em>; its contents will be folded into the RDF Schema document</li>
<li>2012-05-02: Renamed “graph equivalence” to “<a>graph isomorphism</a>” (<a href="https://www.w3.org/2011/rdf-wg/track/issues/86">ISSUE-86</a>)</li>
<li>2012-05-02: Updated [[XMLSCHEMA11-1]] and [[XMLSCHEMA11-2]] references to the new REC versions</li>