I just submitted a BibleTime bug, and realized that some of the issues might also need to be addressed in Sword.<br><br>In my case specifically, I am dealing with a GenBook module, from an OSIS original, and am encountering many problems with cross-references.
<br><br>BibleTime makes the assumption that the prefix for an osisRef attribute is a sword module name.&nbsp; I realize that that it is BibleTime's problem if BibleTime makes an unsafe assumption, but I do belive that Sword could make more information available to frontends, so that they would not have to make such unsafe assumptions.
<br><br>In reality, the prefix of an osisRef must match the osisWork attribute of a &lt;work&gt; element declared in the &lt;header&gt; (which would not necessarily coincide with the module name).&nbsp; Unfortunately, when an osis document is converted into a GenBook module, all of the osis header information is lost.&nbsp; Without that information, frontends are left with no other choice but to make an educated guess (and frequently be wrong).
<br><br>A possible solution would be to provide means in the module.conf file to preserve that information.&nbsp; It would be easy to define an OsisWork identifier that would allow the module to identify itself in the .conf file:
<br><br>OsisWork=IAmABook<br><br>but it would be more difficult to map *external* osisWork values to module names, unless we allow for arbitrary identifiers in the .conf file, i.e. :<br><br>OsisWork[osisWork]=[moduleName]
<br>OsisWorkABSGoodSam=abs_essay_goodsam_swb<br><br>In the above scenario, any frontend encountering &lt;reference osisRef=&quot;ABSGoodSam:[osisID]&quot;&gt;...&lt;/reference&gt; could determine from the module's info to look for the referenced key ([osisID]) in the abs_essay_goodsam_swb module, or alert the user that the referenced module isn't present.
<br><br>Along the same lines, frontends have difficulty with internal references in OSIS GenBooks, because the documents osisID's are lost when the module is created ( a valid osisID like <a href="http://I.am.an.ID">I.am.an.ID
</a> is converted to a GBS key /I/am/an/ID ).&nbsp; However, the osisRef's still contain osisID's.&nbsp; The ideal solution (especially considering Sword's plans to support OSIS completely) would be to key OSIS based GenBooks (or anything else) with osisID's rather than /GBS/keys.&nbsp; An alternate solution would be for the frontend to translate osisID's into GBS keys in cases where the target module is a GenBook (I actually made that suggestion to BibleTime)... But on further consideration I think it would be best to address the issue in Sword.
<br><br>Any thoughts?&nbsp; Let's discuss..<br><br>Dan<br>