[html5] r4152 - [ac] (0) Remove reversed DNS label support from microdata.

whatwg at whatwg.org whatwg at whatwg.org
Fri Oct 16 13:57:15 PDT 2009


Author: ianh
Date: 2009-10-16 13:57:14 -0700 (Fri, 16 Oct 2009)
New Revision: 4152

Modified:
   complete.html
   index
   source
Log:
[ac] (0) Remove reversed DNS label support from microdata.

Modified: complete.html
===================================================================
--- complete.html	2009-10-16 20:26:37 UTC (rev 4151)
+++ complete.html	2009-10-16 20:57:14 UTC (rev 4152)
@@ -255,9 +255,8 @@
      <li><a href=#colors><span class=secno>2.4.6 </span>Colors</a></li>
      <li><a href=#space-separated-tokens><span class=secno>2.4.7 </span>Space-separated tokens</a></li>
      <li><a href=#comma-separated-tokens><span class=secno>2.4.8 </span>Comma-separated tokens</a></li>
-     <li><a href=#reversed-dns-identifiers><span class=secno>2.4.9 </span>Reversed DNS identifiers</a></li>
-     <li><a href=#syntax-references><span class=secno>2.4.10 </span>References</a></li>
-     <li><a href=#mq><span class=secno>2.4.11 </span>Media queries</a></ol></li>
+     <li><a href=#syntax-references><span class=secno>2.4.9 </span>References</a></li>
+     <li><a href=#mq><span class=secno>2.4.10 </span>Media queries</a></ol></li>
    <li><a href=#urls><span class=secno>2.5 </span>URLs</a>
     <ol>
      <li><a href=#terminology-0><span class=secno>2.5.1 </span>Terminology</a></li>
@@ -4751,57 +4750,9 @@
 
 
 
-  <h4 id=reversed-dns-identifiers><span class=secno>2.4.9 </span>Reversed DNS identifiers</h4>
 
-  <p>A <dfn id=valid-reversed-dns-identifier>valid reversed DNS identifier</dfn> is a string that
-  consists of a series of IDNA labels in reverse order (i.e. starting
-  with the top-level domain), the prefix of which, when reversed and
-  converted to ASCII, corresponds to a registered domain. <a href=#refsRFC3490>[RFC3490]</a></p>
+  <h4 id=syntax-references><span class=secno>2.4.9 </span>References</h4>
 
-  <p class=example>For instance, the string "<code title="">com.example.xn--74h</code>" is a <a href=#valid-reversed-dns-identifier>valid reversed DNS
-  identifier</a> because the string "<code title="">example.com</code>" is a registered domain.</p>
-
-  <div class=impl>
-
-  <p>To check if a string is a <a href=#valid-reversed-dns-identifier>valid reversed DNS
-  identifier</a>, conformance checkers must run the following algorithm:</p>
-
-  <ol><li>
-
-    <p>Apply the IDNA ToASCII algorithm to the string, with both the
-    AllowUnassigned and UseSTD3ASCIIRules flags set, but between steps
-    2 and 3 of the general ToASCII/ToUnicode algorithm (i.e. after
-    splitting the domain name into individual labels), reverse the
-    order of the labels.</p>
-
-    <p>If ToASCII fails to convert one of the components of the
-    string, e.g. because it is too long or because it contains invalid
-    characters, then the string is not valid; abort these steps. <a href=#refsRFC3490>[RFC3490]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the end of the resulting string matches a suffix in
-    the Public Suffix List, and that there is at least one domain
-    label before the matching substring. If it does not, or if there
-    is not, then the string is not valid; abort these steps. <a href=#refsPSL>[PSL]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the domain name up to the label before the prefix
-    that was matched in the previous string is a registered domain
-    name.</p>
-
-   </li>
-
-  </ol></div>
-
-
-  <h4 id=syntax-references><span class=secno>2.4.10 </span>References</h4>
-
   <p>A <dfn id=valid-hash-name-reference>valid hash-name reference</dfn> to an element of type <var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN
   character (#) followed by a string which exactly matches the value
   of the <code title="">name</code> attribute of an element in the
@@ -4839,7 +4790,7 @@
   </ol></div>
 
 
-  <h4 id=mq><span class=secno>2.4.11 </span>Media queries</h4>
+  <h4 id=mq><span class=secno>2.4.10 </span>Media queries</h4>
 
   <p>A string is a <dfn id=valid-media-query>valid media query</dfn> if it matches the
   <code title="">media_query_list</code> production of the Media
@@ -44236,33 +44187,25 @@
   make new uses of the markup.</p>
 
   <p>For this purpose, it is necessary to give each <a href=#concept-item title=concept-item>item</a> a type, such as
-  "com.example.person", or "org.example.cat", or
-  "net.example.band". Types are identified in two ways:</p>
+  "http://example.com/person", or "http://example.org/cat", or
+  "http://band.example.net/". Types are identified as <a href=#url title=URL>URLs</a>.</p>
 
-  <ul class=brief><li>As <a href=#url title=URL>URLs</a>.
-
-   <li>As <a href=#valid-reversed-dns-identifier title="valid reversed DNS identifier">reversed DNS
-   labels</a>.
-
-  </ul><p><a href=#url title=URL>URLs</a> are self-explanatory. <a href=#valid-reversed-dns-identifier title="valid reversed DNS identifier">Reversed DNS labels</a> are
-  strings such as "org.example.animals.cat" or "com.example.band".</p>
-
   <p>The type for an <a href=#concept-item title=concept-item>item</a> is given
   as the value of an <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code>
   attribute on the same element as the <code title=attr-itemscope><a href=#attr-itemscope>itemscope</a></code> attribute.</p>
 
   <div class=example>
 
-   <p>Here, the item is "org.example.animals.cat":</p>
+   <p>Here, the item is "http://example.org/animals#cat":</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
+<pre><section itemscope itemtype="http://example.org/animals#cat">
  <h1 itemprop="name">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy black fur with white paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>In this example the "org.example.animals.cat" item has three
+   <p>In this example the "http://example.org/animals#cat" item has three
    properties, a "name" ("Hedral"), a "desc" ("Hedral is..."), and an
    "img" ("hedral.jpeg").</p>
 
@@ -44270,9 +44213,9 @@
 
   <p>An item can only have one type. The type gives the context for
   the properties, thus defining a vocabulary: a property named "class"
-  given for an item with the type "com.example.census.person" might
+  given for an item with the type "http://census.example/person" might
   refer to the economic class of an individual, while a property named
-  "class" given for an item with the type "com.example.school.teacher"
+  "class" given for an item with the type "http://example.com/school/teacher"
   might refer to the classroom a teacher has been assigned.</p>
 
 
@@ -44341,65 +44284,59 @@
   existing vocabularies, as this makes content re-use easier.</p>
 
   <p>When designing new vocabularies, identifiers can be created
-  either using <a href=#url title=URL>URLs</a>, <a href=#valid-reversed-dns-identifier title="valid
-  reversed DNS identifier">reversed DNS labels</a>, or, for
-  properties, as plain words (with no dots or colons). For URLs,
-  conflicts with other vocabularies can be avoided by only using
-  identifiers that correspond to pages that the author has control
-  over. Similarly, for reversed DNS labels conflicts can be avoided by
-  using a domain name that the author has control over, or by using
-  suffixes that correspond to the path components of pages that the
-  author has control over.</p>
+  either using <a href=#url title=URL>URLs</a>, or, for properties, as
+  plain words (with no dots or colons). For URLs, conflicts with other
+  vocabularies can be avoided by only using identifiers that
+  correspond to pages that the author has control over.</p>
 
   <div class=example>
 
    <p>For instance, if Jon and Adam both write content at <code title="">example.com</code>, at <code title="">http://example.com/jon/...</code> and <code title="">http://example.com/adam/...</code> respectively, then they
-   could select identifiers of the form "com.example.jon.name" and
-   "com.example.adam.name" respectively.</p>
+   could select identifiers of the form "http://example.com/~jon/name" and
+   "http://example.com/~adam/name" respectively.</p>
 
   </div>
 
   <p>Properties whose names are just plain words can only be used
   within the context of the types for which they are intended;
-  properties named using URLs or reversed DNS labels can be reused in
-  items of any type. If an item has no type, and is not part of
-  another item, then if its properties have names that are just plain
-  words, they are not intended to be globally unique, and are instead
-  only intended for limited use. Generally speaking, authors are
-  encouraged to use either properties with globally unique names
-  (URLs, reversed DNS labels) or ensure that their items are
-  typed.</p>
+  properties named using URLs can be reused in items of any type. If
+  an item has no type, and is not part of another item, then if its
+  properties have names that are just plain words, they are not
+  intended to be globally unique, and are instead only intended for
+  limited use. Generally speaking, authors are encouraged to use
+  either properties with globally unique names (URLs) or ensure that
+  their items are typed.</p>
 
   <div class=example>
 
-   <p>Here, an item is an "org.example.animals.cat", and most of the
+   <p>Here, an item is an "http://example.org/animals#cat", and most of the
    properties have names that are words defined in the context of that
    type. There are also a few additional properties whose names come
    from other vocabularies.</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+<pre><section itemscope itemtype="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>This example has one item with the type "org.example.animal.cat"
+   <p>This example has one item with the type "http://example.org/animals#cat"
    and the following properties:</p>
 
    <table><thead><tr><td>Property
       <td>Value
     <tbody><tr><td>name
       <td>Hedral
-     <tr><td>com.example.fn
+     <tr><td>http://example.com/fn
       <td>Hedral
      <tr><td>desc
       <td>Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
-     <tr><td>com.example.color
+     <tr><td>http://example.com/color
       <td>black
-     <tr><td>com.example.color
+     <tr><td>http://example.com/color
       <td>white
      <tr><td>img
       <td>.../hedral.jpeg
@@ -44436,7 +44373,7 @@
    to obtain a list of all the top-level microdata items of one type
    given in the document:</p>
 
-   <pre>var cats = document.getItems("com.example.feline");</pre>
+   <pre>var cats = document.getItems("http://example.com/feline");</pre>
 
   </div>
 
@@ -44453,11 +44390,11 @@
 
   <div class=example>
 
-   <p>This sample gets the first item of type "net.example.user" and
+   <p>This sample gets the first item of type "http://example.net/user" and
    then pops up an alert using the "name" property from
    that item.</p>
 
-   <pre>var user = document.getItems('net.example.user')[0];
+   <pre>var user = document.getItems('http://example.net/user')[0];
 alert('Hello ' + user.properties['name'][0].content + '!');</pre>
 
   </div>
@@ -44471,12 +44408,12 @@
 
   <div class=example>
 
-   <p>In an earlier example, a "org.example.animals.cat" item had two
-   "com.example.color" values. This script looks up the first such
+   <p>In an earlier example, a "http://example.org/animals#cat" item had two
+   "http://example.com/color" values. This script looks up the first such
    item and then lists all its values.</p>
 
-   <pre>var cat = document.getItems('org.example.animals.cat')[0];
-var colors = cat.properties['com.example.color'].values;
+   <pre>var cat = document.getItems('http://example.com/animals#cat')[0];
+var colors = cat.properties['http://example.com/color'].values;
 var result;
 if (colors.length == 0) {
   result = 'Color unknown.';
@@ -44517,12 +44454,12 @@
 
    <p>If faced with the following from an earlier example:</p>
 
-   <pre><section itemscope item="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+   <pre><section itemscope item="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>
 
@@ -44530,12 +44467,12 @@
 
    <ul><li>
      <ul><li>name</li>
-      <li>com.example.fn</li>
+      <li>http://example.com/fn</li>
       <li>desc</li>
-      <li>com.example.color</li>
+      <li>http://example.com/color</li>
       <li>img</li>
      </ul></li>
-   </ul><p>(The duplicate occurrence of "com.example.color" is not included
+   </ul><p>(The duplicate occurrence of "http://example.com/color" is not included
    in the list.)</p>
 
   </div>
@@ -44587,15 +44524,13 @@
   specified, to give the <a href=#item-type>item type</a> of the <a href=#concept-item title=concept-item>item</a>.</p>
 
   <p>The <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if
-  specified, must have a value that is either:</p>
+  specified, must have a value that is a <a href=#valid-url>valid URL</a> that
+  is an <a href=#absolute-url>absolute URL</a> for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
+  <a href=#prefix-match>prefix match</a>.</p> <!-- we disallow that prefix so that
+  we have somewhere to put future extensions, e.g. if we ever support
+  short type names -->
 
-  <ul><li>A <a href=#valid-url>valid URL</a> that is an <a href=#absolute-url>absolute URL</a>
-   for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
-   <a href=#prefix-match>prefix match</a>, or</li>
-
-   <li>A <a href=#valid-reversed-dns-identifier>valid reversed DNS identifier</a>.</li>
-
-  </ul><p>The <dfn id=item-type>item type</dfn> of an <a href=#concept-item title=concept-item>item</a> is the value of its element's <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if it has one and
+  <p>The <dfn id=item-type>item type</dfn> of an <a href=#concept-item title=concept-item>item</a> is the value of its element's <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if it has one and
   its value is not the empty string. If the <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute is missing or its
   value is the empty string, the <a href=#concept-item title=concept-item>item</a> is said to have no <a href=#item-type>item
   type</a>.</p>
@@ -44650,8 +44585,6 @@
    for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
    <a href=#prefix-match>prefix match</a>, or</li>
 
-   <li>A <a href=#valid-reversed-dns-identifier>valid reversed DNS identifier</a>, or</li>
-
    <li>If the item is a <a href=#typed-item>typed item</a>: a <dfn id=defined-property-name>defined
    property name</dfn> allowed in this situation according to the
    specification that defines the <a href=#relevant-type>relevant type</a> for the
@@ -47852,13 +47785,18 @@
 
      <li>
 
-      <p>For each token <var title="">token</var> in <var title="">list of tokens</var> that contains neither a U+003A
-      COLON character (:) nor a U+002E FULL STOP character (.),
-      generate the following triple:</p>
+      <p>For each token <var title="">token</var> in <var title="">list of tokens</var> that contains no U+003A COLON
+      characters (:), generate the following triple:</p>
 
       <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
        <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and <var title="">token</var>, with any characters in <var title="">token</var> that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
        <dt>object    <dd> the <a href=#absolute-url>absolute URL</a> that results from <a href=#resolve-a-url title="resolve a URL">resolving</a> the value of the element's <code title="">href</code> attribute relative to the element
+      </dl><p>For each token <var title="">token</var> in <var title="">list of tokens</var> that is an <a href=#absolute-url>absolute
+      URL</a>, generate the following triple:</p>
+
+      <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
+       <dt>predicate <dd> <var title="">token</var>
+       <dt>object    <dd> the <a href=#absolute-url>absolute URL</a> that results from <a href=#resolve-a-url title="resolve a URL">resolving</a> the value of the element's <code title="">href</code> attribute relative to the element
       </dl></li>
 
     </ol></li>
@@ -47869,12 +47807,21 @@
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
-    contains neither a U+003A COLON character (:) nor a U+002E FULL
-    STOP character (.), generate the following triple:</p>
+    contains no U+003A COLON characters (:), generate the following
+    triple:</p>
 
     <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
      <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute, <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, with any characters in the value that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
-     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown.
+     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
+    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
+    a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
+    value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute is
+    an <a href=#absolute-url>absolute URL</a>, generate the following triple:</p>
+
+    <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
+     <dt>predicate <dd> the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
+     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
     </dl></li>
 
    <li>
@@ -47924,14 +47871,12 @@
    <a href=#absolute-url>absolute URL</a>, let <var title="">subject</var> be that
    <a href=#global-identifier>global identifier</a>. Otherwise, let <var title="">subject</var> be a new blank node.</li>
 
-   <li><p>Let <var title="">type</var> be the <a href=#item-type>item type</a>
-   of <var title="">item</var>, or the empty string, if <var title="">item</var> has no <a href=#item-type>item type</a>.</li>
+   <li><p>If <var title="">item</var> has an <a href=#item-type>item type</a>
+   and that <a href=#item-type>item type</a> is an <a href=#absolute-url>absolute URL</a>,
+   let <var title="">type</var> be that <a href=#item-type>item
+   type</a>. Otherwise, let <var title="">type</var> be the empty
+   string.</li>
 
-   <li><p>If <var title="">type</var> is neither the empty string nor
-   an <a href=#absolute-url>absolute URL</a>, then let <var title="">type</var> be
-   the result of concatenating the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" with the <var title="">type</var>, with any characters in <var title="">type</var> that are not valid in the <ifragment>
-   production of the IRI syntax being %-escaped.</li>
-
    <li>
 
     <p>If <var title="">type</var> is not the empty string, generate
@@ -47982,8 +47927,8 @@
          <dt>object    <dd> <var title="">value</var>
         </dl></dd>
 
-       <dt>If <var title="">name</var> contains neither a U+003A COLON
-       character (:) nor a U+002E FULL STOP character (.)</dt>
+       <dt>If <var title="">name</var> contains no U+003A COLON
+       character (:)</dt>
 
        <dd>
 
@@ -47998,8 +47943,8 @@
          SIGN character (#) to <var title="">predicate</var>.</li>
 
          <li><p>Append a U+003A COLON character (:) to <var title="">predicate</var>.</li> <!-- has to be something
-         not in /name/, so either "." or ":", so that a different
-         type/name combination couldn't generate the same string -->
+         not in /name/, so ":", so that a different type/name
+         combination couldn't generate the same string -->
 
          <li><p>Append the value of <var title="">name</var> to <var title="">predicate</var>, with any characters in <var title="">name</var> that are not valid in the <ifragment>
          production of the IRI syntax being %-escaped.</li>
@@ -48015,17 +47960,6 @@
 
         </ol></dd>
 
-       <dt>Otherwise</dt>
-
-       <dd>
-
-        <p>Generate the following triple:</p>
-
-        <dl class=triple><dt>subject   <dd> <var title="">subject</var>
-         <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" and <var title="">name</var>, with any characters in <var title="">name</var> that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
-         <dt>object    <dd> <var title="">value</var>
-        </dl></dd>
-
       </dl></li>
 
     </ol></li>

Modified: index
===================================================================
--- index	2009-10-16 20:26:37 UTC (rev 4151)
+++ index	2009-10-16 20:57:14 UTC (rev 4152)
@@ -245,9 +245,8 @@
      <li><a href=#colors><span class=secno>2.4.6 </span>Colors</a></li>
      <li><a href=#space-separated-tokens><span class=secno>2.4.7 </span>Space-separated tokens</a></li>
      <li><a href=#comma-separated-tokens><span class=secno>2.4.8 </span>Comma-separated tokens</a></li>
-     <li><a href=#reversed-dns-identifiers><span class=secno>2.4.9 </span>Reversed DNS identifiers</a></li>
-     <li><a href=#syntax-references><span class=secno>2.4.10 </span>References</a></li>
-     <li><a href=#mq><span class=secno>2.4.11 </span>Media queries</a></ol></li>
+     <li><a href=#syntax-references><span class=secno>2.4.9 </span>References</a></li>
+     <li><a href=#mq><span class=secno>2.4.10 </span>Media queries</a></ol></li>
    <li><a href=#urls><span class=secno>2.5 </span>URLs</a>
     <ol>
      <li><a href=#terminology-0><span class=secno>2.5.1 </span>Terminology</a></li>
@@ -4580,57 +4579,9 @@
 
 
 
-  <h4 id=reversed-dns-identifiers><span class=secno>2.4.9 </span>Reversed DNS identifiers</h4>
 
-  <p>A <dfn id=valid-reversed-dns-identifier>valid reversed DNS identifier</dfn> is a string that
-  consists of a series of IDNA labels in reverse order (i.e. starting
-  with the top-level domain), the prefix of which, when reversed and
-  converted to ASCII, corresponds to a registered domain. <a href=#refsRFC3490>[RFC3490]</a></p>
+  <h4 id=syntax-references><span class=secno>2.4.9 </span>References</h4>
 
-  <p class=example>For instance, the string "<code title="">com.example.xn--74h</code>" is a <a href=#valid-reversed-dns-identifier>valid reversed DNS
-  identifier</a> because the string "<code title="">example.com</code>" is a registered domain.</p>
-
-  <div class=impl>
-
-  <p>To check if a string is a <a href=#valid-reversed-dns-identifier>valid reversed DNS
-  identifier</a>, conformance checkers must run the following algorithm:</p>
-
-  <ol><li>
-
-    <p>Apply the IDNA ToASCII algorithm to the string, with both the
-    AllowUnassigned and UseSTD3ASCIIRules flags set, but between steps
-    2 and 3 of the general ToASCII/ToUnicode algorithm (i.e. after
-    splitting the domain name into individual labels), reverse the
-    order of the labels.</p>
-
-    <p>If ToASCII fails to convert one of the components of the
-    string, e.g. because it is too long or because it contains invalid
-    characters, then the string is not valid; abort these steps. <a href=#refsRFC3490>[RFC3490]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the end of the resulting string matches a suffix in
-    the Public Suffix List, and that there is at least one domain
-    label before the matching substring. If it does not, or if there
-    is not, then the string is not valid; abort these steps. <a href=#refsPSL>[PSL]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the domain name up to the label before the prefix
-    that was matched in the previous string is a registered domain
-    name.</p>
-
-   </li>
-
-  </ol></div>
-
-
-  <h4 id=syntax-references><span class=secno>2.4.10 </span>References</h4>
-
   <p>A <dfn id=valid-hash-name-reference>valid hash-name reference</dfn> to an element of type <var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN
   character (#) followed by a string which exactly matches the value
   of the <code title="">name</code> attribute of an element in the
@@ -4668,7 +4619,7 @@
   </ol></div>
 
 
-  <h4 id=mq><span class=secno>2.4.11 </span>Media queries</h4>
+  <h4 id=mq><span class=secno>2.4.10 </span>Media queries</h4>
 
   <p>A string is a <dfn id=valid-media-query>valid media query</dfn> if it matches the
   <code title="">media_query_list</code> production of the Media
@@ -44065,33 +44016,25 @@
   make new uses of the markup.</p>
 
   <p>For this purpose, it is necessary to give each <a href=#concept-item title=concept-item>item</a> a type, such as
-  "com.example.person", or "org.example.cat", or
-  "net.example.band". Types are identified in two ways:</p>
+  "http://example.com/person", or "http://example.org/cat", or
+  "http://band.example.net/". Types are identified as <a href=#url title=URL>URLs</a>.</p>
 
-  <ul class=brief><li>As <a href=#url title=URL>URLs</a>.
-
-   <li>As <a href=#valid-reversed-dns-identifier title="valid reversed DNS identifier">reversed DNS
-   labels</a>.
-
-  </ul><p><a href=#url title=URL>URLs</a> are self-explanatory. <a href=#valid-reversed-dns-identifier title="valid reversed DNS identifier">Reversed DNS labels</a> are
-  strings such as "org.example.animals.cat" or "com.example.band".</p>
-
   <p>The type for an <a href=#concept-item title=concept-item>item</a> is given
   as the value of an <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code>
   attribute on the same element as the <code title=attr-itemscope><a href=#attr-itemscope>itemscope</a></code> attribute.</p>
 
   <div class=example>
 
-   <p>Here, the item is "org.example.animals.cat":</p>
+   <p>Here, the item is "http://example.org/animals#cat":</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
+<pre><section itemscope itemtype="http://example.org/animals#cat">
  <h1 itemprop="name">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy black fur with white paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>In this example the "org.example.animals.cat" item has three
+   <p>In this example the "http://example.org/animals#cat" item has three
    properties, a "name" ("Hedral"), a "desc" ("Hedral is..."), and an
    "img" ("hedral.jpeg").</p>
 
@@ -44099,9 +44042,9 @@
 
   <p>An item can only have one type. The type gives the context for
   the properties, thus defining a vocabulary: a property named "class"
-  given for an item with the type "com.example.census.person" might
+  given for an item with the type "http://census.example/person" might
   refer to the economic class of an individual, while a property named
-  "class" given for an item with the type "com.example.school.teacher"
+  "class" given for an item with the type "http://example.com/school/teacher"
   might refer to the classroom a teacher has been assigned.</p>
 
 
@@ -44170,65 +44113,59 @@
   existing vocabularies, as this makes content re-use easier.</p>
 
   <p>When designing new vocabularies, identifiers can be created
-  either using <a href=#url title=URL>URLs</a>, <a href=#valid-reversed-dns-identifier title="valid
-  reversed DNS identifier">reversed DNS labels</a>, or, for
-  properties, as plain words (with no dots or colons). For URLs,
-  conflicts with other vocabularies can be avoided by only using
-  identifiers that correspond to pages that the author has control
-  over. Similarly, for reversed DNS labels conflicts can be avoided by
-  using a domain name that the author has control over, or by using
-  suffixes that correspond to the path components of pages that the
-  author has control over.</p>
+  either using <a href=#url title=URL>URLs</a>, or, for properties, as
+  plain words (with no dots or colons). For URLs, conflicts with other
+  vocabularies can be avoided by only using identifiers that
+  correspond to pages that the author has control over.</p>
 
   <div class=example>
 
    <p>For instance, if Jon and Adam both write content at <code title="">example.com</code>, at <code title="">http://example.com/jon/...</code> and <code title="">http://example.com/adam/...</code> respectively, then they
-   could select identifiers of the form "com.example.jon.name" and
-   "com.example.adam.name" respectively.</p>
+   could select identifiers of the form "http://example.com/~jon/name" and
+   "http://example.com/~adam/name" respectively.</p>
 
   </div>
 
   <p>Properties whose names are just plain words can only be used
   within the context of the types for which they are intended;
-  properties named using URLs or reversed DNS labels can be reused in
-  items of any type. If an item has no type, and is not part of
-  another item, then if its properties have names that are just plain
-  words, they are not intended to be globally unique, and are instead
-  only intended for limited use. Generally speaking, authors are
-  encouraged to use either properties with globally unique names
-  (URLs, reversed DNS labels) or ensure that their items are
-  typed.</p>
+  properties named using URLs can be reused in items of any type. If
+  an item has no type, and is not part of another item, then if its
+  properties have names that are just plain words, they are not
+  intended to be globally unique, and are instead only intended for
+  limited use. Generally speaking, authors are encouraged to use
+  either properties with globally unique names (URLs) or ensure that
+  their items are typed.</p>
 
   <div class=example>
 
-   <p>Here, an item is an "org.example.animals.cat", and most of the
+   <p>Here, an item is an "http://example.org/animals#cat", and most of the
    properties have names that are words defined in the context of that
    type. There are also a few additional properties whose names come
    from other vocabularies.</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+<pre><section itemscope itemtype="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>This example has one item with the type "org.example.animal.cat"
+   <p>This example has one item with the type "http://example.org/animals#cat"
    and the following properties:</p>
 
    <table><thead><tr><td>Property
       <td>Value
     <tbody><tr><td>name
       <td>Hedral
-     <tr><td>com.example.fn
+     <tr><td>http://example.com/fn
       <td>Hedral
      <tr><td>desc
       <td>Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
-     <tr><td>com.example.color
+     <tr><td>http://example.com/color
       <td>black
-     <tr><td>com.example.color
+     <tr><td>http://example.com/color
       <td>white
      <tr><td>img
       <td>.../hedral.jpeg
@@ -44265,7 +44202,7 @@
    to obtain a list of all the top-level microdata items of one type
    given in the document:</p>
 
-   <pre>var cats = document.getItems("com.example.feline");</pre>
+   <pre>var cats = document.getItems("http://example.com/feline");</pre>
 
   </div>
 
@@ -44282,11 +44219,11 @@
 
   <div class=example>
 
-   <p>This sample gets the first item of type "net.example.user" and
+   <p>This sample gets the first item of type "http://example.net/user" and
    then pops up an alert using the "name" property from
    that item.</p>
 
-   <pre>var user = document.getItems('net.example.user')[0];
+   <pre>var user = document.getItems('http://example.net/user')[0];
 alert('Hello ' + user.properties['name'][0].content + '!');</pre>
 
   </div>
@@ -44300,12 +44237,12 @@
 
   <div class=example>
 
-   <p>In an earlier example, a "org.example.animals.cat" item had two
-   "com.example.color" values. This script looks up the first such
+   <p>In an earlier example, a "http://example.org/animals#cat" item had two
+   "http://example.com/color" values. This script looks up the first such
    item and then lists all its values.</p>
 
-   <pre>var cat = document.getItems('org.example.animals.cat')[0];
-var colors = cat.properties['com.example.color'].values;
+   <pre>var cat = document.getItems('http://example.com/animals#cat')[0];
+var colors = cat.properties['http://example.com/color'].values;
 var result;
 if (colors.length == 0) {
   result = 'Color unknown.';
@@ -44346,12 +44283,12 @@
 
    <p>If faced with the following from an earlier example:</p>
 
-   <pre><section itemscope item="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+   <pre><section itemscope item="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>
 
@@ -44359,12 +44296,12 @@
 
    <ul><li>
      <ul><li>name</li>
-      <li>com.example.fn</li>
+      <li>http://example.com/fn</li>
       <li>desc</li>
-      <li>com.example.color</li>
+      <li>http://example.com/color</li>
       <li>img</li>
      </ul></li>
-   </ul><p>(The duplicate occurrence of "com.example.color" is not included
+   </ul><p>(The duplicate occurrence of "http://example.com/color" is not included
    in the list.)</p>
 
   </div>
@@ -44416,15 +44353,13 @@
   specified, to give the <a href=#item-type>item type</a> of the <a href=#concept-item title=concept-item>item</a>.</p>
 
   <p>The <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if
-  specified, must have a value that is either:</p>
+  specified, must have a value that is a <a href=#valid-url>valid URL</a> that
+  is an <a href=#absolute-url>absolute URL</a> for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
+  <a href=#prefix-match>prefix match</a>.</p> <!-- we disallow that prefix so that
+  we have somewhere to put future extensions, e.g. if we ever support
+  short type names -->
 
-  <ul><li>A <a href=#valid-url>valid URL</a> that is an <a href=#absolute-url>absolute URL</a>
-   for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
-   <a href=#prefix-match>prefix match</a>, or</li>
-
-   <li>A <a href=#valid-reversed-dns-identifier>valid reversed DNS identifier</a>.</li>
-
-  </ul><p>The <dfn id=item-type>item type</dfn> of an <a href=#concept-item title=concept-item>item</a> is the value of its element's <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if it has one and
+  <p>The <dfn id=item-type>item type</dfn> of an <a href=#concept-item title=concept-item>item</a> is the value of its element's <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute, if it has one and
   its value is not the empty string. If the <code title=attr-itemtype><a href=#attr-itemtype>itemtype</a></code> attribute is missing or its
   value is the empty string, the <a href=#concept-item title=concept-item>item</a> is said to have no <a href=#item-type>item
   type</a>.</p>
@@ -44479,8 +44414,6 @@
    for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
    <a href=#prefix-match>prefix match</a>, or</li>
 
-   <li>A <a href=#valid-reversed-dns-identifier>valid reversed DNS identifier</a>, or</li>
-
    <li>If the item is a <a href=#typed-item>typed item</a>: a <dfn id=defined-property-name>defined
    property name</dfn> allowed in this situation according to the
    specification that defines the <a href=#relevant-type>relevant type</a> for the
@@ -45011,13 +44944,18 @@
 
      <li>
 
-      <p>For each token <var title="">token</var> in <var title="">list of tokens</var> that contains neither a U+003A
-      COLON character (:) nor a U+002E FULL STOP character (.),
-      generate the following triple:</p>
+      <p>For each token <var title="">token</var> in <var title="">list of tokens</var> that contains no U+003A COLON
+      characters (:), generate the following triple:</p>
 
       <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
        <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and <var title="">token</var>, with any characters in <var title="">token</var> that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
        <dt>object    <dd> the <a href=#absolute-url>absolute URL</a> that results from <a href=#resolve-a-url title="resolve a URL">resolving</a> the value of the element's <code title="">href</code> attribute relative to the element
+      </dl><p>For each token <var title="">token</var> in <var title="">list of tokens</var> that is an <a href=#absolute-url>absolute
+      URL</a>, generate the following triple:</p>
+
+      <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
+       <dt>predicate <dd> <var title="">token</var>
+       <dt>object    <dd> the <a href=#absolute-url>absolute URL</a> that results from <a href=#resolve-a-url title="resolve a URL">resolving</a> the value of the element's <code title="">href</code> attribute relative to the element
       </dl></li>
 
     </ol></li>
@@ -45028,12 +44966,21 @@
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
-    contains neither a U+003A COLON character (:) nor a U+002E FULL
-    STOP character (.), generate the following triple:</p>
+    contains no U+003A COLON characters (:), generate the following
+    triple:</p>
 
     <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
      <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute, <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, with any characters in the value that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
-     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown.
+     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
+    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
+    a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
+    value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute is
+    an <a href=#absolute-url>absolute URL</a>, generate the following triple:</p>
+
+    <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
+     <dt>predicate <dd> the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
+     <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
     </dl></li>
 
    <li>
@@ -45083,14 +45030,12 @@
    <a href=#absolute-url>absolute URL</a>, let <var title="">subject</var> be that
    <a href=#global-identifier>global identifier</a>. Otherwise, let <var title="">subject</var> be a new blank node.</li>
 
-   <li><p>Let <var title="">type</var> be the <a href=#item-type>item type</a>
-   of <var title="">item</var>, or the empty string, if <var title="">item</var> has no <a href=#item-type>item type</a>.</li>
+   <li><p>If <var title="">item</var> has an <a href=#item-type>item type</a>
+   and that <a href=#item-type>item type</a> is an <a href=#absolute-url>absolute URL</a>,
+   let <var title="">type</var> be that <a href=#item-type>item
+   type</a>. Otherwise, let <var title="">type</var> be the empty
+   string.</li>
 
-   <li><p>If <var title="">type</var> is neither the empty string nor
-   an <a href=#absolute-url>absolute URL</a>, then let <var title="">type</var> be
-   the result of concatenating the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" with the <var title="">type</var>, with any characters in <var title="">type</var> that are not valid in the <ifragment>
-   production of the IRI syntax being %-escaped.</li>
-
    <li>
 
     <p>If <var title="">type</var> is not the empty string, generate
@@ -45141,8 +45086,8 @@
          <dt>object    <dd> <var title="">value</var>
         </dl></dd>
 
-       <dt>If <var title="">name</var> contains neither a U+003A COLON
-       character (:) nor a U+002E FULL STOP character (.)</dt>
+       <dt>If <var title="">name</var> contains no U+003A COLON
+       character (:)</dt>
 
        <dd>
 
@@ -45157,8 +45102,8 @@
          SIGN character (#) to <var title="">predicate</var>.</li>
 
          <li><p>Append a U+003A COLON character (:) to <var title="">predicate</var>.</li> <!-- has to be something
-         not in /name/, so either "." or ":", so that a different
-         type/name combination couldn't generate the same string -->
+         not in /name/, so ":", so that a different type/name
+         combination couldn't generate the same string -->
 
          <li><p>Append the value of <var title="">name</var> to <var title="">predicate</var>, with any characters in <var title="">name</var> that are not valid in the <ifragment>
          production of the IRI syntax being %-escaped.</li>
@@ -45174,17 +45119,6 @@
 
         </ol></dd>
 
-       <dt>Otherwise</dt>
-
-       <dd>
-
-        <p>Generate the following triple:</p>
-
-        <dl class=triple><dt>subject   <dd> <var title="">subject</var>
-         <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" and <var title="">name</var>, with any characters in <var title="">name</var> that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
-         <dt>object    <dd> <var title="">value</var>
-        </dl></dd>
-
       </dl></li>
 
     </ol></li>

Modified: source
===================================================================
--- source	2009-10-16 20:26:37 UTC (rev 4151)
+++ source	2009-10-16 20:57:14 UTC (rev 4152)
@@ -4177,64 +4177,7 @@
 
 
 
-  <h4>Reversed DNS identifiers</h4>
 
-  <p>A <dfn>valid reversed DNS identifier</dfn> is a string that
-  consists of a series of IDNA labels in reverse order (i.e. starting
-  with the top-level domain), the prefix of which, when reversed and
-  converted to ASCII, corresponds to a registered domain. <a
-  href="#refsRFC3490">[RFC3490]</a></p>
-
-  <p class="example">For instance, the string "<code
-  title="">com.example.xn--74h</code>" is a <span>valid reversed DNS
-  identifier</span> because the string "<code
-  title="">example.com</code>" is a registered domain.</p>
-
-  <div class="impl">
-
-  <p>To check if a string is a <span>valid reversed DNS
-  identifier</span>, conformance checkers must run the following algorithm:</p>
-
-  <ol>
-
-   <li>
-
-    <p>Apply the IDNA ToASCII algorithm to the string, with both the
-    AllowUnassigned and UseSTD3ASCIIRules flags set, but between steps
-    2 and 3 of the general ToASCII/ToUnicode algorithm (i.e. after
-    splitting the domain name into individual labels), reverse the
-    order of the labels.</p>
-
-    <p>If ToASCII fails to convert one of the components of the
-    string, e.g. because it is too long or because it contains invalid
-    characters, then the string is not valid; abort these steps. <a
-    href="#refsRFC3490">[RFC3490]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the end of the resulting string matches a suffix in
-    the Public Suffix List, and that there is at least one domain
-    label before the matching substring. If it does not, or if there
-    is not, then the string is not valid; abort these steps. <a
-    href="#refsPSL">[PSL]</a></p>
-
-   </li>
-
-   <li>
-
-    <p>Check that the domain name up to the label before the prefix
-    that was matched in the previous string is a registered domain
-    name.</p>
-
-   </li>
-
-  </ol>
-
-  </div>
-
-
   <h4 id="syntax-references">References</h4>
 
   <p>A <dfn>valid hash-name reference</dfn> to an element of type <var
@@ -49214,22 +49157,10 @@
 
   <p>For this purpose, it is necessary to give each <span
   title="concept-item">item</span> a type, such as
-  "com.example.person", or "org.example.cat", or
-  "net.example.band". Types are identified in two ways:</p>
+  "http://example.com/person", or "http://example.org/cat", or
+  "http://band.example.net/". Types are identified as <span
+  title="URL">URLs</span>.</p>
 
-  <ul class="brief">
-
-   <li>As <span title="URL">URLs</span>.
-
-   <li>As <span title="valid reversed DNS identifier">reversed DNS
-   labels</span>.
-
-  </ul>
-
-  <p><span title="URL">URLs</span> are self-explanatory. <span
-  title="valid reversed DNS identifier">Reversed DNS labels</span> are
-  strings such as "org.example.animals.cat" or "com.example.band".</p>
-
   <p>The type for an <span title="concept-item">item</span> is given
   as the value of an <code title="attr-itemtype">itemtype</code>
   attribute on the same element as the <code
@@ -49237,16 +49168,16 @@
 
   <div class="example">
 
-   <p>Here, the item is "org.example.animals.cat":</p>
+   <p>Here, the item is "http://example.org/animals#cat":</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
+<pre><section itemscope itemtype="http://example.org/animals#cat">
  <h1 itemprop="name">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy black fur with white paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>In this example the "org.example.animals.cat" item has three
+   <p>In this example the "http://example.org/animals#cat" item has three
    properties, a "name" ("Hedral"), a "desc" ("Hedral is..."), and an
    "img" ("hedral.jpeg").</p>
 
@@ -49254,9 +49185,9 @@
 
   <p>An item can only have one type. The type gives the context for
   the properties, thus defining a vocabulary: a property named "class"
-  given for an item with the type "com.example.census.person" might
+  given for an item with the type "http://census.example/person" might
   refer to the economic class of an individual, while a property named
-  "class" given for an item with the type "com.example.school.teacher"
+  "class" given for an item with the type "http://example.com/school/teacher"
   might refer to the classroom a teacher has been assigned.</p>
 
 
@@ -49328,15 +49259,10 @@
   existing vocabularies, as this makes content re-use easier.</p>
 
   <p>When designing new vocabularies, identifiers can be created
-  either using <span title="URL">URLs</span>, <span title="valid
-  reversed DNS identifier">reversed DNS labels</span>, or, for
-  properties, as plain words (with no dots or colons). For URLs,
-  conflicts with other vocabularies can be avoided by only using
-  identifiers that correspond to pages that the author has control
-  over. Similarly, for reversed DNS labels conflicts can be avoided by
-  using a domain name that the author has control over, or by using
-  suffixes that correspond to the path components of pages that the
-  author has control over.</p>
+  either using <span title="URL">URLs</span>, or, for properties, as
+  plain words (with no dots or colons). For URLs, conflicts with other
+  vocabularies can be avoided by only using identifiers that
+  correspond to pages that the author has control over.</p>
 
   <div class="example">
 
@@ -49344,39 +49270,38 @@
    title="">example.com</code>, at <code
    title="">http://example.com/jon/...</code> and <code
    title="">http://example.com/adam/...</code> respectively, then they
-   could select identifiers of the form "com.example.jon.name" and
-   "com.example.adam.name" respectively.</p>
+   could select identifiers of the form "http://example.com/~jon/name" and
+   "http://example.com/~adam/name" respectively.</p>
 
   </div>
 
   <p>Properties whose names are just plain words can only be used
   within the context of the types for which they are intended;
-  properties named using URLs or reversed DNS labels can be reused in
-  items of any type. If an item has no type, and is not part of
-  another item, then if its properties have names that are just plain
-  words, they are not intended to be globally unique, and are instead
-  only intended for limited use. Generally speaking, authors are
-  encouraged to use either properties with globally unique names
-  (URLs, reversed DNS labels) or ensure that their items are
-  typed.</p>
+  properties named using URLs can be reused in items of any type. If
+  an item has no type, and is not part of another item, then if its
+  properties have names that are just plain words, they are not
+  intended to be globally unique, and are instead only intended for
+  limited use. Generally speaking, authors are encouraged to use
+  either properties with globally unique names (URLs) or ensure that
+  their items are typed.</p>
 
   <div class="example">
 
-   <p>Here, an item is an "org.example.animals.cat", and most of the
+   <p>Here, an item is an "http://example.org/animals#cat", and most of the
    properties have names that are words defined in the context of that
    type. There are also a few additional properties whose names come
    from other vocabularies.</p>
 
-<pre><section itemscope itemtype="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+<pre><section itemscope itemtype="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>   
 
-   <p>This example has one item with the type "org.example.animal.cat"
+   <p>This example has one item with the type "http://example.org/animals#cat"
    and the following properties:</p>
 
    <table>
@@ -49389,16 +49314,16 @@
       <td>name
       <td>Hedral
      <tr>
-      <td>com.example.fn
+      <td>http://example.com/fn
       <td>Hedral
      <tr>
       <td>desc
       <td>Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
      <tr>
-      <td>com.example.color
+      <td>http://example.com/color
       <td>black
      <tr>
-      <td>com.example.color
+      <td>http://example.com/color
       <td>white
      <tr>
       <td>img
@@ -49443,7 +49368,7 @@
    to obtain a list of all the top-level microdata items of one type
    given in the document:</p>
 
-   <pre>var cats = document.getItems("com.example.feline");</pre>
+   <pre>var cats = document.getItems("http://example.com/feline");</pre>
 
   </div>
 
@@ -49463,11 +49388,11 @@
 
   <div class="example">
 
-   <p>This sample gets the first item of type "net.example.user" and
+   <p>This sample gets the first item of type "http://example.net/user" and
    then pops up an alert using the "name" property from
    that item.</p>
 
-   <pre>var user = document.getItems('net.example.user')[0];
+   <pre>var user = document.getItems('http://example.net/user')[0];
 alert('Hello ' + user.properties['name'][0].content + '!');</pre>
 
   </div>
@@ -49482,12 +49407,12 @@
 
   <div class="example">
 
-   <p>In an earlier example, a "org.example.animals.cat" item had two
-   "com.example.color" values. This script looks up the first such
+   <p>In an earlier example, a "http://example.org/animals#cat" item had two
+   "http://example.com/color" values. This script looks up the first such
    item and then lists all its values.</p>
 
-   <pre>var cat = document.getItems('org.example.animals.cat')[0];
-var colors = cat.properties['com.example.color'].values;
+   <pre>var cat = document.getItems('http://example.com/animals#cat')[0];
+var colors = cat.properties['http://example.com/color'].values;
 var result;
 if (colors.length == 0) {
   result = 'Color unknown.';
@@ -49529,12 +49454,12 @@
 
    <p>If faced with the following from an earlier example:</p>
 
-   <pre><section itemscope item="org.example.animal.cat">
- <h1 itemprop="name com.example.fn">Hedral</h1>
+   <pre><section itemscope item="http://example.org/animals#cat">
+ <h1 itemprop="name http://example.com/fn">Hedral</h1>
  <p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy <span
- itemprop="com.example.color">black</span> fur with <span
- itemprop="com.example.color">white</span> paws and belly.</p>
+ itemprop="http://example.com/color">black</span> fur with <span
+ itemprop="http://example.com/color">white</span> paws and belly.</p>
  <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
 </section></pre>
 
@@ -49544,15 +49469,15 @@
     <li>
      <ul>
       <li>name</li>
-      <li>com.example.fn</li>
+      <li>http://example.com/fn</li>
       <li>desc</li>
-      <li>com.example.color</li>
+      <li>http://example.com/color</li>
       <li>img</li>
      </ul>
     </li>
    </ul>
 
-   <p>(The duplicate occurrence of "com.example.color" is not included
+   <p>(The duplicate occurrence of "http://example.com/color" is not included
    in the list.)</p>
 
   </div>
@@ -49615,19 +49540,13 @@
   title="concept-item">item</span>.</p>
 
   <p>The <code title="attr-itemtype">itemtype</code> attribute, if
-  specified, must have a value that is either:</p>
+  specified, must have a value that is a <span>valid URL</span> that
+  is an <span>absolute URL</span> for which the string "<code
+  title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
+  <span>prefix match</span>.</p> <!-- we disallow that prefix so that
+  we have somewhere to put future extensions, e.g. if we ever support
+  short type names -->
 
-  <ul>
-
-   <li>A <span>valid URL</span> that is an <span>absolute URL</span>
-   for which the string "<code
-   title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
-   <span>prefix match</span>, or</li>
-
-   <li>A <span>valid reversed DNS identifier</span>.</li>
-
-  </ul>
-
   <p>The <dfn>item type</dfn> of an <span
   title="concept-item">item</span> is the value of its element's <code
   title="attr-itemtype">itemtype</code> attribute, if it has one and
@@ -49702,8 +49621,6 @@
    title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
    <span>prefix match</span>, or</li>
 
-   <li>A <span>valid reversed DNS identifier</span>, or</li>
-
    <li>If the item is a <span>typed item</span>: a <dfn>defined
    property name</dfn> allowed in this situation according to the
    specification that defines the <span>relevant type</span> for the
@@ -53740,9 +53657,8 @@
      <li>
 
       <p>For each token <var title="">token</var> in <var
-      title="">list of tokens</var> that contains neither a U+003A
-      COLON character (:) nor a U+002E FULL STOP character (.),
-      generate the following triple:</p>
+      title="">list of tokens</var> that contains no U+003A COLON
+      characters (:), generate the following triple:</p>
 
       <dl class="triple">
        <dt>subject   <dd> <span>the document's current address</span>
@@ -53750,6 +53666,16 @@
        <dt>object    <dd> the <span>absolute URL</span> that results from <span title="resolve a URL">resolving</span> the value of the element's <code title="">href</code> attribute relative to the element
       </dl>
 
+      <p>For each token <var title="">token</var> in <var
+      title="">list of tokens</var> that is an <span>absolute
+      URL</span>, generate the following triple:</p>
+
+      <dl class="triple">
+       <dt>subject   <dd> <span>the document's current address</span>
+       <dt>predicate <dd> <var title="">token</var>
+       <dt>object    <dd> the <span>absolute URL</span> that results from <span title="resolve a URL">resolving</span> the value of the element's <code title="">href</code> attribute relative to the element
+      </dl>
+
      </li>
 
     </ol>
@@ -53762,15 +53688,27 @@
     that has a <code title="attr-meta-name">name</code> attribute and
     a <code title="attr-meta-content">content</code> attribute, if the
     value of the <code title="attr-meta-name">name</code> attribute
-    contains neither a U+003A COLON character (:) nor a U+002E FULL
-    STOP character (.), generate the following triple:</p>
+    contains no U+003A COLON characters (:), generate the following
+    triple:</p>
 
     <dl class="triple">
      <dt>subject   <dd> <span>the document's current address</span>
      <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and the value of the element's <code title="attr-meta-name">name</code> attribute, <span>converted to ASCII lowercase</span>, with any characters in the value that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href="#refsRFC3987">[RFC3987]</a>
-     <dt>object    <dd> the value of the element's <code title="attr-meta-content">content</code> attribute, as a plain literal, with the language information set from the <span>language</span> of the element, if it is not unknown.
+     <dt>object    <dd> the value of the element's <code title="attr-meta-content">content</code> attribute, as a plain literal, with the language information set from the <span>language</span> of the element, if it is not unknown
     </dl>
 
+    <p>For each <code>meta</code> element in the <code>Document</code>
+    that has a <code title="attr-meta-name">name</code> attribute and
+    a <code title="attr-meta-content">content</code> attribute, if the
+    value of the <code title="attr-meta-name">name</code> attribute is
+    an <span>absolute URL</span>, generate the following triple:</p>
+
+    <dl class="triple">
+     <dt>subject   <dd> <span>the document's current address</span>
+     <dt>predicate <dd> the value of the element's <code title="attr-meta-name">name</code> attribute
+     <dt>object    <dd> the value of the element's <code title="attr-meta-content">content</code> attribute, as a plain literal, with the language information set from the <span>language</span> of the element, if it is not unknown
+    </dl>
+
    </li>
 
    <li>
@@ -53835,18 +53773,12 @@
    <span>global identifier</span>. Otherwise, let <var
    title="">subject</var> be a new blank node.</p></li>
 
-   <li><p>Let <var title="">type</var> be the <span>item type</span>
-   of <var title="">item</var>, or the empty string, if <var
-   title="">item</var> has no <span>item type</span>.</p></li>
+   <li><p>If <var title="">item</var> has an <span>item type</span>
+   and that <span>item type</span> is an <span>absolute URL</span>,
+   let <var title="">type</var> be that <span>item
+   type</span>. Otherwise, let <var title="">type</var> be the empty
+   string.</p></li>
 
-   <li><p>If <var title="">type</var> is neither the empty string nor
-   an <span>absolute URL</span>, then let <var title="">type</var> be
-   the result of concatenating the string "<code
-   title="">http://www.w3.org/1999/xhtml/microdata#</code>" with the <var
-   title="">type</var>, with any characters in <var
-   title="">type</var> that are not valid in the <ifragment>
-   production of the IRI syntax being %-escaped.</p></li>
-
    <li>
 
     <p>If <var title="">type</var> is not the empty string, generate
@@ -53914,8 +53846,8 @@
 
        </dd>
 
-       <dt>If <var title="">name</var> contains neither a U+003A COLON
-       character (:) nor a U+002E FULL STOP character (.)</dt>
+       <dt>If <var title="">name</var> contains no U+003A COLON
+       character (:)</dt>
 
        <dd>
 
@@ -53933,8 +53865,8 @@
 
          <li><p>Append a U+003A COLON character (:) to <var
          title="">predicate</var>.</p></li> <!-- has to be something
-         not in /name/, so either "." or ":", so that a different
-         type/name combination couldn't generate the same string -->
+         not in /name/, so ":", so that a different type/name
+         combination couldn't generate the same string -->
 
          <li><p>Append the value of <var title="">name</var> to <var
          title="">predicate</var>, with any characters in <var
@@ -53957,20 +53889,6 @@
 
        </dd>
 
-       <dt>Otherwise</dt>
-
-       <dd>
-
-        <p>Generate the following triple:</p>
-
-        <dl class="triple">
-         <dt>subject   <dd> <var title="">subject</var>
-         <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" and <var title="">name</var>, with any characters in <var title="">name</var> that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href="#refsRFC3987">[RFC3987]</a>
-         <dt>object    <dd> <var title="">value</var>
-        </dl>
-
-       </dd>
-
       </dl>
 
      </li>




More information about the Commit-Watchers mailing list