Minor expansion algorithm tweaks
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Sat, 31 Mar 2012 16:26:10 +0800
changeset 441 2e7621ef011f
parent 440 c7192edd0562
child 442 398e23d00902
Minor expansion algorithm tweaks

Basically just reordering of some steps to prevent unnecessary processing and some formatting.
spec/latest/json-ld-api/index.html
--- a/spec/latest/json-ld-api/index.html	Fri Mar 30 09:10:40 2012 -0700
+++ b/spec/latest/json-ld-api/index.html	Sat Mar 31 16:26:10 2012 +0800
@@ -1189,15 +1189,15 @@
         property.</li>
       <li>For each <em>property</em> and <em>value</em> in <em>element</em>:
         <ol class="algorithm">
+          <li>If <em>value</em> is <tref>null</tref>, remove <em>property</em> from <em>element</em>
+            and continue with the next property from <em>element</em>.</li>
+          <li>Otherwise, if <em>value</em> is a <tref>JSON object</tref> having either a <code>@value</code>,
+            <code>@list</code>, or <code>@set</code> property (or an alias thereof) with a <tref>null</tref> value,
+            remove <em>property</em> from <em>element</em> and continue with the next property from <em>element</em>.</li>
           <li>Set <em>property</em> as <tref>active property</tref> and the result
             of performing <a href="#iri-expansion">IRI Expansion</a> on <em>property</em> as
             <em>expanded property</em>.</li>
-          <li>If <em>value</em> is <tref>null</tref>, skip this property/value pair and remove
-            <em>property</em> from <em>element</em></li>
-          <li>Otherwise, if <em>value</em> is a <tref>JSON object</tref> having either a <code>@value</code>,
-            <code>@list</code>, or <code>@set</code> property (or an alias thereof) with a <tref>null</tref> value,
-            skip this property/value pair and remove <em>property</em> from <em>element</em>.</li>
-          <li>Otherwise, if <em>value</em> is a <tref>JSON object</tref> having a <code>@set</code>
+          <li>If <em>value</em> is a <tref>JSON object</tref> having a <code>@set</code>
             property (or an alias thereof) with a non-<tref>null</tref> value, replace <em>value</em> with the
             value of <code>@set</code>.</li>
           <li>Otherwise, if <em>value</em> is a <tref>JSON object</tref> having a <code>@list</code> property
@@ -1207,11 +1207,11 @@
             Add an entry in the output object for <em>expanded property</em> with value and continue to the
             next entry in <em>element</em>.
             If the output object already has a value for <em>expanded property</em>, throw an exception.
+            Continue with the next property from <em>element</em>.
             <p class="issue">This is currently being discussed in <a href="https://github.com/json-ld/json-ld.org/issues/92">ISSUE 92</a></p>
           </li>
-          <li>If the <em>expanded property</em> is <code>@id</code> and the <em>value</em>
-            is a <tref>string</tref>, expand the value according to
-            <a href="#iri-expansion">IRI Expansion</a>.</li>
+          <li>If the <em>expanded property</em> is <code>@id</code> and the <em>value</em> is a <tref>string</tref>,
+            expand the <em>value</em> according to <a href="#iri-expansion">IRI Expansion</a>.</li>
           <li>Otherwise, if the <em>expanded property</em> is <code>@type</code> and the <em>value</em>
             is a <tref>string</tref> expand <em>value</em> according to <a href="#iri-expansion">IRI Expansion</a>.
             If <em>element</em> has no <code>@value</code> property (or an alias thereof), replace <em>value</em>
@@ -1220,10 +1220,10 @@
             <em>value</em> is an <tref>array</tref>, expand every entry according to
             <a href="#iri-expansion">IRI Expansion</a>.</li>
           <li>Otherwise, if the <em>expanded property</em> is <code>@value</code>,
-            the value is not subject to further expansion.</li>
+            the <em>value</em> is not subject to further expansion.</li>
           <li>Otherwise, if the <em>expanded property</em> is <code>@graph</code>,
             replace the entire object with the result of performing this algorithm on the members
-            of the value and terminate further processing of this object.</li>
+            of the <em>value</em> and terminate further processing of this object.</li>
           <li>Process <em>value</em> as follows:
             <ol class="algorithm">
               <li>If the <em>value</em> is an <tref>array</tref>, and <tref>active property</tref>