[sword-devel] Multi-xref sets

DM Smith dmsmith at crosswire.org
Thu May 20 15:40:20 MST 2010

On 05/20/2010 05:35 PM, Karl Kleinpaste wrote:
> 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?
The form in the osisRef is defined by a regular expression. They are not 
free form.
The basic form of an osisID is b, b.c or b.c.v, where b is from a 
predefined list and b/c are numbers.
An osisRef is either:
     osisID (that is a single reference)
     osisID-osisID (that is a range, where both sides are fully qualified)
     osisRef osisRef (a space separate list of osisRefs)
Note, in OSIS it is invalid to separate them with anything but spaces.

Seriously. ;)
>> 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.
Very true.

> 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.
Yes it is very good!

> 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.

I don't see your point. I thought your original question was how a 
module should be encoded, not how people should input a reference list.

In Him,

More information about the sword-devel mailing list