Diff of /xml/iffy/index.html

Revision 34d8dab8f187c6d9512615dbb83c95395aa49a3b => 5fcd99373d2d940a0c6e1468979be59e2d6bcced


Line34d8dab8f187c6d9512615dbb83c95395aa49a3b5fcd99373d2d940a0c6e1468979be59e2d6bcced
1<!DOCTYPE html><!DOCTYPE html>
2<html><html>
3 <head> <head>
42 <link rel="alternate" type="application/rss+xml" title="tech.interfluidity.com updates" href="../../feed/index.rss"> <link rel="alternate" type="application/rss+xml" title="tech.interfluidity.com updates" href="../../feed/index.rss">
43 <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs" href="https://www.interfluidity.com/unify-rss/all-blogs.rss"> <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs" href="https://www.interfluidity.com/unify-rss/all-blogs.rss">
44 <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs and microblogs" href="https://www.interfluidity.com/unify-rss/all-blogs-and-microblogs.rss"> <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs and microblogs" href="https://www.interfluidity.com/unify-rss/all-blogs-and-microblogs.rss">
45 <link rel="alternate" type="application/x-single-item-rss+xml" title="The 'iffy' XML namespace" href="index.rss">
46 <link rel="stylesheet" href="../../css/style.css"> <link rel="stylesheet" href="../../css/style.css">
47 <link rel="stylesheet" href="../../css/highlightjs/steve-night-owl.css"><!-- theme for highlight.js --> <link rel="stylesheet" href="../../css/highlightjs/steve-night-owl.css"><!-- theme for highlight.js -->
48 <script src="../../js/highlight/highlight.min.js"></script> <script src="../../js/highlight/highlight.min.js"></script>
84 <hr class="below-title"> <hr class="below-title">
85 </div> </div>
86 <div class="update-prepend rss-description-exclude"> <div class="update-prepend rss-description-exclude">
87 <em> ➣  This post was meaningfully revised at 2024-07-01 @ 02:40 PM EDT. The previous revision is <a href="index-oldcommit-0df7787c056ab2b983e2de4d107c2fa477b7c8f4.html">here</a>, diff <a href="index-diff-0df7787c056ab2b983e2de4d107c2fa477b7c8f4-to-current.html">here</a>. (See <a href="index.html#update-history">update history</a>.) <br> <em> ➣  This post was meaningfully revised at 2024-11-02 @ 05:15 PM EDT. The previous revision is <a href="index-oldcommit-34d8dab8f187c6d9512615dbb83c95395aa49a3b.html">here</a>, diff <a href="index-diff-34d8dab8f187c6d9512615dbb83c95395aa49a3b-to-current.html">here</a>. (See <a href="index.html#update-history">update history</a>.) <br>
88 ➣  This post is expected to evolve over time. You can subscribe to ongoing updates <a href="index-sprout.rss">here</a>. ➣  This post is expected to evolve over time. You can subscribe to ongoing updates <a href="index-sprout.rss">here</a>.
89 <link rel="alternate" type="application/rss+xml" title="Update to The 'iffy' XML namespace" href="https://tech.interfluidity.com/xml/iffy/index-sprout.rss"></em> <link rel="alternate" type="application/rss+xml" title="Update to The 'iffy' XML namespace" href="https://tech.interfluidity.com/xml/iffy/index-sprout.rss"></em>
90 <hr> <hr>
264 <hr> <hr>
265 <h2><a href="#element--iffyprovenance-" id="element--iffyprovenance-" name="element--iffyprovenance-" class="anchorlink"></a>Element — <code>iffy:provenance</code> <a id="iffy-provenance" href=""></a></h2> <h2><a href="#element--iffyprovenance-" id="element--iffyprovenance-" name="element--iffyprovenance-" class="anchorlink"></a>Element — <code>iffy:provenance</code> <a id="iffy-provenance" href=""></a></h2>
266 <div class="iffy-element-desc"> <div class="iffy-element-desc">
267 <h3><a href="#when-an-item-level-element" id="when-an-item-level-element" name="when-an-item-level-element" class="anchorlink"></a>When an <code>item</code> level element</h3> <p>In general, this element tracks the provenance of a feed or item. It can be at the <code>channel</code>-level or at the <code>item</code>-level. Also, <code>iffy:provenance</code> elements can be nested within <code>iffy:provenance</code> elements (see below).</p>
268 <p>If present in an item, the item contains a sequence of one or more <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> elements, each of whose</p> <h3><a href="#when-no-shape-attribute-is-set-or-shapesequence" id="when-no-shape-attribute-is-set-or-shapesequence" name="when-no-shape-attribute-is-set-or-shapesequence" class="anchorlink"></a>When no <code>shape</code> attribute is set, or <code>shape="sequence"</code></h3>
269 <p><code>iffy:provenance</code> elements of shape <code>sequence</code> (the default) contain</p>
270 <ul> <ul>
271 <li><code>rel</code> attribute is MUST BE <code>via</code></li> <li>a sequence of one or more <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> elements, each of whose
272 <li><code>href</code> attribute MUST BE the URL of an RSS feed from which the base contents of this item were drawn</li> <ul>
273 <li><code>type</code> attribute SHOULD BE <code>application/rss+xml</code></li> <li><code>rel</code> attribute is MUST BE <code>via</code></li>
274 <li><code>href</code> attribute MUST BE the URL of an RSS feed from which the base contents of this item were drawn</li>
275 <li><code>type</code> attribute SHOULD BE <code>application/rss+xml</code></li>
276 </ul></li>
277 <li>optionally, a terminating <code>iffy:provenance</code> whose shape attribute is set to <code>merge</code></li>
278 </ul> </ul>
279 <p>If the item from which the current item was sourced does not contain an <code>iffy:provenance</code>, then the current item should include just one <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a>.</p> <p>If the item or channel from which the current item or channel was sourced does not contain an <code>iffy:provenance</code>, then the current item should include just one <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a>.</p>
280 <p>If the item from which the current item was sourced <em>does</em> contains an <code>iffy:provenance</code>, then the current feed SHOULD include all items of that element, with the URL of the feed from which the item was sourced PREPENDED.</p> <p>If the item from which the current item was sourced <em>does</em> contains an <code>iffy:provenance</code>:</p>
281 <p>This will ensure the most immediate source will be the first <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> element. The origin — or at least the source for which no further provenance is known — will be the last <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> element.</p> <ul>
282 <p>Processors may expect a channel level <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> element with <code>rel="self"</code> and <code>type="application/rss+xml"</code> to use as the basis for provenance in source documents. See <a href="https://www.rssboard.org/rss-profile#namespace-elements-atom-link">RSS Best Practices</a>.</p> <li>
283 <p>If the contained <code>iffy:provenance</code> has no <code>shape</code> attribute set, or if <code>shape</code> is set to <code>sequence</code>, then the current feed SHOULD include all items of that element, with the URL of the feed from which the item was sourced PREPENDED as an <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a>. This will ensure the most immediate source will be the first <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> element. The origin — or at least the source for which no further provenance is known — will be the last <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> or <code>iffy:provenance</code> subelement.</p></li>
284 <li>
285 <p>If the contained <code>iffy:provenance</code> has a <code>shape</code> attribute set to <code>merge</code>, then the full element should be included as a subelement, after an <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> to its source.</p></li>
286 </ul>
287 <p>If one is present, processors SHOULD use a channel level <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> element with <code>rel="self"</code> and <code>type="application/rss+xml"</code> to as the basis for provenance in source documents. See <a href="https://www.rssboard.org/rss-profile#namespace-elements-atom-link">RSS Best Practices</a>. However, if no such <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> is available at the <code>channel</code> level, processes may default to the URL by which they accessed the source.</p>
288 <h4><a href="#example-from-here" id="example-from-here" name="example-from-here" class="anchorlink"></a>Example (from <a href="https://www.interfluidity.com/unify-rss/all-blogs.rss">here</a>):</h4> <h4><a href="#example-from-here" id="example-from-here" name="example-from-here" class="anchorlink"></a>Example (from <a href="https://www.interfluidity.com/unify-rss/all-blogs.rss">here</a>):</h4>
289 <pre><code class="language-xml"><?xml version='1.0' encoding='UTF-8'?> <pre><code class="language-xml"><?xml version='1.0' encoding='UTF-8'?>
290
306 </channel> </channel>
307</rss></rss>
308</code></pre></code></pre>
309 <h3><a href="#when-the-shape-attribute-is-set-to-merge" id="when-the-shape-attribute-is-set-to-merge" name="when-the-shape-attribute-is-set-to-merge" class="anchorlink"></a>When the <code>shape</code> attribute is set to <code>merge</code></h3>
310 <p><code>iffy:provenance</code> elements of shape <code>merge</code> describe an <code>item</code> or <code>channel</code> that has derived from multiple sources. When <code>shape="merge"</code>, the ordering of items within <code>iffy:provenance</code> is not significant.</p>
311 <p>Any <code>iffy:provenance</code> element of shape <code>merge</code> can contain any number of <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.7"><code>atom:link</code></a> and <code>iffy:provenance</code> of shape <code>sequence</code>, or with no <code>shape</code> attribute set.</p>
312 <p>When merging items or feeds whose provenance is itself the result of a merge, processors SHOULD bring what would become elements of a nested <code>iffy:provenance</code> with <code>shape="merge"</code> into the top-level merge.</p>
313 <p>In other words, <code>iffy:provenance</code> elements with shape <code>merge</code> should not be <strong>directly</strong> nested, one inside the other. Elements of the inner <code>iffy:provenance</code> with <code>shape="merge"</code> should be flattened into the outer <code>iffy:provenance</code> with <code>shape="merge"</code>.</p>
314 <p><code>iffy:provenance</code> elements with shape <code>merge</code> CAN and SHOULD be <strong>indirectly</strong> nested, when a merge brings in an <code>iffy:provenance</code> element of shape <code>sequence</code> (or no shape set), which then includes a nested <code>iffy:provenance</code> elements with shape <code>merge</code>.</p>
315 </div> </div>
316 <hr> <hr>
317 <h2><a href="#element--iffyrestriction-" id="element--iffyrestriction-" name="element--iffyrestriction-" class="anchorlink"></a>Element — <code>iffy:restriction</code> <a id="iffy-restriction" href=""></a></h2> <h2><a href="#element--iffyrestriction-" id="element--iffyrestriction-" name="element--iffyrestriction-" class="anchorlink"></a>Element — <code>iffy:restriction</code> <a id="iffy-restriction" href=""></a></h2>
422 <hr> <hr>
423 <h2><a href="#element--iffyuid-" id="element--iffyuid-" name="element--iffyuid-" class="anchorlink"></a>Element — <code>iffy:uid</code> <a id="iffy-uid" href=""></a></h2> <h2><a href="#element--iffyuid-" id="element--iffyuid-" name="element--iffyuid-" class="anchorlink"></a>Element — <code>iffy:uid</code> <a id="iffy-uid" href=""></a></h2>
424 <div class="iffy-element-desc"> <div class="iffy-element-desc">
425 <p>Used to refer to the <a href="https://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt"><code>guid</code></a> of an <code>item</code> from a different item or construct.</p> <p>Refers to the <a href="https://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt"><code>guid</code></a> of an <code>item</code> from a different item or construct.</p>
426 <p><em><strong>Note:</strong> We define an <a href="#iffy-uid"><code>iffy:uid</code></a> element, rather than rely upon <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.6"><code>atom:id</code></a>, because <code>atom:id</code> requires that its contents be an IRI, but we mean to impose no such restriction.</em></p> <p><em><strong>Note:</strong> We define an <a href="#iffy-uid"><code>iffy:uid</code></a> element, rather than rely upon <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.6"><code>atom:id</code></a>, because <code>atom:id</code> requires that its contents be an IRI, but we mean to impose no such restriction.</em></p>
427 <p>Please see known containing elements, including</p> <p>Please see known containing elements, including</p>
428 <ul> <ul>
465 <hr> <hr>
466 <h2><a href="#element--iffyupdate-history-" id="element--iffyupdate-history-" name="element--iffyupdate-history-" class="anchorlink"></a>Element — <code>iffy:update-history</code> <a id="iffy-update-history" href=""></a></h2> <h2><a href="#element--iffyupdate-history-" id="element--iffyupdate-history-" name="element--iffyupdate-history-" class="anchorlink"></a>Element — <code>iffy:update-history</code> <a id="iffy-update-history" href=""></a></h2>
467 <div class="iffy-element-desc"> <div class="iffy-element-desc">
468 <h3><a href="#when-an-item-level-element-1" id="when-an-item-level-element-1" name="when-an-item-level-element-1" class="anchorlink"></a>When an <code>item</code> level element</h3> <h3><a href="#when-an-item-level-element" id="when-an-item-level-element" name="when-an-item-level-element" class="anchorlink"></a>When an <code>item</code> level element</h3>
469 <p>MUST contain a sequence of <a href="#iffy-update"><code>iffy:update</code></a> elements, in reverse chronological order, describing the histories of <em>major revisions</em> to an item.</p> <p>MUST contain a sequence of <a href="#iffy-update"><code>iffy:update</code></a> elements, in reverse chronological order, describing the histories of <em>major revisions</em> to an item.</p>
470 <p>MAY contain one <a href="#iffy-initial"><code>iffy:initial</code></a> element.</p> <p>MAY contain one <a href="#iffy-initial"><code>iffy:initial</code></a> element.</p>
471 <p>Items containing an <code>iffy:update-history</code> SHOULD also include an <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.15"><code>atom:updated</code></a> tag corresponding to the most recent update.</p> <p>Items containing an <code>iffy:update-history</code> SHOULD also include an <a href="https://datatracker.ietf.org/doc/html/rfc4287#section-4.2.15"><code>atom:updated</code></a> tag corresponding to the most recent update.</p>
522</item></item>
523</code></pre></code></pre>
524 <h3><a href="#when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" id="when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" name="when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" class="anchorlink"></a>When a sub-element of <a href="#iffy-synthetic"><code>iffy:synthetic</code></a> with <a href="#iffy-type"><code>iffy:type</code></a> <code>UpdateCumulation</code></h3> <h3><a href="#when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" id="when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" name="when-a-sub-element-of-iffysynthetic-with-iffytype-updatecumulation" class="anchorlink"></a>When a sub-element of <a href="#iffy-synthetic"><code>iffy:synthetic</code></a> with <a href="#iffy-type"><code>iffy:type</code></a> <code>UpdateCumulation</code></h3>
525 <p>MUST contain a sequence of <a href="#iffy-update"><code>iffy:update</code></a> elements, in reverse chronological order, describing a sequence of <em>major revisions</em> to an item.</p> <p>MUST contain a sequence of <a href="#iffy-update-history"><code>iffy:update-history</code></a> elements, each of which contains <a href="#iffy-update"><code>iffy:update</code></a> elements in reverse chronological order, describing a sequence of <em>major revisions</em> to an item, and MUST ALSO contain one <a href="#iffy-initial"><code>iffy:initial</code></a> element, which MUST include an <code>iffy:uid</code> element identifying and describing the <code>item</code> whose updates are documented. See <a href="#iffy-initial-update-cumulation">discussion under <code>iffy:initial</code></a></p>
526 <p>MUST contain one <a href="#iffy-initial"><code>iffy:initial</code></a> element, which MUST include an <code>iffy:uid</code> element identifying and describing the <code>item</code> whose updates are documented.</p>
527 <p>See <a href="#iffy-initial-update-cumulation">discussion under <code>iffy:initial</code></a></p>
528 </div> </div>
529 </div> </div>
530 </div> </div>
531 <div class="entry-footer"> <div class="entry-footer">
532 <div class="post-metainfo"> <div class="post-metainfo">
533 <div class="updated-note"> <div class="updated-note">
534 <a href="index.html#major-updates">Last major update at 2024-07-01 @ 02:40 PM EDT</a> <a href="index.html#major-updates">Last major update at 2024-11-02 @ 05:15 PM EDT</a>
535 </div> </div>
536 <div> <div>
537 <a href="index.html" class="pubtime">04:10 AM EDT</a> <a href="index.html" class="pubtime">04:10 AM EDT</a>
554 <div id="update-history" class="update-history"> <div id="update-history" class="update-history">
555 <h3 class="update-history-title"><a id="major-updates" href=""></a>Major revisions:</h3> <h3 class="update-history-title"><a id="major-updates" href=""></a>Major revisions:</h3>
556 <ul> <ul>
557 <li><span class="update-timestamp"><i>2024-07-01 @ 02:40 PM EDT</i></span> — Major revision of <code>iffy:synthetic</code>, generalize <code>iffy:initial</code>, <code>iffy:update</code>, <code>iffy:update-history</code>, define <code>iffy:uid</code>. (<a href="index-diff-0df7787c056ab2b983e2de4d107c2fa477b7c8f4-to-current.html">diff</a>)</li> <li><span class="update-timestamp"><i>2024-11-02 @ 05:15 PM EDT</i></span> — Clarifications of iffy:provenance and iffy:update-history. (<a href="index-diff-34d8dab8f187c6d9512615dbb83c95395aa49a3b-to-current.html">diff</a>)</li>
558 <li><span class="update-timestamp"><i> <a href="index-oldcommit-34d8dab8f187c6d9512615dbb83c95395aa49a3b.html">2024-07-01 @ 02:40 PM EDT</a></i></span> — Major revision of <code>iffy:synthetic</code>, generalize <code>iffy:initial</code>, <code>iffy:update</code>, <code>iffy:update-history</code>, define <code>iffy:uid</code>. (<a href="index-diff-0df7787c056ab2b983e2de4d107c2fa477b7c8f4-to-34d8dab8f187c6d9512615dbb83c95395aa49a3b.html">diff</a>)</li>
559 <li><span class="update-timestamp"><i> <a href="index-oldcommit-0df7787c056ab2b983e2de4d107c2fa477b7c8f4.html">2024-06-20 @ 11:05 AM EDT</a></i></span> — Document <code>iffy:type</code>, update documentation of <code>iffy:synthetic</code> as optionally including <code>iffy:type</code>. (<a href="index-diff-f19e4870e2c719f71d2f5024cb3e2e8f477622dc-to-0df7787c056ab2b983e2de4d107c2fa477b7c8f4.html">diff</a>)</li> <li><span class="update-timestamp"><i> <a href="index-oldcommit-0df7787c056ab2b983e2de4d107c2fa477b7c8f4.html">2024-06-20 @ 11:05 AM EDT</a></i></span> — Document <code>iffy:type</code>, update documentation of <code>iffy:synthetic</code> as optionally including <code>iffy:type</code>. (<a href="index-diff-f19e4870e2c719f71d2f5024cb3e2e8f477622dc-to-0df7787c056ab2b983e2de4d107c2fa477b7c8f4.html">diff</a>)</li>
560 <li><span class="update-timestamp"><i> <a href="index-oldcommit-f19e4870e2c719f71d2f5024cb3e2e8f477622dc.html">2024-06-17 @ 11:50 PM EDT</a></i></span> — Document <code>iffy:synthetic</code>. (<a href="index-diff-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac-to-f19e4870e2c719f71d2f5024cb3e2e8f477622dc.html">diff</a>)</li> <li><span class="update-timestamp"><i> <a href="index-oldcommit-f19e4870e2c719f71d2f5024cb3e2e8f477622dc.html">2024-06-17 @ 11:50 PM EDT</a></i></span> — Document <code>iffy:synthetic</code>. (<a href="index-diff-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac-to-f19e4870e2c719f71d2f5024cb3e2e8f477622dc.html">diff</a>)</li>
561 <li><span class="update-timestamp"><i> <a href="index-oldcommit-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac.html">2024-06-11 @ 02:10 PM EDT</a></i></span> — Document <code>iffy:hint-announce</code>, <code>iffy:policy</code>, and <code>iffy:restriction</code>. (<a href="index-diff-6c5fef82527bd419e8e9c7e7f3a6420c9925cf10-to-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac.html">diff</a>)</li> <li><span class="update-timestamp"><i> <a href="index-oldcommit-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac.html">2024-06-11 @ 02:10 PM EDT</a></i></span> — Document <code>iffy:hint-announce</code>, <code>iffy:policy</code>, and <code>iffy:restriction</code>. (<a href="index-diff-6c5fef82527bd419e8e9c7e7f3a6420c9925cf10-to-b8f2ae57694f9fb88b10df011f69ee9acfe4c0ac.html">diff</a>)</li>
566 <li><span class="update-timestamp"><i> <a href="index-oldcommit-394986cb8d9c57f567d324e691a44d50102101ce.html">2024-05-13 @ 04:10 AM EDT</a></i></span> — Initial publication.</li> <li><span class="update-timestamp"><i> <a href="index-oldcommit-394986cb8d9c57f567d324e691a44d50102101ce.html">2024-05-13 @ 04:10 AM EDT</a></i></span> — Initial publication.</li>
567 </ul> </ul>
568 <div class="update-history-note"> <div class="update-history-note">
569 Timestamps represent "major", substantative revisions. There may have been subsequent typo fixes and language reworkings within a major revision, after the time displayed. For a more complete and fine-grained update history, you can view the <a href="https://github.com/swaldman/tech.interfluidity.com/commits/main/">git repository commit history</a>. The most recent minor modification of this entry occurred 2024-07-01 @ 02:39 PM EDT. Timestamps represent "major", substantative revisions. There may have been subsequent typo fixes and language reworkings within a major revision, after the time displayed. For a more complete and fine-grained update history, you can view the <a href="https://github.com/swaldman/tech.interfluidity.com/commits/main/">git repository commit history</a>. The most recent minor modification of this entry occurred 2024-11-10 @ 08:30 PM EST.
570 </div> </div>
571 </div> </div>
572</div><!-- after-article --></div><!-- after-article -->
576 </div> </div>
577 </body> </body>
578</html></html>