Make md:item a list (if more than one item). Correct some other list generation steps.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Tue, 11 Oct 2011 12:22:05 -0700
changeset 2 24af1cde0da1
parent 1 53d8a2290460
child 3 c6cdb22f514f
Make md:item a list (if more than one item). Correct some other list generation steps.
microdata-rdf/index.html
--- a/microdata-rdf/index.html	Tue Oct 11 12:07:56 2011 -0700
+++ b/microdata-rdf/index.html	Tue Oct 11 12:22:05 2011 -0700
@@ -475,14 +475,28 @@
       algorithm generates:
     </p>
 
+    <p>Set <em>item list</em> to an empty list.</p>
+
     <p>For each element that is also a <tref>top-level item</tref> run the following algorithm:</p>
     <ol class="algorithm">
       <li>
-        <a href="generate-the-triples">Generate the triples</a> for an item item, using the
+        <a href="generate-the-triples">Generate the triples</a> for an item <em>item</em>, using the
         <tref>evaluation context</tref>.
         Let <em>result</em> be the (<tref>URI reference</tref> or <tref>blank node</tref>) subject returned.
       </li>
       <li>
+        Append <em>result</em> to <em>item list</em>.
+      </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.
+        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>
@@ -490,16 +504,8 @@
           <dt>predicate</dt>
           <dd><code>http://www.w3.org/1999/xhtml/microdata#item</code></dd>
           <dt>object</dt>
-          <dd><em>result</em></dd>
+          <dd><em>value</em></dd>
         </dl>
-        <div class="issue">
-          Editor's suggestion, remove this generation of the <tref>item</tref> triple, which only serves to
-          associate all top-level items to the document, something that is already done by virtue of being in
-          the same document.
-        </div>
-        <div class="issue">
-          If we keep md:item, the values should probably be in an rdf:List like other multi-value items.
-        </div>
       </li>
     </ol>
   </section>
@@ -539,16 +545,16 @@
         <tref>Evaluation Context</tref> if not empty.
       </li>
       <li>
+        Set <em>property list</em> to an empty mapping between properties and one or more ordered
+        <em>value</em>s as established below.
+      </li>
+      <li>
         For each element <em>element</em> that has one or more <tref>property names</tref> and is one of the
         <tref title="item properties">properties of the item</tref> <em>item</em>, in the order those elements
         are given by the algorithm that returns the <tref title="item properties">properties of the item</tref>,
         run the following substep:
         <ol class="algorithm">
           <li>
-            Set <em>property list</em> to an empty mapping between properties and one or more ordered
-            <em>value</em>s as established below.
-          </li>
-          <li>
             For each <em>name</em> in the element's <tref>property names</tref>, run the following substeps:
             <ol class="algorithm">
               <li>
@@ -590,6 +596,10 @@
             Collection</a>.
           </li>
           <li>
+            Otherwise, if <em>predicate</em> in <em>property 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>