<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>From a practical perspective, SWORD or JSword only look at canonical on titles to determine whether hiding titles and intros (aka headings) should include them.</div><div><br></div>Just a few comments about my understanding. Probably a purist;) From the manual (v2.1.1), page 18.<div><blockquote type="cite">

        
                
                
        
        <span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">When </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-weight: 700">canonical="true", </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">it means that the content of that element is a part of the text being encoded.</span></blockquote>...</div><div><blockquote type="cite">

        
                
                <p><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic">It
should be explicitly noted that the value of the </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-weight: 700; font-style: italic">canonical </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic">attribute should not be used to reflect theological
judgment about the content of a text, but merely to distinguish between what has been added to the text and
what has not. </span></p><div><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">In most cases use of the </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-weight: 700">canonical </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">attribute is straightforward, and the default values will almost always
produce the intended result. However, there will arise truly difficult cases: for example, one may be encoding
an ancient text with annotations of its own. In that case those notes would be canonical, while any added by
the current editor would not be. In such cases, the practice chosen and its rationale should be described in the
work's documentation.</span></div></blockquote><div><br></div>So, I take this that if I were creating an accurate representation of the 1611 KJV from scans, everything in that "ancient" text would be canonical, including introductions, notes, titles, cross-references, and so forth.</div><div><br></div><div>If it is not that way and it is to reflect the underlying publication then I think there is a problem with the usage of the <transChange type="added"> element . In this case these should be marked canonical="false" as they are not part of the "base" text.</div><div><br></div><div>I took out the example about notes in a Bible translation. Its intent is that canonical is to distinguish what was in the text the translation was based from what was not in that base.</div><div><br></div><div>The confusion is that it is not at all clear what current editor means. There are many who take the KJV, notes and all, make changes to it, say modernizing the spelling, translate it into another language, .... So, since their base is not the Hebrew and Greek, but a particular KJV text, then according to this definition, the imported notes are now canonical.</div><div><br></div><div>But as a module encoder, I'd do it the way the OSIS defaults are, with one exception: The <div> element.</div><div><div><blockquote type="cite"><p><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">The </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPS'; font-weight: 700">canonical </span><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">attribute is available on all elements. </span></p></blockquote><div>The following elements without canonical:</div><div>osis</div><div>osisCorpus</div><div>teiHeader</div><div>work</div><div>workPrefix</div><div><br></div><div><blockquote type="cite">

        
                
                <p><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">It has a ‘default’ value so it does not have to be entered
by the encoder if the default value is acceptable. </span></p></blockquote></div><div>A bit misleading. Only a few (8) element actually have a default. Note, chapter is not there. And having it on osisText is silly (see below).</div><div>Default: true <span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><xs:attribute name="canonical" type="xs:boolean" use="optional" default="true"/></span></div><div><div>osisText</div><div>verse</div><div><br></div><div>Default: false <span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/></span></div><div><div>header</div><div>div</div><div>note</div><div>reference</div><div>title</div><div>titlePage</div><div><blockquote type="cite">

        
                
                <p><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'">The value of this attribute is "inherited," that is once it is
set, any subelement of that element inherits the same setting. </span></p></blockquote></div><div>Default: inherited <span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><xs:attribute name="canonical" type="xs:boolean" use="optional"/></span></div><div>The rest of the elements.</div><div><br></div><div>The examples on the same page are confusing, as they don't fit with the XML inheritance mechanism. They have an explicit value on a parent element forcing the inclusion of the attribute on an element with that as a default. Having a default value means that that element never inherits the value.</div><div><br></div><div>With inheritance, it should be possible at any point in the document, using an XML parser to ask what the value of canonical is.</div><div><br></div><div>However, the attribute "canonical" is not actually inheritable, according to:</div><div><a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#Inherited_attributes">http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#Inherited_attributes</a></div><div><blockquote type="cite"><div class="div3"><div class="div4"><h5>3.3.5.6 Inherited Attributes</h5>
<div class="constraintnote"><a id="sic-inheritedAttrs" name="sic-inheritedAttrs" shape="rect"></a><b>Schema Information Set Contribution: Inherited Attributes</b><br clear="none"><div class="constraint"><div class="p"><div class="termdef"><a name="key-p-inherited" id="key-p-inherited" title="" shape="rect">[Definition:]  </a>An attribute
       information item <var>A</var>, whether explicitly specified in the input
       information set or defaulted as described in
       <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#sic-attrDefault" shape="rect">Attribute Default Value (§3.4.5.1)</a>, is <b>potentially inherited</b> by
       an element information item <var>E</var> if and only if
       <b>all</b> of the following are true:<div class="constraintlist"><div class="clnumber">1 <span class="p">
         <var>A</var> is among the <a href="http://www.w3.org/TR/xml-infoset/#infoitem.element" class="xpropref" shape="rect">[attributes]</a> of one of <var>E</var>'s ancestors.
        </span></div>
<div class="clnumber">2 <span class="p">
         <var>A</var> and <var>E</var> have the same
         <span class="anonRef">[validation context]</span>.
        </span></div>
<div class="clnumber">3 <b>One</b> of the following is true:<div class="constraintlist"><div class="clnumber">3.1 <span class="p">
          <var>A</var> is <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-att-to" class="termref" shape="rect"><span class="arrow">·</span>attributed to<span class="arrow">·</span></a> an <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#au" class="compref" shape="rect">Attribute Use</a> whose
          <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#au-inheritable" class="propref" shape="rect">{inheritable}</a> = <b><i>true</i></b>.
         </span></div>
<div class="clnumber">3.2 <span class="p">
          <var>A</var> is <em>not</em> <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-att-to" class="termref" shape="rect"><span class="arrow">·</span>attributed to<span class="arrow">·</span></a> any <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#au" class="compref" shape="rect">Attribute Use</a>
          but <var>A</var> has a <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-governing-ad" class="termref" shape="rect"><span class="arrow">·</span>governing attribute declaration<span class="arrow">·</span></a> whose
          <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#ad-inheritable" class="propref" shape="rect">{inheritable}</a> = <b><i>true</i></b>.
         </span></div>
</div></div>
</div>
      </div></div><div class="p">If and only if an element information item <var>P</var> is not
       <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-skipped" class="termref" shape="rect"><span class="arrow">·</span>skipped<span class="arrow">·</span></a> (that is, it is either
       <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-sva" class="termref" shape="rect"><span class="arrow">·</span>strictly<span class="arrow">·</span></a> or
       <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-lva" class="termref" shape="rect"><span class="arrow">·</span>laxly<span class="arrow">·</span></a> assessed), in the <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-psvi" class="termref" shape="rect"><span class="arrow">·</span>post-schema-validation infoset<span class="arrow">·</span></a> each of
       <var>P</var>'s element information item <a href="http://www.w3.org/TR/xml-infoset/#infoitem.element" class="xpropref" shape="rect">[children]</a> <var>E</var> which is not
       <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-att-to" class="termref" shape="rect"><span class="arrow">·</span>attributed to<span class="arrow">·</span></a> a <b><i>skip</i></b> <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#w" class="compref" shape="rect">Wildcard</a>, has a
       property:</div><div class="psviDef">
<div class="psviHeader">
<span class="psviDef">PSVI Contributions for</span> element information items
     </div>
<div class="psviBody">
<dl class="psvi">

       <dt><a id="e-inherited_attributes" name="e-inherited_attributes" shape="rect"><span class="propdef">[inherited attributes]</span></a></dt><dd>
        A list of attribute information items. An attribute information item
        <var>A</var> is included if and only if <b>all</b> of the following are true:<div class="constraintlist"><div class="clnumber">1 <span class="p">
          <var>A</var> is <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-p-inherited" class="termref" shape="rect"><span class="arrow">·</span>potentially inherited<span class="arrow">·</span></a> by <var>E</var>.
         </span></div>
<div class="clnumber">2 <span class="p">
          Let <var>O</var> be <var>A</var>'s <a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute" class="xpropref" shape="rect">[owner element]</a>. <var>A</var> does not have the same <a href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/#dt-expname" shape="rect">expanded name</a>
          as another attribute which is also <a href="http://www.w3.org/TR/2009/WD-xmlschema11-1-20090130/#key-p-inherited" class="termref" shape="rect"><span class="arrow">·</span>potentially inherited<span class="arrow">·</span></a> by <var>E</var>
          and whose <a href="http://www.w3.org/TR/xml-infoset/#infoitem.attribute" class="xpropref" shape="rect">[owner element]</a> is a descendant of <var>O</var>.
         </span></div>
</div>
       </dd>
      </dl>
</div>
</div>
</div></div></div>
</div>
<div class="div3">

<h4><a name="coss-element" id="coss-element" shape="rect"></a></h4></div></blockquote><div>I presume this is a bug in the OSIS Schema.</div></div><div><br></div><div>From a practical perspective in encoding a whole document, there are two scenarios to consider:</div><div>1) Milestoning structural elements. (BCV: Book, Chapter and Verse encoding)</div><div>2) Milestoning verses. (BSP: Book, Section and Paragraph encoding, recommended)</div><div><br></div><div>First the text of the work has to be within (using my notation)</div><div><osis><osisCorpus>(<osisText>(<header>...</header>)*(<titlePage>...</titlePage>)?(<div><b>CONTENT</b></div>)+</osisText>)+</osis></div><div>or</div><div><div><osis>(<osisText><header>...</header>(<titlePage>...</titlePage>)?(<div><b>CONTENT</b></div>)+</osisText>)+</osis></div></div><div>(Note: osis2mod expects only one osisText)</div><div><br></div><div>The significant part is the <div>, it cannot be a milestoned form and pass validation. The default value of canonical on this element is "false". Therefore, all descendants not contained in elements whose default is "true" or that explicitly declare canonical="true" inherit the value "false".</div><div><br></div><div>Because, divs can be nested, each div resets the state of canonical, either to its default of false or to the declared canonical value.</div><div><br></div><div>The fact that <osisText> defaults canonical to true is meaningless. All of its children have a default of false. So practically speaking, the only element with canonical="true" is a verse and its contents that don't have </div><div><br></div><div>The other implication of using the non-milestoned form of <div> is that by OSIS semantic, all other <div>s have to be container elements not milestoned. (I can quote the OSIS 2.1.1 manual, if needed). Personally, I think this is too broad a semantic for <div> and should take into consideration the type attribute.</div><div><br></div><div>In case 1), where the document uses the container form for Books (<div type="book">), <chapter> and <verse> and uses as needed or semantically required, the milestoned form of other container, the intention of the OSIS manual is preserved. The defaults work as intended.</div><div><br></div><div>However, in case 2), where the verse is milestoned the text and other elements of the verse is not a child of the verse element but rather the container that it is in, typically a paragraph or a div. By the rules of XML (if inheritance were properly specified), the parent container would need to explicitly give or inherit canonical="true".</div><div><br></div><div>With regard to SWORD and JSword, they always work on a fragment of the whole document and might not have the parent on which to determine whether canonical is true or false. Practically, they assume true.</div><div><br></div><div>If the OSIS schema had the default of canonical on <div> to be true or if it were optional (making the default on osisText meaningful), there would be no issue.</div><div><br></div><div>This is to say, I think the OSIS Schema has it wrong for a <div>. Until or unless it is changed, one nearly always has to have canonical="true" on a div.</div><div><br></div><div>In Him,</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>DM</div><div><br></div><div><div><div>On Feb 29, 2012, at 2:46 PM, Troy A. Griffitts wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Sorry to only jump in on problems, but...<br><br>I don't believe the preceding explanation of 'canonical' is correct.<br><br>OSIS defaults many attributes to canonical, including <verse> and <chapter><br><br>I believe we defined canonical as text belonging to the base work.<br><br>For us, this is mostly Bibles.<br><br>For a study Bible, it would exclude all commentary and notes, and only include Biblical text.<br><br>Basically, canonical for the Open Scripture Information Standard refers to Biblical text, and you'd be hardpressed to use it for anything else practically, though I could see a purist trying to make an argument for it.<br><br>For example, Josephus would only include the text of Josephus.<br><br>And while technically true, the practical uses for 'canonical' are things like:<br><br>Showing Psalm titles even when the user has asked not to show 'titles'<br>Searching typically is only over 'canonical' text<br><br>-- but we usually work the opposite way: we take out notes, xrefs, headings, and index what is left, so the Josephus example isn't practically a problem for us right now (plus I think our Josephus module only contains Josephus text).  And this is simply for indexed searching.  Our full text searching allows for your to search any of these other field: notes, xrefs, headings, just about anything in an entry attribute.  We have talked about providing indexed searching for some of these things, but really? how often do you search the notes?  Just wait the 4 seconds to do the unindexed search.  But we have lots of future ideas of how to modularize the search framework so a frontend could supply a filter which outputs what to include in a named lucene index. Anyway, tangent...<br><br><br>Summary,<br><verse> already indicates canonical material by default<br>Psalm titles, being canonical and usually not within a verse (unless it's a v11n which includes them in a verse), need to be marked specifically as canonical.<br><br>If the OSIS docs say different, let me know and I'll poke the editor.<br><br>Troy<br><br><br><br>On 02/29/2012 07:11 PM, David Haslam wrote:<br><blockquote type="cite">Thanks DM,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Someone like to volunteer to enhance usfm2osis.pl to ensure that<br></blockquote><blockquote type="cite">canonical="true" is set as it should be?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">David<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite">View this message in context: <a href="http://sword-dev.350566.n4.nabble.com/Setting-canonical-true-tp4432196p4432418.html">http://sword-dev.350566.n4.nabble.com/Setting-canonical-true-tp4432196p4432418.html</a><br></blockquote><blockquote type="cite">Sent from the SWORD Dev mailing list archive at <a href="http://Nabble.com">Nabble.com</a>.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br></blockquote><blockquote type="cite"><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br></blockquote><blockquote type="cite">Instructions to unsubscribe/change your settings at above page<br></blockquote><br><br>_______________________________________________<br>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>Instructions to unsubscribe/change your settings at above page<br></div></blockquote></div><br></div></div></div></div></div></body></html>