html5/md Overview.html,1.23,1.24

Update of /sources/public/html5/md
In directory hutz:/tmp/cvs-serv16517

Modified Files:
	Overview.html 
Log Message:
Reverting itemref='' change to fix it (it broke itemref='' referencing the same properties from different items), so that the final checkin is a single checkin for ease of reference. (whatwg r4609)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/md/Overview.html,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- Overview.html	18 Jan 2010 11:03:25 -0000	1.23
+++ Overview.html	18 Jan 2010 11:09:02 -0000	1.24
@@ -949,39 +949,7 @@
   specified, must have a value that is an <span>unordered set of
   unique space-separated tokens</span> consisting of <span title="concept-ID">IDs</span> of elements in the same document; for
   each one, the element's nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, if any,
-  must not be the element with the referencing <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute specified, and the
-  element must not be <a href="#part-of-an-itemref-loop">part of an <code title="attr-itemref">itemref</code> loop</a>.<p>An element <var title="">e</var> is <dfn id="part-of-an-itemref-loop">part of an <code title="attr-itemref">itemref</code> loop</dfn> if the following
-  algorithm terminates in a failure state:<ol><li><p>Let <var title="">visited</var> be an empty list.</li>
-
-   <li><p>Let <var title="">pending</var> be a list containing only
-   the element <var title="">e</var>.</li>
-
-   <li>
-
-    <p>While <var title="">pending</var> is not empty, run the
-    following substeps:</p>
-
-    <ol><li><p>Let <var title="">current</var> be an element in <var title="">pending</var>, and remove that element from <var title="">pending</var>.</li>
-
-     <li><p>If <var title="">current</var> is in <var title="">visited</var>, terminate this algorithm in the failure
-     state.</li>
-
-     <li><p>Add <var title="">current</var> to <var title="">visited</var>.</li>
-
-     <li><p>If <var title="">current</var> has an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute but no <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute, and <var title="">current</var> is not <var title="">e</var>, then skip
-     the remainder of these substeps for this value of <var title="">current</var>.</li>
-
-     <li><p>If <var title="">current</var> has an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute and an <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute, <span title="split
-     a string on spaces">split the value of that <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute on
-     spaces</span>. For each resulting token <var title="">ID</var>,
-     if there is an element in the document with the <span title="concept-ID">ID</span> <var title="">ID</var>, then add the
-     first such element to <var title="">pending</var>.</li>
-
-     <li><p>Add all the children elements of <var title="">current</var> to <var title="">pending</var>.</li>
-
-    </ol></li>
-
-  </ol><p>The <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute must not
+  must not be the element with the referencing <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute specified.<p>The <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute must not
   be specified on elements that do not have an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified.<h3 id="names:-the-itemprop-attribute"><span class="secno">4.3 </span>Names: the <dfn title="attr-itemprop"><code>itemprop</code></dfn> attribute</h3><p>Every <span title="HTML elements">HTML element</span> may have an
   <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute specified, if
   doing so <a href="#the-properties-of-an-item" title="the properties of an item">adds a
@@ -1132,11 +1100,6 @@
   <code>time</code> element.<h3 id="associating-names-with-items"><span class="secno">4.5 </span>Associating names with items</h3><p>To find <dfn id="the-properties-of-an-item">the properties of an item</dfn>, the user agent must
   run the following steps:<ol><li><p>Let <var title="">root</var> be the element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute.</li>
 
-   <li><p>If <var title="">root</var> is <a href="#part-of-an-itemref-loop">part of an <code title="attr-itemref">itemref</code> loop</a>, then return an
-   empty list as the <a href="#the-properties-of-an-item" title="the properties of an
-   item">properties of the item</a> <var title="">root</var> and
-   abort these steps.</li>
-
    <li><p>Let <var title="">pending</var> be a stack of elements
    initially containing the child elements of <var title="">root</var>, if any. This list will be the one that holds
    the elements that still need to be crawled.</li>
@@ -1147,10 +1110,32 @@
 
    <li><p>If <var title="">root</var> has an <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute, <span title="split a
    string on spaces">split the value of that <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute on spaces</span>. For
-   each resulting token <var title="">ID</var>, if there is an element
-   in the document with the <span title="concept-ID">ID</span> <var title="">ID</var> and the first such element is not <a href="#part-of-an-itemref-loop">part of
-   an <code title="attr-itemref">itemref</code> loop</a>, then push
-   the first such element onto <var title="">pending</var>.</li>
+   each resulting token, <var title="">ID</var>, if there is an
+   element in the document with the <span title="concept-ID">ID</span>
+   <var title="">ID</var>, then push the first such element onto <var title="">pending</var>.</li>
+
+   <li>
+
+    <p>For each element <var title="">candidate</var> in <var title="">pending</var>, run the following substeps:</p>
+
+    <ol><li><p>Let <var title="">scope</var> be <var title="">candidate</var>'s nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, if
+     any, or null otherwise.</li>
+
+     <li><p>If one of the other elements in <var title="">pending</var>
+     is also <var title="">candidate</var>, then remove <var title="">candidate</var> from <var title="">pending</var>
+     (i.e. remove duplicates).</li>
+
+     <li><p>Otherwise, if one of the other elements in <var title="">pending</var> is an ancestor element of <var title="">candidate</var>, and that element is <var title="">scope</var>, then remove <var title="">candidate</var>
+     from <var title="">pending</var> (since <var title="">candidate</var> will be reached anyway as part of
+     processing <var title="">scope</var>).</li>
+
+     <li><p>Otherwise, if one of the other elements in <var title="">pending</var> is an ancestor element of <var title="">candidate</var>, and either <var title="">scope</var> is
+     null or that element also has <var title="">scope</var> as its
+     nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, then
+     remove <var title="">candidate</var> from <var title="">pending</var> (since <var title="">candidate</var> will
+     be reached anyway as part of processing <var title="">scope</var>).</li>
+
+    </ol></li>
 
    <li><p>Sort <var title="">pending</var> in <span>tree
    order</span>.</li>

Received on Monday, 18 January 2010 11:09:06 UTC