[sword-devel] Transformation of USFM anchor references in xrefs into OSIS

Peter von Kaehne refdoc at gmx.net
Wed Aug 12 14:31:08 MST 2015


USFM's describing of xrefs has become more complicated over the years
and not everything USFM describes is easily translated into OSIS.

This is a typical USFM xref:

\x * \xo 1.3: \xt 2-Corinthians 4.6\x*

The older usfm2osis.pl converter made out of this the following:

<note type="crossReference" n="1">1.3: <reference>2-Corinthians
4.6</reference></note>

Our new usfm2osis converters (usfm2osis.py which is the current
"official" one and u2o.py which might well replace the former) create a
different format:

<note type="crossReference"><reference type="annotateRef">1.3:
</reference><reference>2-Corinthians 4.6</reference></note>

The first reference here is simply referring back to the "anchoring"
verse (or wherever else the xref is attached to). The older way of
doing xrefs used the anchor reference solely as plain text. 

The type "annotateRef" is IMO misused in the reference as annotateRef
seems to mean a xref within biblical text, not really an "anchor" (see
OSIS handbook p83)

My personal preference would be to go back to the usfm2osis.pl way or
alternatively introduce an x-anchor type for the first reference and
use the annotateRef appropriately for the second reference.

<note type="crossReference"><reference type="x-anchorRef">1.3:
</reference><reference type="annotateRef">2-Corinthians
4.6</reference></note>

The next step (xreffix.pl or else) could then create the necessary
osisRef attributes

<note type="crossReference"><reference type="x-anchorRef"
osisRef="Gen.1.3">1.3: </reference><reference type="annotateRef"
osisRef="2Cor.4.6">2-Corinthians 4.6</reference></note>

As this goes beyond the small group of people involved in conversion I
think some collective input would be good.

Thanks!

Peter



More information about the sword-devel mailing list