[html5] r6427 - [] (0) Drop the algorithm that describes how to convert microdata to RDF. The on [...]
whatwg at whatwg.org
whatwg at whatwg.org
Thu Aug 11 15:31:01 PDT 2011
Author: ianh
Date: 2011-08-11 15:31:00 -0700 (Thu, 11 Aug 2011)
New Revision: 6427
Modified:
complete.html
index
source
Log:
[] (0) Drop the algorithm that describes how to convert microdata to RDF. The only people who want to do this seem to want to do it for specific vocabularies so they all define vocabulary-specific conversions instead of using owl:sameAs.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=13314
Modified: complete.html
===================================================================
--- complete.html 2011-08-11 22:24:25 UTC (rev 6426)
+++ complete.html 2011-08-11 22:31:00 UTC (rev 6427)
@@ -836,15 +836,11 @@
<li><a href=#examples-2><span class=secno>5.4.2.2 </span>Examples</a></ol></li>
<li><a href=#licensing-works><span class=secno>5.4.3 </span>Licensing works</a>
<ol>
- <li><a href=#conversion-to-rdf><span class=secno>5.4.3.1 </span>Conversion to RDF</a></li>
- <li><a href=#examples-3><span class=secno>5.4.3.2 </span>Examples</a></ol></ol></li>
+ <li><a href=#examples-3><span class=secno>5.4.3.1 </span>Examples</a></ol></ol></li>
<li><a href=#converting-html-to-other-formats><span class=secno>5.5 </span>Converting HTML to other formats</a>
<ol>
<li><a href=#json><span class=secno>5.5.1 </span>JSON</a></li>
- <li><a href=#rdf><span class=secno>5.5.2 </span>RDF</a>
- <ol>
- <li><a href=#examples-4><span class=secno>5.5.2.1 </span>Examples</a></ol></li>
- <li><a href=#atom><span class=secno>5.5.3 </span>Atom</a></ol></ol></li>
+ <li><a href=#atom><span class=secno>5.5.2 </span>Atom</a></ol></ol></li>
<li><a href=#browsers><span class=secno>6 </span>Loading Web pages</a>
<ol>
<li><a href=#windows><span class=secno>6.1 </span>Browsing contexts</a>
@@ -1025,7 +1021,7 @@
<li><a href=#introduction-13><span class=secno>10.1 </span>Introduction</a>
<ol>
<li><a href=#scope-0><span class=secno>10.1.1 </span>Scope</a></li>
- <li><a href=#examples-5><span class=secno>10.1.2 </span>Examples</a>
+ <li><a href=#examples-4><span class=secno>10.1.2 </span>Examples</a>
<ol>
<li><a href=#a-background-number-crunching-worker><span class=secno>10.1.2.1 </span>A background number-crunching worker</a></li>
<li><a href=#a-worker-for-updating-a-client-side-database><span class=secno>10.1.2.2 </span>A worker for updating a client-side database</a></li>
@@ -60075,33 +60071,8 @@
</dd>
- </dl><h5 id=conversion-to-rdf><span class=secno>5.4.3.1 </span>Conversion to RDF</h5>
+ </dl><h5 id=examples-3><span class=secno>5.4.3.1 </span>Examples</h5>
- <p>For the purposes of RDF processors, the triples obtained from the
- following Turtle must be applied:</p>
-
- <pre class=turtle><http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Awork>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/2002/07/owl#sameAs> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Atitle>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://purl.org/dc/terms/title> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Aauthor>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://creativecommons.org/ns#attributionName> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Alicense>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/1999/xhtml/vocab#license> .</pre>
-
- <p class=note>The subjects of the statements above are the
- predicates that result from <a href=#extracting-rdf title="extracting rdf">converting
- to RDF</a> an HTML page containing microdata with an item whose
- <a href=#item-type title="item type">type</a> is "<code title=md-work><a href=#md-work>http://n.whatwg.org/work</a></code>".</p>
-
-
-
- <h5 id=examples-3><span class=secno>5.4.3.2 </span>Examples</h5>
-
<p><i>This section is non-normative.</i></p>
<div class=example>
@@ -60219,407 +60190,14 @@
<li><p>Return <var title="">result</var>.</li>
- </ol><h4 id=rdf><span class=secno>5.5.2 </span>RDF</h4>
+ </ol></div><!--data-component-->
- <p>To <dfn id=extracting-rdf title="extracting rdf">convert a <code>Document</code> to
- RDF</dfn>, a user agent may run the following algorithm. This is not
- the only algorithm that can be used for this purpose; for instance,
- a vocabulary could define a specific conversion which is optimised
- for the terms in that vocabulary.</p>
- <ol><li>
- <p>If <a href=#the-title-element-0>the <code>title</code> element</a> is not null,
- then 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> <code title="">http://purl.org/dc/terms/title</code>
- <dt>object <dd> the concatenation of the data of all the child <a href=#text-node title="text node">text nodes</a> of <a href=#the-title-element-0>the <code>title</code> element</a>, in <a href=#tree-order>tree order</a>, as a plain literal, with the language information set from the <a href=#language>language</a> of <a href=#the-title-element-0>the <code>title</code> element</a>, if it is not unknown.
-
- </dl></li>
-
- <li>
-
- <p>For each <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and
- <code><a href=#the-link-element>link</a></code> element in the <code><a href=#document>Document</a></code>, run these
- substeps:</p>
-
- <ol><li><p>If the element does not have a <code title="">rel</code>
- attribute, then skip this element.</li>
-
- <li><p>If the element does not have an <code title="">href</code>
- attribute, then skip this element.</li>
-
- <li><p>If <a href=#resolve-a-url title="resolve a URL">resolving</a> the
- element's <code title="">href</code> attribute relative to the
- element is not successful, then skip this element.</li>
-
- <li><p>Otherwise, <a href=#split-a-string-on-spaces title="split a string on spaces">split
- the value of the element's <code title="">rel</code> attribute on
- spaces</a>, obtaining <var title="">list of tokens</var>.</li>
-
- <li><p>Convert each token in <var title="">list of tokens</var>
- that does not contain a U+003A COLON characters (:) <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">to ASCII
- lowercase</a>.</li>
-
- <li><p>Coalesce duplicate tokens in <var title="">list of
- tokens</var>.</li>
-
- <li><p>If <var title="">list of tokens</var> contains both the
- tokens <code title=rel-alternate><a href=#rel-alternate>alternate</a></code> and <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, then remove them both
- and replace them with the single (uppercase) token <code title="">ALTERNATE-STYLESHEET</code>.</li>
-
- <li>
-
- <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 <a href=#fragment-escaped>fragment-escaped</a> concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and <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><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>
-
- <li>
-
- <p>For each <code><a href=#the-meta-element>meta</a></code> element in the <code><a href=#document>Document</a></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
- 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 <a href=#fragment-escaped>fragment-escaped</a> 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>
- <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=#the-meta-element>meta</a></code> element in the <code><a href=#document>Document</a></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>
-
- <p>For each <code><a href=#the-blockquote-element>blockquote</a></code> and <code><a href=#the-q-element>q</a></code> element in
- the <code><a href=#document>Document</a></code> that has a <code title="">cite</code>
- attribute that <a href=#resolve-a-url title="resolve a url">resolves</a>
- successfully relative to the element, 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> <code title="">http://purl.org/dc/terms/source</code>
- <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="">cite</code> attribute relative to the element
- </dl></li>
-
- <li>
-
- <p>Let <var title="">memory</var> be a mapping of items to
- subjects, initially empty.</p>
-
- </li>
-
- <li>
-
- <p>For each element that is also a <a href=#top-level-microdata-items title="top-level
- microdata items">top-level microdata item</a>, run the
- following steps:</p>
-
- <ol><li>
-
- <p><a href=#generate-the-triples-for-an-item title="generate the triples for an item">Generate the
- triples for the item</a>. Pass a reference to <var title="">memory</var> as the item/subject list. Let <var title="">result</var> be the subject returned.</p>
-
- </li>
-
- <li>
-
- <p>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> <code title="">http://www.w3.org/1999/xhtml/microdata#item</code>
- <dt>object <dd> <var title="">result</var>
- </dl></li>
-
- </ol></li>
-
- </ol><p>When the user agent is to <dfn id=generate-the-triples-for-an-item>generate the triples for an
- item</dfn> <var title="">item</var>, given a reference to an
- item/subject list <var title="">memory</var>, and optionally given a
- fallback type <var title="">fallback type</var> and fallback
- property name <var title="">fallback name</var>, it must run the
- following steps:</p>
-
- <ol><li><p>If there is an entry for the item <var title="">item</var>
- in <var title="">memory</var>, then return the subject of that
- entry and abort these steps.</li>
-
- <li><p>If <var title="">item</var> has a <a href=#global-identifier>global
- identifier</a> and that <a href=#global-identifier>global identifier</a> is an
- <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>Add a mapping from the item <var title="">item</var> to the
- subject <var title="">subject</var> in <var title="">memory</var>.</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>
-
- <!-- The special characters used in URLs beyond this point are
- intended to make it so that a different type/name combination
- couldn't generate the same string. ":" and "%20" are used because
- they can't be put in /name/ when all this is used. -->
-
- <li>
-
- <p>If <var title="">type</var> is not the empty string, run the
- following steps:</p>
-
- <ol><li><p>Generate the following triple:</p>
-
- <dl class=triple><dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <code title="">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code>
- <dt>object <dd> <var title="">type</var>
- </dl></li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</li>
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var title="">type</var>.</li>
-
- </ol></li>
-
- <li>
-
- <p>If <var title="">type</var> is the empty string, but <var title="">fallback type</var> is not, run the following
- substeps:</p>
-
- <ol><li><p>Let <var title="">type</var> have the value of <var title="">fallback type</var>.</li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</li>
-
- <!-- Special characters beyond this point have to be something
- not in /name/ when this is used below, so either ":", %20, %0D,
- or %0A. This is so that a different type/name combination
- couldn't generate the same string. -->
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var title="">type</var>.</li>
-
- <li><p>If the last character of <var title="">type</var> is not a
- U+003A COLON character (:), append a U+0025 PERCENT SIGN
- character (%), a U+0032 DIGIT TWO character (2), and a U+0030
- DIGIT ZERO character (0) to <var title="">type</var>.</li>
-
- <li><p>Append the <a href=#fragment-escaped>fragment-escaped</a> value of <var title="">fallback name</var> to <var title="">type</var>.</li>
-
- </ol></li>
-
- <li>
-
- <p>For each element <var title="">element</var> that has one or
- more <a href=#property-names>property names</a> and is one of <a href=#the-properties-of-an-item title="the
- properties of an item">the properties of the item</a> <var title="">item</var>, in the order those elements are given by the
- algorithm that returns <a href=#the-properties-of-an-item>the properties of an item</a>, run
- the following substep:</p>
-
- <ol><li>
-
- <p>For each name <var title="">name</var> in <var title="">element</var>'s <a href=#property-names>property names</a>, run the
- following substeps:</p>
-
- <ol><li><p>If <var title="">type</var> is the empty string and <var title="">name</var> is not an <a href=#absolute-url>absolute URL</a>, then
- abort these substeps.</li>
-
- <li><p>Let <var title="">value</var> be the <a href=#concept-property-value title=concept-property-value>property value</a> of <var title="">element</var>.</li>
-
- <li><p>If <var title="">value</var> is an <a href=#concept-item title=concept-item>item</a>, then <a href=#generate-the-triples-for-an-item title="generate
- the triples for an item">generate the triples</a> for <var title="">value</var>. Pass a reference to <var title="">memory</var> as the item/subject list, and pass <var title="">type</var> as the fallback type and <var title="">name</var> as the fallback property name. Replace <var title="">value</var> by the subject returned from those
- steps.</li>
-
- <!-- could support <time> here somehow, though we'd have to
- reserialise it, check if the <time> was valid, check if it had a
- date, a time, a timezone, etc. (<code>time</code>) -->
-
- <li><p>Otherwise, if <var title="">element</var> is not one of
- the <a href=#url-property-elements>URL property elements</a>, let <var title="">value</var> be a plain literal, with the language
- information set from the <a href=#language>language</a> of the element, if
- it is not unknown.</li>
-
- <li>
-
- <dl><dt>If <var title="">name</var> is an <a href=#absolute-url>absolute
- URL</a></dt>
-
- <dd>
-
- <p>Let <var title="">predicate</var> be <var title="">name</var>.</p>
-
- </dd>
-
- <dt>If <var title="">name</var> contains no U+003A COLON
- characters (:)</dt>
-
- <dd>
-
- <ol><li><p>Let <var title="">s</var> be <var title="">type</var>.</li>
-
- <li><p>If the last character of <var title="">s</var> is
- not a U+003A COLON character (:), append a U+0025 PERCENT
- SIGN character (%), a U+0032 DIGIT TWO character (2), and a
- U+0030 DIGIT ZERO character (0) to <var title="">s</var>.</li>
-
- <li><p>Append the <a href=#fragment-escaped>fragment-escaped</a> value of
- <var title="">name</var> to <var title="">s</var>.</li>
-
- <li>
-
- <p>Let <var title="">predicate</var> be the concatenation
- of the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>"
- and the <a href=#fragment-escaped>fragment-escaped</a> value of <var title="">s</var>.</p> <!-- this ensures you can't use a
- URL to get the same effect -->
-
- <p class=example>For example if the string <var title="">s</var> is "<code title="">http://example.com/a#:q%20r</code>", the
- resulting <var title="">predicate</var> would be "<code title="">http://www.w3.org/1999/xhtml/microdata#http://example.com/a%23:q%20r</code>".</p>
-
- </li>
-
- </ol></dd>
-
- </dl></li>
-
- <li>
-
- <p>Generate the following triple:</p>
-
- <dl class=triple><dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <var title="">predicate</var>
- <dt>object <dd> <var title="">value</var>
- </dl></li>
-
- </ol></li>
-
- </ol></li>
-
- <li><p>Return <var title="">subject</var>.</li>
-
- </ol><h5 id=examples-4><span class=secno>5.5.2.1 </span>Examples</h5>
-
- <p><i>This section is non-normative.</i></p>
-
- <div class=example>
-
- <p>Here is an example of some HTML using Microdata to express RDF
- statements:</p>
-
- <pre><dl itemscope
- itemtype="http://purl.org/vocab/frbr/core#Work"
- itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N">
- <dt>Title</dt>
- <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
- <dt>By</dt>
- <dd><span itemprop="http://purl.org/dc/elements/1.1/creator">Wil Wheaton</span></dd>
- <dt>Format</dt>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596007683.BOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK">
- Print
- </dd>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596802189.EBOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK">
- Ebook
- </dd>
-</dl></pre>
-
- <p>This is equivalent to the following Turtle:</p>
-
- <pre class=turtle>@prefix dct: <http://purl.org/dc/terms/> .
- @prefix dce: <http://purl.org/dc/elements/1.1/> .
- @prefix frbr: <http://purl.org/vocab/frbr/core#> .
-
-<http://purl.oreilly.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
- dce:creator "Wil Wheaton"@en ;
- dct:title "Just a Geek"@en ;
- frbr:realization <http://purl.oreilly.com/products/9780596007683.BOOK>,
- <http://purl.oreilly.com/products/9780596802189.EBOOK> .
-
-<http://purl.oreilly.com/products/9780596007683.BOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/BOOK> .
-
-<http://purl.oreilly.com/products/9780596802189.EBOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/EBOOK> .</pre>
-
- </div>
-
- <div class=example>
-
- <p>The following snippet of HTML has microdata for two people with
- the same address:</p>
-
- <pre><p>
- Both
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Princeton</span></span></span></span>
- and
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Trekkie</span></span></span></span>
- live at
- <span id="home" itemprop="adr" itemscope><span itemprop="street-address">Avenue Q</span>.</span>
-</p></pre>
-
- <p>It generates these triples expressed in Turtle (including a
- triple that in this case is expressed twice, though that is not
- meaningful in RDF):</p>
-
- <pre class=turtle><> <http://www.w3.org/1999/xhtml/microdata#item> _:n0 ;
- <http://www.w3.org/1999/xhtml/microdata#item> _:n1 .
-_:n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Princeton" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n0a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n0a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Princeton" .
-_:n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Trekkie" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n1a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n1a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Trekkie" .
-_:n2 <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" .</pre>
-
- </div>
-
-
-
- </div><!--data-component-->
-
<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <h4 id=atom><span class=secno>5.5.3 </span>Atom</h4>
+ <h4 id=atom><span class=secno>5.5.2 </span>Atom</h4>
<p>Given a <code><a href=#document>Document</a></code> <var title="">source</var>, a user
agent may run the following algorithm to <dfn id=extracting-atom title="extracting
@@ -77504,7 +77082,7 @@
start-up performance cost, and a high per-instance memory cost.</p>
- <h4 id=examples-5><span class=secno>10.1.2 </span>Examples</h4>
+ <h4 id=examples-4><span class=secno>10.1.2 </span>Examples</h4>
<p><i>This section is non-normative.</i></p>
Modified: index
===================================================================
--- index 2011-08-11 22:24:25 UTC (rev 6426)
+++ index 2011-08-11 22:31:00 UTC (rev 6427)
@@ -836,15 +836,11 @@
<li><a href=#examples-2><span class=secno>5.4.2.2 </span>Examples</a></ol></li>
<li><a href=#licensing-works><span class=secno>5.4.3 </span>Licensing works</a>
<ol>
- <li><a href=#conversion-to-rdf><span class=secno>5.4.3.1 </span>Conversion to RDF</a></li>
- <li><a href=#examples-3><span class=secno>5.4.3.2 </span>Examples</a></ol></ol></li>
+ <li><a href=#examples-3><span class=secno>5.4.3.1 </span>Examples</a></ol></ol></li>
<li><a href=#converting-html-to-other-formats><span class=secno>5.5 </span>Converting HTML to other formats</a>
<ol>
<li><a href=#json><span class=secno>5.5.1 </span>JSON</a></li>
- <li><a href=#rdf><span class=secno>5.5.2 </span>RDF</a>
- <ol>
- <li><a href=#examples-4><span class=secno>5.5.2.1 </span>Examples</a></ol></li>
- <li><a href=#atom><span class=secno>5.5.3 </span>Atom</a></ol></ol></li>
+ <li><a href=#atom><span class=secno>5.5.2 </span>Atom</a></ol></ol></li>
<li><a href=#browsers><span class=secno>6 </span>Loading Web pages</a>
<ol>
<li><a href=#windows><span class=secno>6.1 </span>Browsing contexts</a>
@@ -59942,33 +59938,8 @@
</dd>
- </dl><h5 id=conversion-to-rdf><span class=secno>5.4.3.1 </span>Conversion to RDF</h5>
+ </dl><h5 id=examples-3><span class=secno>5.4.3.1 </span>Examples</h5>
- <p>For the purposes of RDF processors, the triples obtained from the
- following Turtle must be applied:</p>
-
- <pre class=turtle><http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Awork>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/2002/07/owl#sameAs> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Atitle>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://purl.org/dc/terms/title> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Aauthor>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://creativecommons.org/ns#attributionName> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Alicense>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/1999/xhtml/vocab#license> .</pre>
-
- <p class=note>The subjects of the statements above are the
- predicates that result from <a href=#extracting-rdf title="extracting rdf">converting
- to RDF</a> an HTML page containing microdata with an item whose
- <a href=#item-type title="item type">type</a> is "<code title=md-work><a href=#md-work>http://n.whatwg.org/work</a></code>".</p>
-
-
-
- <h5 id=examples-3><span class=secno>5.4.3.2 </span>Examples</h5>
-
<p><i>This section is non-normative.</i></p>
<div class=example>
@@ -60086,407 +60057,14 @@
<li><p>Return <var title="">result</var>.</li>
- </ol><h4 id=rdf><span class=secno>5.5.2 </span>RDF</h4>
+ </ol></div><!--data-component-->
- <p>To <dfn id=extracting-rdf title="extracting rdf">convert a <code>Document</code> to
- RDF</dfn>, a user agent may run the following algorithm. This is not
- the only algorithm that can be used for this purpose; for instance,
- a vocabulary could define a specific conversion which is optimised
- for the terms in that vocabulary.</p>
- <ol><li>
- <p>If <a href=#the-title-element-0>the <code>title</code> element</a> is not null,
- then 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> <code title="">http://purl.org/dc/terms/title</code>
- <dt>object <dd> the concatenation of the data of all the child <a href=#text-node title="text node">text nodes</a> of <a href=#the-title-element-0>the <code>title</code> element</a>, in <a href=#tree-order>tree order</a>, as a plain literal, with the language information set from the <a href=#language>language</a> of <a href=#the-title-element-0>the <code>title</code> element</a>, if it is not unknown.
-
- </dl></li>
-
- <li>
-
- <p>For each <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and
- <code><a href=#the-link-element>link</a></code> element in the <code><a href=#document>Document</a></code>, run these
- substeps:</p>
-
- <ol><li><p>If the element does not have a <code title="">rel</code>
- attribute, then skip this element.</li>
-
- <li><p>If the element does not have an <code title="">href</code>
- attribute, then skip this element.</li>
-
- <li><p>If <a href=#resolve-a-url title="resolve a URL">resolving</a> the
- element's <code title="">href</code> attribute relative to the
- element is not successful, then skip this element.</li>
-
- <li><p>Otherwise, <a href=#split-a-string-on-spaces title="split a string on spaces">split
- the value of the element's <code title="">rel</code> attribute on
- spaces</a>, obtaining <var title="">list of tokens</var>.</li>
-
- <li><p>Convert each token in <var title="">list of tokens</var>
- that does not contain a U+003A COLON characters (:) <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">to ASCII
- lowercase</a>.</li>
-
- <li><p>Coalesce duplicate tokens in <var title="">list of
- tokens</var>.</li>
-
- <li><p>If <var title="">list of tokens</var> contains both the
- tokens <code title=rel-alternate><a href=#rel-alternate>alternate</a></code> and <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, then remove them both
- and replace them with the single (uppercase) token <code title="">ALTERNATE-STYLESHEET</code>.</li>
-
- <li>
-
- <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 <a href=#fragment-escaped>fragment-escaped</a> concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and <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><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>
-
- <li>
-
- <p>For each <code><a href=#the-meta-element>meta</a></code> element in the <code><a href=#document>Document</a></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
- 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 <a href=#fragment-escaped>fragment-escaped</a> 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>
- <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=#the-meta-element>meta</a></code> element in the <code><a href=#document>Document</a></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>
-
- <p>For each <code><a href=#the-blockquote-element>blockquote</a></code> and <code><a href=#the-q-element>q</a></code> element in
- the <code><a href=#document>Document</a></code> that has a <code title="">cite</code>
- attribute that <a href=#resolve-a-url title="resolve a url">resolves</a>
- successfully relative to the element, 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> <code title="">http://purl.org/dc/terms/source</code>
- <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="">cite</code> attribute relative to the element
- </dl></li>
-
- <li>
-
- <p>Let <var title="">memory</var> be a mapping of items to
- subjects, initially empty.</p>
-
- </li>
-
- <li>
-
- <p>For each element that is also a <a href=#top-level-microdata-items title="top-level
- microdata items">top-level microdata item</a>, run the
- following steps:</p>
-
- <ol><li>
-
- <p><a href=#generate-the-triples-for-an-item title="generate the triples for an item">Generate the
- triples for the item</a>. Pass a reference to <var title="">memory</var> as the item/subject list. Let <var title="">result</var> be the subject returned.</p>
-
- </li>
-
- <li>
-
- <p>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> <code title="">http://www.w3.org/1999/xhtml/microdata#item</code>
- <dt>object <dd> <var title="">result</var>
- </dl></li>
-
- </ol></li>
-
- </ol><p>When the user agent is to <dfn id=generate-the-triples-for-an-item>generate the triples for an
- item</dfn> <var title="">item</var>, given a reference to an
- item/subject list <var title="">memory</var>, and optionally given a
- fallback type <var title="">fallback type</var> and fallback
- property name <var title="">fallback name</var>, it must run the
- following steps:</p>
-
- <ol><li><p>If there is an entry for the item <var title="">item</var>
- in <var title="">memory</var>, then return the subject of that
- entry and abort these steps.</li>
-
- <li><p>If <var title="">item</var> has a <a href=#global-identifier>global
- identifier</a> and that <a href=#global-identifier>global identifier</a> is an
- <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>Add a mapping from the item <var title="">item</var> to the
- subject <var title="">subject</var> in <var title="">memory</var>.</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>
-
- <!-- The special characters used in URLs beyond this point are
- intended to make it so that a different type/name combination
- couldn't generate the same string. ":" and "%20" are used because
- they can't be put in /name/ when all this is used. -->
-
- <li>
-
- <p>If <var title="">type</var> is not the empty string, run the
- following steps:</p>
-
- <ol><li><p>Generate the following triple:</p>
-
- <dl class=triple><dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <code title="">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code>
- <dt>object <dd> <var title="">type</var>
- </dl></li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</li>
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var title="">type</var>.</li>
-
- </ol></li>
-
- <li>
-
- <p>If <var title="">type</var> is the empty string, but <var title="">fallback type</var> is not, run the following
- substeps:</p>
-
- <ol><li><p>Let <var title="">type</var> have the value of <var title="">fallback type</var>.</li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</li>
-
- <!-- Special characters beyond this point have to be something
- not in /name/ when this is used below, so either ":", %20, %0D,
- or %0A. This is so that a different type/name combination
- couldn't generate the same string. -->
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var title="">type</var>.</li>
-
- <li><p>If the last character of <var title="">type</var> is not a
- U+003A COLON character (:), append a U+0025 PERCENT SIGN
- character (%), a U+0032 DIGIT TWO character (2), and a U+0030
- DIGIT ZERO character (0) to <var title="">type</var>.</li>
-
- <li><p>Append the <a href=#fragment-escaped>fragment-escaped</a> value of <var title="">fallback name</var> to <var title="">type</var>.</li>
-
- </ol></li>
-
- <li>
-
- <p>For each element <var title="">element</var> that has one or
- more <a href=#property-names>property names</a> and is one of <a href=#the-properties-of-an-item title="the
- properties of an item">the properties of the item</a> <var title="">item</var>, in the order those elements are given by the
- algorithm that returns <a href=#the-properties-of-an-item>the properties of an item</a>, run
- the following substep:</p>
-
- <ol><li>
-
- <p>For each name <var title="">name</var> in <var title="">element</var>'s <a href=#property-names>property names</a>, run the
- following substeps:</p>
-
- <ol><li><p>If <var title="">type</var> is the empty string and <var title="">name</var> is not an <a href=#absolute-url>absolute URL</a>, then
- abort these substeps.</li>
-
- <li><p>Let <var title="">value</var> be the <a href=#concept-property-value title=concept-property-value>property value</a> of <var title="">element</var>.</li>
-
- <li><p>If <var title="">value</var> is an <a href=#concept-item title=concept-item>item</a>, then <a href=#generate-the-triples-for-an-item title="generate
- the triples for an item">generate the triples</a> for <var title="">value</var>. Pass a reference to <var title="">memory</var> as the item/subject list, and pass <var title="">type</var> as the fallback type and <var title="">name</var> as the fallback property name. Replace <var title="">value</var> by the subject returned from those
- steps.</li>
-
- <!-- could support <time> here somehow, though we'd have to
- reserialise it, check if the <time> was valid, check if it had a
- date, a time, a timezone, etc. (<code>time</code>) -->
-
- <li><p>Otherwise, if <var title="">element</var> is not one of
- the <a href=#url-property-elements>URL property elements</a>, let <var title="">value</var> be a plain literal, with the language
- information set from the <a href=#language>language</a> of the element, if
- it is not unknown.</li>
-
- <li>
-
- <dl><dt>If <var title="">name</var> is an <a href=#absolute-url>absolute
- URL</a></dt>
-
- <dd>
-
- <p>Let <var title="">predicate</var> be <var title="">name</var>.</p>
-
- </dd>
-
- <dt>If <var title="">name</var> contains no U+003A COLON
- characters (:)</dt>
-
- <dd>
-
- <ol><li><p>Let <var title="">s</var> be <var title="">type</var>.</li>
-
- <li><p>If the last character of <var title="">s</var> is
- not a U+003A COLON character (:), append a U+0025 PERCENT
- SIGN character (%), a U+0032 DIGIT TWO character (2), and a
- U+0030 DIGIT ZERO character (0) to <var title="">s</var>.</li>
-
- <li><p>Append the <a href=#fragment-escaped>fragment-escaped</a> value of
- <var title="">name</var> to <var title="">s</var>.</li>
-
- <li>
-
- <p>Let <var title="">predicate</var> be the concatenation
- of the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>"
- and the <a href=#fragment-escaped>fragment-escaped</a> value of <var title="">s</var>.</p> <!-- this ensures you can't use a
- URL to get the same effect -->
-
- <p class=example>For example if the string <var title="">s</var> is "<code title="">http://example.com/a#:q%20r</code>", the
- resulting <var title="">predicate</var> would be "<code title="">http://www.w3.org/1999/xhtml/microdata#http://example.com/a%23:q%20r</code>".</p>
-
- </li>
-
- </ol></dd>
-
- </dl></li>
-
- <li>
-
- <p>Generate the following triple:</p>
-
- <dl class=triple><dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <var title="">predicate</var>
- <dt>object <dd> <var title="">value</var>
- </dl></li>
-
- </ol></li>
-
- </ol></li>
-
- <li><p>Return <var title="">subject</var>.</li>
-
- </ol><h5 id=examples-4><span class=secno>5.5.2.1 </span>Examples</h5>
-
- <p><i>This section is non-normative.</i></p>
-
- <div class=example>
-
- <p>Here is an example of some HTML using Microdata to express RDF
- statements:</p>
-
- <pre><dl itemscope
- itemtype="http://purl.org/vocab/frbr/core#Work"
- itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N">
- <dt>Title</dt>
- <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
- <dt>By</dt>
- <dd><span itemprop="http://purl.org/dc/elements/1.1/creator">Wil Wheaton</span></dd>
- <dt>Format</dt>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596007683.BOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK">
- Print
- </dd>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596802189.EBOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK">
- Ebook
- </dd>
-</dl></pre>
-
- <p>This is equivalent to the following Turtle:</p>
-
- <pre class=turtle>@prefix dct: <http://purl.org/dc/terms/> .
- @prefix dce: <http://purl.org/dc/elements/1.1/> .
- @prefix frbr: <http://purl.org/vocab/frbr/core#> .
-
-<http://purl.oreilly.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
- dce:creator "Wil Wheaton"@en ;
- dct:title "Just a Geek"@en ;
- frbr:realization <http://purl.oreilly.com/products/9780596007683.BOOK>,
- <http://purl.oreilly.com/products/9780596802189.EBOOK> .
-
-<http://purl.oreilly.com/products/9780596007683.BOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/BOOK> .
-
-<http://purl.oreilly.com/products/9780596802189.EBOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/EBOOK> .</pre>
-
- </div>
-
- <div class=example>
-
- <p>The following snippet of HTML has microdata for two people with
- the same address:</p>
-
- <pre><p>
- Both
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Princeton</span></span></span></span>
- and
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Trekkie</span></span></span></span>
- live at
- <span id="home" itemprop="adr" itemscope><span itemprop="street-address">Avenue Q</span>.</span>
-</p></pre>
-
- <p>It generates these triples expressed in Turtle (including a
- triple that in this case is expressed twice, though that is not
- meaningful in RDF):</p>
-
- <pre class=turtle><> <http://www.w3.org/1999/xhtml/microdata#item> _:n0 ;
- <http://www.w3.org/1999/xhtml/microdata#item> _:n1 .
-_:n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Princeton" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n0a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n0a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Princeton" .
-_:n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Trekkie" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n1a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n1a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Trekkie" .
-_:n2 <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" .</pre>
-
- </div>
-
-
-
- </div><!--data-component-->
-
<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <h4 id=atom><span class=secno>5.5.3 </span>Atom</h4>
+ <h4 id=atom><span class=secno>5.5.2 </span>Atom</h4>
<p>Given a <code><a href=#document>Document</a></code> <var title="">source</var>, a user
agent may run the following algorithm to <dfn id=extracting-atom title="extracting
Modified: source
===================================================================
--- source 2011-08-11 22:24:25 UTC (rev 6426)
+++ source 2011-08-11 22:31:00 UTC (rev 6427)
@@ -68104,32 +68104,8 @@
</dl>
- <h5>Conversion to RDF</h5>
- <p>For the purposes of RDF processors, the triples obtained from the
- following Turtle must be applied:</p>
- <pre class="turtle"><http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Awork>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/2002/07/owl#sameAs> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Atitle>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://purl.org/dc/terms/title> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Aauthor>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://creativecommons.org/ns#attributionName> .
-<http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Alicense>
- <http://www.w3.org/2002/07/owl#equivalentProperty>
- <http://www.w3.org/1999/xhtml/vocab#license> .</pre>
-
- <p class="note">The subjects of the statements above are the
- predicates that result from <span title="extracting rdf">converting
- to RDF</span> an HTML page containing microdata with an item whose
- <span title="item type">type</span> is "<code
- title="md-work">http://n.whatwg.org/work</code>".</p>
-
-
-
<h5>Examples</h5>
<!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
@@ -68284,508 +68260,13 @@
</ol>
+<!--END microdata-->
- <h4>RDF</h4>
+ </div><!--data-component-->
- <p>To <dfn title="extracting rdf">convert a <code>Document</code> to
- RDF</dfn>, a user agent may run the following algorithm. This is not
- the only algorithm that can be used for this purpose; for instance,
- a vocabulary could define a specific conversion which is optimised
- for the terms in that vocabulary.</p>
- <ol>
- <li>
- <p>If <span>the <code>title</code> element</span> is not null,
- then generate the following triple:</p>
-
- <dl class="triple">
- <dt>subject <dd> <span>the document's current address</span>
- <dt>predicate <dd> <code title="">http://purl.org/dc/terms/title</code>
- <dt>object <dd> the concatenation of the data of all the child <span title="text node">text nodes</span> of <span>the <code>title</code> element</span>, in <span>tree order</span>, as a plain literal, with the language information set from the <span>language</span> of <span>the <code>title</code> element</span>, if it is not unknown.
-
- </dl>
-
- </li>
-
- <li>
-
- <p>For each <code>a</code>, <code>area</code>, and
- <code>link</code> element in the <code>Document</code>, run these
- substeps:</p>
-
- <ol>
-
- <li><p>If the element does not have a <code title="">rel</code>
- attribute, then skip this element.</p></li>
-
- <li><p>If the element does not have an <code title="">href</code>
- attribute, then skip this element.</p></li>
-
- <li><p>If <span title="resolve a URL">resolving</span> the
- element's <code title="">href</code> attribute relative to the
- element is not successful, then skip this element.</p></li>
-
- <li><p>Otherwise, <span title="split a string on spaces">split
- the value of the element's <code title="">rel</code> attribute on
- spaces</span>, obtaining <var title="">list of tokens</var>.</p></li>
-
- <li><p>Convert each token in <var title="">list of tokens</var>
- that does not contain a U+003A COLON characters (:) <span
- title="converted to ASCII lowercase">to ASCII
- lowercase</span>.</p></li>
-
- <li><p>Coalesce duplicate tokens in <var title="">list of
- tokens</var>.</p></li>
-
- <li><p>If <var title="">list of tokens</var> contains both the
- tokens <code title="rel-alternate">alternate</code> and <code
- title="rel-stylesheet">stylesheet</code>, then remove them both
- and replace them with the single (uppercase) token <code
- title="">ALTERNATE-STYLESHEET</code>.</p></li>
-
- <li>
-
- <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> <span>the document's current address</span>
- <dt>predicate <dd> the <span>fragment-escaped</span> concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and <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>
-
- <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>
-
- </li>
-
- <li>
-
- <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
- 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 <span>fragment-escaped</span> 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>
- <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>
-
- <p>For each <code>blockquote</code> and <code>q</code> element in
- the <code>Document</code> that has a <code title="">cite</code>
- attribute that <span title="resolve a url">resolves</span>
- successfully relative to the element, generate the following
- triple:</p>
-
- <dl class="triple">
- <dt>subject <dd> <span>the document's current address</span>
- <dt>predicate <dd> <code title="">http://purl.org/dc/terms/source</code>
- <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="">cite</code> attribute relative to the element
- </dl>
-
- </li>
-
- <li>
-
- <p>Let <var title="">memory</var> be a mapping of items to
- subjects, initially empty.</p>
-
- </li>
-
- <li>
-
- <p>For each element that is also a <span title="top-level
- microdata items">top-level microdata item</span>, run the
- following steps:</p>
-
- <ol>
-
- <li>
-
- <p><span title="generate the triples for an item">Generate the
- triples for the item</span>. Pass a reference to <var
- title="">memory</var> as the item/subject list. Let <var
- title="">result</var> be the subject returned.</p>
-
- </li>
-
- <li>
-
- <p>Generate the following triple:</p>
-
- <dl class="triple">
- <dt>subject <dd> <span>the document's current address</span>
- <dt>predicate <dd> <code title="">http://www.w3.org/1999/xhtml/microdata#item</code>
- <dt>object <dd> <var title="">result</var>
- </dl>
-
- </li>
-
- </ol>
-
- </li>
-
- </ol>
-
- <p>When the user agent is to <dfn>generate the triples for an
- item</dfn> <var title="">item</var>, given a reference to an
- item/subject list <var title="">memory</var>, and optionally given a
- fallback type <var title="">fallback type</var> and fallback
- property name <var title="">fallback name</var>, it must run the
- following steps:</p>
-
- <ol>
-
- <li><p>If there is an entry for the item <var title="">item</var>
- in <var title="">memory</var>, then return the subject of that
- entry and abort these steps.</p></li>
-
- <li><p>If <var title="">item</var> has a <span>global
- identifier</span> and that <span>global identifier</span> is an
- <span>absolute URL</span>, let <var title="">subject</var> be that
- <span>global identifier</span>. Otherwise, let <var
- title="">subject</var> be a new blank node.</p></li>
-
- <li><p>Add a mapping from the item <var title="">item</var> to the
- subject <var title="">subject</var> in <var
- title="">memory</var>.</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>
-
- <!-- The special characters used in URLs beyond this point are
- intended to make it so that a different type/name combination
- couldn't generate the same string. ":" and "%20" are used because
- they can't be put in /name/ when all this is used. -->
-
- <li>
-
- <p>If <var title="">type</var> is not the empty string, run the
- following steps:</p>
-
- <ol>
-
- <li><p>Generate the following triple:</p>
-
- <dl class="triple">
- <dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <code title="">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code>
- <dt>object <dd> <var title="">type</var>
- </dl>
-
- </li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</p></li>
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var
- title="">type</var>.</p></li>
-
- </ol>
-
- </li>
-
- <li>
-
- <p>If <var title="">type</var> is the empty string, but <var
- title="">fallback type</var> is not, run the following
- substeps:</p>
-
- <ol>
-
- <li><p>Let <var title="">type</var> have the value of <var
- title="">fallback type</var>.</p></li>
-
- <li><p>If <var title="">type</var> does not contain a U+0023
- NUMBER SIGN character (#), then append a U+0023 NUMBER SIGN
- character (#) to <var title="">type</var>.</p></li>
-
- <!-- Special characters beyond this point have to be something
- not in /name/ when this is used below, so either ":", %20, %0D,
- or %0A. This is so that a different type/name combination
- couldn't generate the same string. -->
-
- <li><p>If <var title="">type</var> does not have a U+003A COLON
- character (:) after its U+0023 NUMBER SIGN character (#), append
- a U+003A COLON character (:) to <var
- title="">type</var>.</p></li>
-
- <li><p>If the last character of <var title="">type</var> is not a
- U+003A COLON character (:), append a U+0025 PERCENT SIGN
- character (%), a U+0032 DIGIT TWO character (2), and a U+0030
- DIGIT ZERO character (0) to <var title="">type</var>.</p></li>
-
- <li><p>Append the <span>fragment-escaped</span> value of <var
- title="">fallback name</var> to <var
- title="">type</var>.</p></li>
-
- </ol>
-
- </li>
-
- <li>
-
- <p>For each element <var title="">element</var> that has one or
- more <span>property names</span> and is one of <span title="the
- properties of an item">the properties of the item</span> <var
- title="">item</var>, in the order those elements are given by the
- algorithm that returns <span>the properties of an item</span>, run
- the following substep:</p>
-
- <ol>
-
- <li>
-
- <p>For each name <var title="">name</var> in <var
- title="">element</var>'s <span>property names</span>, run the
- following substeps:</p>
-
- <ol>
-
- <li><p>If <var title="">type</var> is the empty string and <var
- title="">name</var> is not an <span>absolute URL</span>, then
- abort these substeps.</p></li>
-
- <li><p>Let <var title="">value</var> be the <span
- title="concept-property-value">property value</span> of <var
- title="">element</var>.</p></li>
-
- <li><p>If <var title="">value</var> is an <span
- title="concept-item">item</span>, then <span title="generate
- the triples for an item">generate the triples</span> for <var
- title="">value</var>. Pass a reference to <var
- title="">memory</var> as the item/subject list, and pass <var
- title="">type</var> as the fallback type and <var
- title="">name</var> as the fallback property name. Replace <var
- title="">value</var> by the subject returned from those
- steps.</p></li>
-
- <!-- could support <time> here somehow, though we'd have to
- reserialise it, check if the <time> was valid, check if it had a
- date, a time, a timezone, etc. (<code>time</code>) -->
-
- <li><p>Otherwise, if <var title="">element</var> is not one of
- the <span>URL property elements</span>, let <var
- title="">value</var> be a plain literal, with the language
- information set from the <span>language</span> of the element, if
- it is not unknown.</p></li>
-
- <li>
-
- <dl>
-
- <dt>If <var title="">name</var> is an <span>absolute
- URL</span></dt>
-
- <dd>
-
- <p>Let <var title="">predicate</var> be <var
- title="">name</var>.</p>
-
- </dd>
-
- <dt>If <var title="">name</var> contains no U+003A COLON
- characters (:)</dt>
-
- <dd>
-
- <ol>
-
- <li><p>Let <var title="">s</var> be <var
- title="">type</var>.</p></li>
-
- <li><p>If the last character of <var title="">s</var> is
- not a U+003A COLON character (:), append a U+0025 PERCENT
- SIGN character (%), a U+0032 DIGIT TWO character (2), and a
- U+0030 DIGIT ZERO character (0) to <var
- title="">s</var>.</p></li>
-
- <li><p>Append the <span>fragment-escaped</span> value of
- <var title="">name</var> to <var title="">s</var>.</p></li>
-
- <li>
-
- <p>Let <var title="">predicate</var> be the concatenation
- of the string "<code
- title="">http://www.w3.org/1999/xhtml/microdata#</code>"
- and the <span>fragment-escaped</span> value of <var
- title="">s</var>.</p> <!-- this ensures you can't use a
- URL to get the same effect -->
-
- <p class="example">For example if the string <var
- title="">s</var> is "<code
- title="">http://example.com/a#:q%20r</code>", the
- resulting <var title="">predicate</var> would be "<code
- title="">http://www.w3.org/1999/xhtml/microdata#http://example.com/a%23:q%20r</code>".</p>
-
- </li>
-
- </ol>
-
- </dd>
-
- </dl>
-
- </li>
-
- <li>
-
- <p>Generate the following triple:</p>
-
- <dl class="triple">
- <dt>subject <dd> <var title="">subject</var>
- <dt>predicate <dd> <var title="">predicate</var>
- <dt>object <dd> <var title="">value</var>
- </dl>
-
- </li>
-
- </ol>
-
- </li>
-
- </ol>
-
- </li>
-
- <li><p>Return <var title="">subject</var>.</p></li>
-
- </ol>
-
-
- <h5>Examples</h5>
-
- <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
-
- <div class="example">
-
- <p>Here is an example of some HTML using Microdata to express RDF
- statements:</p>
-
- <pre><dl itemscope
- itemtype="http://purl.org/vocab/frbr/core#Work"
- itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N">
- <dt>Title</dt>
- <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
- <dt>By</dt>
- <dd><span itemprop="http://purl.org/dc/elements/1.1/creator">Wil Wheaton</span></dd>
- <dt>Format</dt>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596007683.BOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK">
- Print
- </dd>
- <dd itemprop="http://purl.org/vocab/frbr/core#realization"
- itemscope
- itemtype="http://purl.org/vocab/frbr/core#Expression"
- itemid="http://purl.oreilly.com/products/9780596802189.EBOOK">
- <link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK">
- Ebook
- </dd>
-</dl></pre>
-
- <p>This is equivalent to the following Turtle:</p>
-
- <pre class="turtle">@prefix dct: <http://purl.org/dc/terms/> .
- @prefix dce: <http://purl.org/dc/elements/1.1/> .
- @prefix frbr: <http://purl.org/vocab/frbr/core#> .
-
-<http://purl.oreilly.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
- dce:creator "Wil Wheaton"@en ;
- dct:title "Just a Geek"@en ;
- frbr:realization <http://purl.oreilly.com/products/9780596007683.BOOK>,
- <http://purl.oreilly.com/products/9780596802189.EBOOK> .
-
-<http://purl.oreilly.com/products/9780596007683.BOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/BOOK> .
-
-<http://purl.oreilly.com/products/9780596802189.EBOOK> a frbr:Expression ;
- dct:type <http://purl.oreilly.com/product-types/EBOOK> .</pre>
-
- </div>
-
- <div class="example">
-
- <p>The following snippet of HTML has microdata for two people with
- the same address:</p>
-
- <pre><p>
- Both
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Princeton</span></span></span></span>
- and
- <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"><span itemprop="fn"
- ><span itemprop="n" itemscope><span itemprop="given-name">Trekkie</span></span></span></span>
- live at
- <span id="home" itemprop="adr" itemscope><span itemprop="street-address">Avenue Q</span>.</span>
-</p></pre>
-
- <p>It generates these triples expressed in Turtle (including a
- triple that in this case is expressed twice, though that is not
- meaningful in RDF):</p>
-
- <pre class="turtle"><> <http://www.w3.org/1999/xhtml/microdata#item> _:n0 ;
- <http://www.w3.org/1999/xhtml/microdata#item> _:n1 .
-_:n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Princeton" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n0a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n0a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Princeton" .
-_:n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://microformats.org/profile/hcard> ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:fn> "Trekkie" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n> _:n1a
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr> _:n2 .
-_:n1a <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:n%20given-name> "Trekkie" .
-_:n2 <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" ;
- <http://www.w3.org/1999/xhtml/microdata#http://microformats.org/profile/hcard%23:adr%20street-address> "Avenue Q" .</pre>
-
- </div>
-
-<!--END microdata-->
-
- </div><!--data-component-->
-
<div data-component="other Hixie drafts (editor: Ian Hickson)">
<h4 id="atom">Atom</h4>
More information about the Commit-Watchers
mailing list