[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