[sword-devel] ERV issues in And Bible

David Haslam dfhmch at googlemail.com
Wed Mar 8 15:13:30 MST 2017

Dear Michael,

I don't have access to your OSIS XML file, or if I do, I've not yet gone
looking for it.
I was merely going by what I saw in the output from *mod2imp*, which
includes numerous OSIS snippets.

I've never before come across duplication of internal items when a module
content is exported using this Sword utility. It's supposed to be lossless
(unlike what's on record for *mod2osis*).

In theory, a round trip module rebuild ought to be feasible:

module => *mod2imp* => IMP file => *imp2vs* => module

I rather suspect therefore that the problem may be caused by *osis2mod* when
you built the module.

It being documented in the wiki, we know that *osis2mod* performs a
transformation of its input.
See https://crosswire.org/wiki/Osis2mod#Transformations

That's where the milestone div elements are made, if they don't already
I was unaware that osis2mod inserts *type="x-milestone"* as well.
That's not mentioned in the wiki page.

*osis2mod* expects an input file that meets OSIS 2.1.1 or possibly the
latest CrossWire updated schema.

Neither of these schema allow for the milestone form of the *div* element.

I've therefore started a discussion about this in the talk page:


As far as I know, there's been next to no discussion of this before between
the API developers.
We do use the milestone form internally, but don't expect it as part of the
XML input.

With *And Bible* being a *JSword* app., one needs to understand that JSword
does an XSLT on the internal OSIS XML of a module. What this might do if it
encounters an orphaned/duplicated milestone *div* element is anyone's guess.

Does any other module show signs of duplicated div elements when analysed
using *mod2imp* ?
I think we ought to have noticed this before, but it does require more

I've not yet looked at any other modules from *eBible.org* for this

Martin reported that Psalm 2:12 was an example location of the issue, so
that's the place I examined in detail.

His other example Psalm 3:8 has exactly the same sort of triple occurrence,
this time for *ID="pv6992"* where the previous letter is either "s" or "e",
there being 2 of the former and 1 of the latter.

Martin added that there are many more, and I counted a total of 503

It should be feasible to systematically remove one of the duplicates from
every such location and rebuild the module using *imp2vs* to see whether
this gives one that no longer crashes *And Bible* or other JSword apps.

Once we learn which of the pair of sID elements is the delinquent one, we
might then try and find out where these are coming from, and whether your
copy of *osis2mod* is the culprit.

Best regards,


View this message in context: http://sword-dev.350566.n4.nabble.com/ERV-issues-in-And-Bible-tp4656923p4656933.html
Sent from the SWORD Dev mailing list archive at Nabble.com.

More information about the sword-devel mailing list