--- a/microdata-rdf/index.html Wed Nov 16 13:53:03 2011 -0800
+++ b/microdata-rdf/index.html Wed Nov 16 15:23:06 2011 -0800
@@ -377,7 +377,7 @@
Should the <tref>registry</tref> allow property datatype specification.
</dd>
<dt><a href="http://www.w3.org/2011/htmldata/track/issues/4">ISSUE 4</a></dt><dd>
- Should the <tref>registry</tref> allow a <tref>property name</tref> or URI to be used as an alias for <aref>itemid</aref>.
+ Should the <tref>registry</tref> allow a <tref>property name</tref> or URL to be used as an alias for <aref>itemid</aref>.
</dd>
</dl>
@@ -386,13 +386,11 @@
the Task Force are the following:</p>
<ul>
<li>Property URI generation using the original microdata specification with a base URI and fragment
- made up of the in-scope <aref>itemtype</aref> and <aref>itemprop</aref> elements.</li>
+ made up of the in-scope <tref>item type</tref> and <tref>property name</tref>s.</li>
<li>Vocabulary-based URI generation, where the <tref>vocabulary</tref> is determined from the
- in-scope <aref>itemtype</aref>, either through an algorithmic modification of the type URI or by matching the
- URI against a <tref>registry</tref>. The vocabulary URI is then used to generate property URIs in a namespace
+ in-scope <tref>item type</tref>, either through an algorithmic modification of the type URL or by matching the
+ URL against a <tref>registry</tref>. The vocabulary URI is then used to generate property URIs in a namespace
parallel to the type URI.</li>
- <li>Type-based URI generation, where the URI of the in-scope <aref>itemtype</aref> forms the base of property URI
- by adding the property to the type URI as a fragment.</li>
<li>When there are multiple <tref>top-level item</tref>s in a document, place items in an RDF Collection.
Alternatively, simply list the items as multiple values, or do not generate an
<code>http://www.w3.org/ns/md#item</code> mapping at all.</li>
@@ -435,7 +433,7 @@
<code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
</dd>
<dt><adef>itemid</adef></dt><dd>
- An attribute containing a URI used to identify the subject of triples associated with this <tref>item</tref>.
+ An attribute containing a URL used to identify the subject of triples associated with this <tref>item</tref>.
(See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemid">Items</a></cite>
in [[!MICRODATA]]).
</dd>
@@ -443,7 +441,7 @@
An attribute used to identify one or more properties to one ore more <tref>item</tref>s. An <aref>itemprop</aref>
contains a space separated list of <tdef>name</tdef>s which may either by <tref>absolute URL</tref>s or terms
associated with the type of the <tref>item</tref> as defined by the referencing <trdf>item</trdf>'s
- <aref>itemtype</aref>.
+ <tref>item type</tref>.
(See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemprop">Items</a></cite>
in [[!MICRODATA]]).
</dd>
@@ -460,7 +458,10 @@
</dd>
<dt><adef>itemtype</adef></dt><dd>
An additional attribute on an element used to specify one or more types of an <tref>item</tref>.
- The specified type is also used to resolve non-URI <tref>name</tref>s to <tref>absolute URL</tref>s.
+ The <tdef>item type</tdef> of an item, is the first value returned from
+ <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+ on the element.
+ The <tref>item type</tref> is also used to resolve non-URL <tref>name</tref>s to <tref>absolute URL</tref>s.
Available through the
<cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite> as
<code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>.
@@ -510,9 +511,9 @@
-->
</pre>
<p>This structure associates mappings for two URIs, <code>http://schema.org/</code> and
- <code>http://microformats.org/profile/hcard</code>. Items having an <aref>itemtype</aref> with a <tref>URI
+ <code>http://microformats.org/profile/hcard</code>. Items having an <tref>item type</tref> with a <tref>URI
prefix</tref> from this <tref>registry</tref> use the the rules described for that prefix within the scope of that
- <aref>itemtype</aref>. This mapping currently defines two rules: <tref><code>propertyURI</code></tref> and
+ <tref>item type</tref>. This mapping currently defines two rules: <tref><code>propertyURI</code></tref> and
<tref><code>multipleValues</code></tref> with values to indicate specific behavior. It also allows overrides
on a per-property basis; the <tref><code>properties</code></tref> key associates individual <tref>property name</tref>s
with overrides for default behavior.
@@ -529,7 +530,7 @@
<p class="issue">Richard Ciganiak has
<cite><a href="http://richard.cyganiak.de/2011/10/microdata.html#whitelists">pointed out</a></cite> that
"Registry" may be the wrong term, as the proposed <tref>registry</tref> doesn't assign identifiers or manage
- namespace, it simply provides a mapping between URI prefixes and processor behavior and suggests the term
+ namespace, it simply provides a mapping between <tref>URI prefix</tref>ss and processor behavior and suggests the term
"Whitelist". As more than two values are required, and it describes more than binary behavior, this term
isn't appropriate either.</p>
@@ -600,10 +601,10 @@
<dt><code>vocabulary</code></dt><dd>
The <code>vocabulary</code> URI generation scheme appends <tref>property name</tref>s that are not <tref>absolute
URL</tref>s to the <tref>URI prefix</tref>. When generating property URIs, if the <tref>URI prefix</tref> does not end
- with a '/' or '#', a '#' is appended to the URI prefix. (See <a href="#scheme-vocab">Step 4</a> in
+ with a '/' or '#', a '#' is appended to the <tref>URI prefix</tref>. (See <a href="#scheme-vocab">Step 4</a> in
<a href="#generate-predicate-uri">Generate Predicate URI</a>.)
<div>
- <p>URI creation uses a base URI with query parameters to indicate the in-scope
+ <p>URI creation uses a base URL with query parameters to indicate the in-scope
type and <tref>property name</tref> list. Consider the following example:</p>
<pre class="example" data-transform="updateExample">
<!--
@@ -637,7 +638,7 @@
<p>If the <tref>registry</tref> contains no match for <tref>current type</tref> implementations act as if
there is a <tref>URI prefix</tref> made from the first <aref>itemtype</aref> value by stripping either
the fragment content or local name, if the value has no fragment.</p>
- <p class="note">Deconstructing the <aref>itemtype</aref> URI to create or identify a vocabulary URI
+ <p class="note">Deconstructing the <aref>itemtype</aref> URL to create or identify a vocabulary URI
is a violation of the microdata specification which is necessary to
support the use of existing vocabularies designed for use with RDF, and
shared or inherited properties within all vocabularies.</p>
@@ -826,7 +827,7 @@
</dd>
<dt><tdef>current property</tdef></dt><dd>
an <tref>absolute URL</tref> for the <em>current property</em>, used for generating URIs
- for properties of items without an explicit <aref>itemtype</aref>;
+ for properties of items without an <tref>item type</tref>;
<div class="note">
<tref>current property</tref> is required for the <code>contextual</code> property URI generation
scheme. Without this scheme, this evaluation context component would not be required.
@@ -834,7 +835,7 @@
</dd>
<dt><tdef>current type</tdef></dt><dd>
an <tref>absolute URL</tref> for the <em>current type</em>, used when an <tref>item</tref> does not
- contain an explicit <aref>itemtype</aref>;
+ contain an <tref>item type</tref>;
</dd>
<dt><tdef>current vocabulary</tdef></dt><dd>
an <tref>absolute URL</tref> for the <em>current vocabulary</em>, from the <tref>registry</tref>.
@@ -850,11 +851,30 @@
</dd>
<dt><tdef>item properties</tdef></dt><dd>
The mechanism for finding the <tref title="item properties">properties of an item</tref> The list
- of itemproperties items may be retrieved using the
+ of item properties items may be retrieved using the
<a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite>
<code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-properties">element.properties</a></cite></code>
attribute.
</dd>
+ <dt><tdef>fragment-escape</tdef></dt><dd>
+ The term <cite><a href="http://dev.w3.org/html5/spec/Overview.html#fragment-escaped">fragment-escape</a></cite>
+ is defined in [[!HTML5]]. This involves transforming elements added to URLs to ensure that the result
+ remains a valid URL. The following characters are subject to percent escaping:
+ <ul>
+ <li>U+0022 QUOTATION MARK character (")</li>
+ <li>U+0023 NUMBER SIGN character (#)</li>
+ <li>U+0025 PERCENT SIGN character (%)</li>
+ <li>U+003C LESS-THAN SIGN character (<)</li>
+ <li>U+003E GREATER-THAN SIGN character (>)</li>
+ <li>U+005B LEFT SQUARE BRACKET character ([)</li>
+ <li>U+005C REVERSE SOLIDUS character (\)</li>
+ <li>U+005D RIGHT SQUARE BRACKET character (])</li>
+ <li>U+005E CIRCUMFLEX ACCENT character (^)</li>
+ <li>U+007B LEFT CURLY BRACKET character ({)</li>
+ <li>U+007C VERTICAL LINE character (|)</li>
+ <li>U+007D RIGHT CURLY BRACKET character (})</li>
+ </ul>
+ </dd>
<dt><tdef>global identifier</tdef></dt><dd>
The value of an <tref>item</tref>'s <aref>itemid</aref> attribute, if it has one. (See <cite><a
href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemscope">Items</a></cite> in
@@ -873,58 +893,25 @@
<dt><tdef>property value</tdef></dt><dd>
The <tref>property value</tref> of a name-value pair added by an element with an <aref>itemprop</aref>
attribute depends on the element.
- The
- <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">microdata DOM API</a></cite>
- defines the
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>
- attribute that MAY be used to retrieve an item property value. Implementations
- using <code>itemValue</code> MUST coerce values with the lexical form of <tref>absolute URL</tref>
- to a <tref>URI reference</tref>. All other values MUST be coerced to an <tref>plain literal</tref>.
- Alternatively, processors MAY provide an alternative implementation of <code>itemValue</code> to provide
- extra fidelity in creating RDF resources. The behavior of this attribute depends on the element, as follows:
<dl>
<dt>If the element has no <aref>itemprop</aref> attribute</dt>
<dd>The value is null and no triple should be generated.</dd>
- <dt>If the element has an <aref>itemscope</aref> attribute</dt>
- <dd>
- The value is the <tref>item</tref> created by the element as a <tref>URI reference</tref> or
- <tref>blank node</tref>.
- </dd>
- <dt>If the element is a <code>meta</code> element</dt>
- <dd>
- The value is the <tref>plain literal</tref> created from the value of the element's <aref>content</aref>
- attribute, if any, or the empty string if there is no such attribute.
- If the language of the element is known it SHOULD be used when creating the <tref>plain literal</tref>.
- </dd>
- <dt>
- If the element is an <code>audio</code>, <code>embed</code>, <code>iframe</code>, <code>img</code>,
- <code>source</code>, <code>track</code>, or <code>video</code> element with a <aref>src</aref> attribute
- </dt>
+ <dt>If the element creates an <tref>item</tref> (by having an <aref>itemscope</aref> attribute)</dt>
<dd>
- The value is a <tref>URI reference</tref> that results from resolving the value of the element's
- <aref>src</aref> attribute as defined in <cite><a
- href="http://dev.w3.org/html5/spec/Overview.html#resolving-urls">Resolving URLs</a></cite> in
- [[!HTML5]].
+ The value is the <tref>URI reference</tref> or <tref>blank node</tref> returned from
+ <a href="#generate-the-triples">generate the triples</a> for that <tref>item</tref>.
</dd>
- <dt>
- If the element is an <code>a</code>, <code>area</code>, or <code>link</code> element with an
- <aref>href</aref> attribute
- </dt>
+ <dt>If the element is a URL property element (<code>a</code>, <code>area</code>, <code>audio</code>,
+ <code>embed</code>, <code>iframe</code>, <code>img</code>, <code>link</code>, <code>object</code>,
+ <code>source</code>, <code>track</code> or <code>video</code>)</dt>
<dd>
- The value is a <tref>URI reference</tref> that results from resolving the value of the element's
- <aref>href</aref> attribute as defined in <cite><a
- href="http://dev.w3.org/html5/spec/Overview.html#resolving-urls">Resolving URLs</a></cite> in
- [[!HTML5]].
+ The value is a <tref>URI reference</tref> created from <code><cite>
+ <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
</dd>
- <dt>If the element is an <code>object</code> element with a <aref>data</aref> attribute</dt>
- <dd>
- The value is <tref>URI reference</tref> that results from resolving the value of the element's
- <aref>data</aref> attribute as defined in <cite><a
- href="http://dev.w3.org/html5/spec/Overview.html#resolving-urls">Resolving URLs</a></cite> in
- [[!HTML5]].
+ <dt>If the element is a <code>data</code> element</dt>
+ <dd>The value is a <tref>plain literal</tref> created from <code><cite>
+ <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
</dd>
- <dt>If the element is a <code>data</code> element with a <aref>value</aref> attribute</dt>
- <dd>The value is a <tref>plain literal</tref> created from the value.</dd>
<dt>If the element is a <code>time</code> element.</dt>
<dd>The value is a <tref>literal</tref> made from the value of the <aref>datetime</aref> attribute
or the element's <code>textContent</code> if there is no <aref>datetime</aref> attribute.
@@ -974,9 +961,11 @@
</div>
</dd>
<dt>Otherwise</dt>
- <dd>
- The value is a <tref>plain literal</tref> from the element's <code>textContent</code>,
- with the language information set from the language of the element, if it is not unknown.
+ <dd>The value is a <tref>plain literal</tref> created from <code><cite>
+ <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>
+ with language information set from the
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#the-lang-and-xml:lang-attributes">lang</a></cite> \
+ IDL attribute of the property element.
</dd>
</dl>
</dd>
@@ -993,17 +982,15 @@
URI. (See [[RDF-CONCEPTS]]).
<div class="issue">
<p>The HTML5/microdata content model for <aref>href</aref>, <aref>src</aref>,
- <aref>data</aref> and <aref>itemid</aref> is that of a URL, not a URI reference. The attributes
- <aref>itemtype</aref> and <aref>itemprop</aref> may take any value, including that of a <tref>URI
- reference</tref>. Within this context, <tref>URI Reference</tref> could be replaced with <em>IRI</em> as
- well, to provide better support for international identifiers and/or locators.</p>
+ <aref>data</aref>, <aref>itemtype</aref> and <aref>itemprop</aref> and <aref>itemid</aref> is that of a URL, not a
+ URI or IRI.</p>
<p>A proposed mechanism for specifying the range of property values to be URI reference or IRI could
allow these to be specified as subject or object using a <aref>content</aref> attribute.
</div>
</dd>
<dt><tdef>vocabulary</tdef></dt><dd>
A vocabulary is a collection of URIs, suitable for use as an <aref>itemtype</aref> or <aref>itemprop</aref>
- value, that share a common <tref>URI prefix</tref>. That prefix is the vocabulary URI. A vocabulary URL is not
+ value, that share a common <tref>URI prefix</tref>. That prefix is the vocabulary URI. A vocabulary URI is not
allowed to be a prefix of another vocabulary URI.
<div class="note">
This definition differs from the language in the HTML spec and is just for the purpose of this
@@ -1019,14 +1006,10 @@
<h3>RDF Conversion Algorithm</h3>
<p>A HTML document containing microdata MAY be converted to any other RDF-compatible document
format using the algorithm specified in this section.</p>
- <p>
- The algorithm below is designed for DOM-based implementations with CSS selector access to elements.
- </p>
- <p>
- A conforming microdata processor implementing RDF conversion MUST implement a
- processing algorithm that results in the equivalent triples that the following
- algorithm generates:
- </p>
+ <p>The algorithm below is designed for DOM-based implementations.</p>
+ <p>A conforming microdata processor implementing RDF conversion MUST implement a
+ processing algorithm that results in the equivalent triples to those that the following
+ algorithm generates:</p>
<p>Set <em>item list</em> to an empty list.</p>
@@ -1044,15 +1027,12 @@
</ol>
</li>
<li>
- If <em>item list</em> contains multiple values, <a
- href="generate-collection">generate an RDF Collection</a> <em>list</em> from the ordered list of values.
+ <a
+ href="generate-collection">Generate an RDF Collection</a> <em>list</em> from the ordered list of values.
Set <em>value</em> to the value returned from <a href="#generate-collection">generate an RDF
Collection</a>.
</li>
<li>
- Otherwise, if <em>item list</em> contains a single value set <em>value</em> to that value.
- </li>
- <li>
Generate the following triple:
<dl class="triple">
<dt>subject</dt>
@@ -1084,7 +1064,9 @@
</li>
<li>Add a mapping from <em>item</em> to <em>subject</em> in <tref>memory</tref></li>
<li>
- If <em>item</em> has an <aref>itemtype</aref> attribute, extract the value as <em>type</em>.
+ For each <em>type</em> returned from
+ <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+ of the element defining the <tref>item</tref>.
</li>
<li>If <em>type</em> is an <tref>absolute URL</tref>, generate the following triple:
<dl class="triple">
@@ -1097,6 +1079,10 @@
</dl>
</li>
<li>
+ Set <em>type</em> to the first value returned from
+ <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+ of the element defining the <tref>item</tref>.
+ <li>
If <em>type</em> is not an <tref>absolute URL</tref>, set it to <tref>current type</tref> from the
<tref>Evaluation Context</tref> if not empty.
</li>
@@ -1164,14 +1150,8 @@
<li>If <em>name</em> is an <tref>absolute URL</tref>, return <em>name</em>
as a <tref>URI reference</tref>.</li>
<li>If <tref>current type</tref> from <em>context</em> is null, there can be no <tref>current vocabulary</tref>.
- Return the <tref>URI reference</tref> constructed as follows:
- <ol class="algorithm">
- <li>Let <em>s</em> be <tref>document base</tref>.</li>
- <li>If <em>s</em> does not contain a U+0023 NUMBER SIGN character (#),
- then append a U+0023 NUMBER SIGN character (#) to <em>s</em>.</li>
- <li>Return the concatenation of <em>s</em>
- and the fragment-escaped value of <em>name</em> as a <tref>URI reference</tref>.</li>
- </ol>
+ Return the <tref>URI reference</tref> that is the <tref>document base</tref> with
+ its fragment set to the <tref>fragment-escape</tref>d value of <em>name</em></p>
<div class="note">
This rule is intended to allow for a the case where no type is set, and therefore there is no
vocabulary from which to extract rules. For example, if there is a <tref>document base</tref> of
@@ -1193,11 +1173,11 @@
<li>Let <em>s</em> be <tref>current type</tref> from <em>context</em>.</li>
<li>If <code>http://www.w3.org/ns/md?type=</code> is a prefix of <em>s</em>,
return the concatenation of <em>s</em>, a U+002E FULL STOP character (.) and
- the fragment-escaped value of <em>name</em>.
+ the <tref>fragment-escape</tref>d value of <em>name</em>.
</li>
<li>Otherwise, return the concatenation of <code>http://www.w3.org/ns/md?type=</code>,
- the fragment-escaped value of <em>s</em>, the string <code>&prop=</code>,
- and the fragment-escaped value of <em>name</em>.
+ the <tref>fragment-escape</tref>d value of <em>s</em>, the string <code>&prop=</code>,
+ and the <tref>fragment-escape</tref>d value of <em>name</em>.
</li>
</ol>
</li>
@@ -1277,7 +1257,7 @@
Create a new array <em>array</em> containing a <tref>blank node</tref> for every value in <em>list</em>.
</li>
<li>
- For each pair of <em>bnode</em> and <em>value</em> from <em>array</em> and <em>list</em> the following
+ For each pair of <em>bnode</em> from <em>array</em> and <em>value</em> and <em>list</em> the following
triple is generated:
<dl class="triple">
<dt>subject</dt>
@@ -1297,7 +1277,7 @@
<dd><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#rest</code></dd>
<dt>object</dt>
<dd>
- next element in <em>array</em> or, if that does not exist,
+ next <em>bnode</em> in <em>array</em> or, if that does not exist,
<code>http://www.w3.org/1999/02/22-rdf-syntax-ns#nil</code>
</dd>
</dl>