[sword-devel] Multi-xref sets

Karl Kleinpaste karl at kleinpaste.org
Thu May 20 14:35:33 MST 2010

DM Smith <dmsmith at crosswire.org> writes:
> This could also be <note n="y" type="crossReference">Cited from
> <reference osisRef="Exod.21.24 Lev.24.20 Deut.19.21">Exodus 21:24,
> Leviticus 24:20 and Deuteronomy 19:21</reference></note>

Seriously -- free form inside the osisRef, without even commas or
semicolons to separate items?

> I'd like to see <scriptRef> have the passage or osisRef
> attribute. Preferably the latter as the content is not made of
> arbitrary/inconsistent book names and has a well defined syntax.
> Without the attribute, JSword has to parse the body of the reference,
> assuming that it is something that can be parsed.

On the one hand, as a computer scientist with graduate degrees and a
thesis, I appreciate the value of a regularized syntax.

On the other hand, people taking notes in their Bible studies, pastors
writing sermons to preach, and regular folks emailing random BCV
references to their friends will never use such a syntax.  Never.

We write software to accommodate those kinds of people in their work.
There will never come a time when parsing free-form BCV refs goes away.

I sense that the coding to make ParseVerseList work well must have been
very tough, but it is one of the nicest, most easy-to-get-along-with parts
of the engine.  Feed it darn near any string that is at least remotely
BCV-like, and it comes back with something sensible.  It makes very few
mistakes, that I've seen; there is rather little ambiguity, Jude -vs-
Judges notwithstanding.

Rigid syntax is for people who want to live in the guts of things, not for
people who use those things.  Computers should work for people, not the
other way around.

More information about the sword-devel mailing list