Update value typing.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Wed, 16 Nov 2011 13:44:50 -0800
changeset 21 fdee8a158176
parent 20 8eb4093ca497
child 22 1e11ddb0f4a8
Update value typing.
microdata-rdf/index.html
--- a/microdata-rdf/index.html	Wed Nov 16 13:21:31 2011 -0800
+++ b/microdata-rdf/index.html	Wed Nov 16 13:44:50 2011 -0800
@@ -719,11 +719,22 @@
 
 <section class="informative">
   <h2>Value Typing</h2>
-  <p>One possible use of a <tref>registry</tref> would allow vocabularies to be marked with datatype information,
+  <p>In microdata, all values are strings. In RDF, values may be resources
+   or may be typed with an appropriate datatype.</p>
+  <p> In some cases, the type of a microdata value can be determined from the
+   element on which it is specified. In particular:</p>
+  <ul>
+    <li>URL property elements provide URLs</li>
+    <li><code>time</code> element provides dates and times</li>
+  </ul>
+  <p class="issue">Using information about the content of the document where the microdata
+   is marked up <em>might</em> be a violation of the spirit of the microdata specification, though it does not explicitly say in
+   normative text that consumers cannot use other information from the HTML DOM to interpret microdata.</p>
+
+  <p>Additionally, one possible use of a <tref>registry</tref> would allow vocabularies to be marked with datatype information,
     so that a <code>dc:time</code> value, for example, would be understood to represent a literal with datatype
     <code>xsd:date</code>. This could be done by adding information for each property in the vocabulary requiring
     special treatment.</p>
-  <p>Additionally, literal values which should be interpreted as URI references could be given special treatment.</p>
   <p>This might be represented using a syntax such as the following:</p>
   <pre class="example" data-transform="updateExample">
 <!--
@@ -732,23 +743,22 @@
    "propertyURI": "vocabulary",
    "multipleValues": "unordered"****,
    "properties": {
-     "url": {"datatype": "@uri"},
-     "dateCreated": {"datatype": "http://www.w3.org/2001/XMLSchema#date"},
-     "price": {"datatype": => [
-       "http://www.w3.org/2001/XMLSchema#decimal",
-       "http://www.w3.org/2001/XMLSchema#string"
-     ]}
+     "dateCreated": {"datatype": "http://www.w3.org/2001/XMLSchema#date"}
    }****
  }
 }
 -->
   </pre>
-  <p>The <code>datatype</code> identifies one or more XSD types against which to perform lexical matching, causing
-    the literal object to have the associated datatype.</p>
-  <p>The <code>@uri</code> datatype identifies the property has having a <tref>URI reference</tref> range,
-    rather than a literal. This allows the property to be used where there is a literal content model, such as
-    <aref>content</aref>, and would cause the value to be interpreted as a <tref>URI reference</tref>.</p>
-  <p>These concepts are not explored further at this time, but could be developed further in
+  <p>The <code>datatype</code> identifies a URI to be used in constructing a <tref>typed literal</tref>.</p>
+
+  <p>In most cases, the relevant datatype for a value can be derived from
+    knowledge of what property the value is for and the syntax of the value
+    itself. Thus, values can be given datatypes in a post-processing step
+    after the mapping of microdata to RDF described by this specification.
+    However, where there is information in the HTML markup, such as knowledge
+    of what element was used to mark up the value, which can help with
+    determining its datatype, that information is used by this specification.</p>
+  <p>This concept is not explored further at this time, but could be developed further in
     a future revision of this document.</p>
 </section>