- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 16 Oct 2009 20:45:39 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv16780 Modified Files: Overview.html Log Message: Remove reversed DNS label support from microdata. (whatwg r4152) Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.3300 retrieving revision 1.3301 diff -u -d -r1.3300 -r1.3301 --- Overview.html 16 Oct 2009 20:14:46 -0000 1.3300 +++ Overview.html 16 Oct 2009 20:45:30 -0000 1.3301 @@ -392,9 +392,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> @@ -4143,47 +4142,7 @@ <li><p>Return <var title="">tokens</var>.</li> - </ol></div><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 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.<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 + </ol></div><h4 id="syntax-references"><span class="secno">2.4.9 </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 document with type <var title="">type</var>.<div class="impl"> @@ -4215,7 +4174,7 @@ maybe they just don't know about combining dot above? --> - </ol></div><h4 id="mq"><span class="secno">2.4.11 </span>Media queries</h4><p>A string is a <dfn id="valid-media-query">valid media query</dfn> if it matches the + </ol></div><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 Queries specification. <a href="#refsMQ">[MQ]</a><p>A string <dfn id="matches-the-environment">matches the environment</dfn> of a view if it is the empty string, a string consisting of only <a href="#space-character" title="space @@ -39433,35 +39392,29 @@ re-used. Microdata is most useful, though, when it is used in contexts where other authors and readers are able to cooperate to make new uses of the markup.<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:<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>The type for an <a href="#concept-item" title="concept-item">item</a> is given + "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>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.<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> </div><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.<h4 id="global-identifiers-for-items"><span class="secno">5.1.4 </span>Global identifiers for items</h4><p><i>This section is non-normative.</i><p>Sometimes, an <a href="#concept-item" title="concept-item">item</a> gives information about a topic that has a global identifier. For example, books can be identified by their ISBN number.<p>Vocabularies (as identified by the <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute) can be designed @@ -39505,59 +39458,53 @@ ad-hoc vocabulary is adequate. For others, a vocabulary will need to be designed. Where possible, authors are encouraged to re-use existing vocabularies, as this makes content re-use easier.<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.<div class="example"> + 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.<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.<div class="example"> + 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.<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 @@ -39578,7 +39525,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><p>Once an element representing an <a href="#concept-item" title="concept-item">item</a> has been obtained, its properties can be extracted using the <code title="dom-properties"><a href="#dom-properties">properties</a></code> IDL attribute. This @@ -39589,11 +39536,11 @@ with that name.<p>Each element that adds a property also has a <code title="dom-itemValue"><a href="#dom-itemvalue">itemValue</a></code> IDL attribute that returns its value.<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><p>The <code><a href="#htmlpropertycollection">HTMLPropertyCollection</a></code> object, when indexed by @@ -39603,12 +39550,12 @@ values at once using <em>its</em> <code title="dom-PropertyNodeList-values"><a href="#dom-propertynodelist-values">values</a></code> attribute, which returns an array of all the values.<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.'; @@ -39645,12 +39592,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> @@ -39658,12 +39605,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><h3 id="encoding-microdata"><span class="secno">5.2 </span>Encoding microdata</h3><h4 id="the-microdata-model"><span class="secno">5.2.1 </span>The microdata model</h4><p>The microdata model consists of groups of name-value pairs known @@ -39689,13 +39636,11 @@ not be specified on <code><a href="#itemref">itemref</a></code> elements.<hr><p>Elements with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute may have an <dfn id="attr-itemtype" title="attr-itemtype"><code>itemtype</code></dfn> attribute specified, to give the <a href="#item-type">item type</a> of the <a href="#concept-item" title="concept-item">item</a>.<p>The <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute, if - specified, must have a value that is either:<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 + 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 --><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>The <a href="#item-type">item type</a> must be a type defined in an <a href="#other-applicable-specifications" title="other applicable specifications">applicable @@ -39727,8 +39672,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 @@ -40207,13 +40150,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> @@ -40224,12 +40172,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> @@ -40279,13 +40236,11 @@ <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="">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="">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> @@ -40337,8 +40292,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> @@ -40353,8 +40308,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> @@ -40370,17 +40325,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>
Received on Friday, 16 October 2009 20:45:50 UTC