[osis-core] use cases

Steve DeRose osis-core@bibletechnologieswg.org
Thu, 22 Aug 2002 15:47:03 -0400


Troy, many thanks for laying out the cases! It makes it much easier 
for me to think them through (some test recently told me I'm much 
better at trees than forests (so to speak), so having a nice stand of 
separate trees to look at is nice).

At 01:03 PM -0700 08/21/02, Troy A. Griffitts wrote:
>OK, I'm kindof lost on many of the terms and tags being thrown 
>around. Could we give excerpts from an XML doc for a few use cases. 
>I've included my best guess or suggestion for each.  Please follow 
>the reference in #12 if you find yourself in ill attitude :)  Thanks 
>for humoring me.  I really need this, as I am quickly losing 
>coherency on these matters :)
>
>
>
>
>1)  I am this work
>
>(from Todd's submission)
><osisText osisWork="eckhart_sermons">

I thought osisWork here was merely setting the default work for 
references to follow. We definitely need both meanings:

a) What work am I -- this might best be expressed by a Dublin Core block in
    the header, that somehow says it's the one for *this* work. could either
    add a third type of DC grouping (works, refSystems, and self, for example).

b) What work am I referring to when I don't say otherwise in <reference>s

>
>
>2)  All my osisID, self identifying anchors use this reference 
>system unless individually, explicitely stated otherwise.
>
>????????? something like the following was suggested by Todd ?????????
><osisText refSystem="Bible.KJV">

I like that, except I think maybe the name should say something about 
"default" in it, like "refSystemDefault".  In which case, how about 
also naming your (1) above to "workDefault" or "refWorkDefault" (in 
latter case also renaming "works" in header to "refWorks" for 
consistency -- this naming would clarify that these are all dealing 
with the reference element.

We then, as your (3) seems to suggest, also need a way to identify 
the refSystem(s) in use within this work. That could be calculated by 
looking at all the <verse> elements, but it seems better to say it up 
top, presumably within the DC block I just called <self>.

Thus we have 4 things: default work an refsys, for <verse> etc. and 
for <reference>

Oh, and we want a non-associating value for 'refsys of the current 
work, when the work is a commentary instead of a Bible; for example, 
we could reserve a refsys called "ID" or "none" or 
"no-canonical-refs" or some such.

>
>
>3)  All my osisRef's use KJV reference system unless individually, 
>explicitely stated otherwise
>
>?????????
><osisText osisWork="work1" refSystem="augustine_confessions.pusey" 
>defaultRefSystem="Bible.KJV">



>
>
>*** Following items assume a documents 1 and 2 items above, somehow 
>define work: KJV, refSystem: KJV
>
>4)  I am a verse that is Jas 1:19
>
><verse osisID="Jas.1.19">

Yup.

>
>
>5)  I am a div that contains Jas 1:19 AND Jas 1:20
>
><div osisID="Jas.1.19 Jas.1.20">

Yup.

>
>
>6)  I am a div that contains all of Jas
>
><div osisID="Jas">

Yup.

>
>
>*** Following items assume a documents 1, 2, and 3 items above, 
>somehow define (respectively) work: MHC (Matthew Henry's 
>Commentary), refSystem: KJV, defaultRefSystem: KJV
>
>
>7)  I am a div that is commentary on Jas.1.19-21
>
>?????
><div osisID="Jas.1.19 Jas.1.20 Jas.1.21">

Here's an ambiguity, though: if we take (6) and (7) in these ways, we 
have no principle way to tell whether a div is Scripture, or is 
commentary: they'd both be labelled the same. I think we need to 
distinguish these. Maybe the (7) case should be a reference; either a 
reference attribute on div (in addition to osisID), or an embedded 
reference element?

>
>(I still like this suggested markup, as it allow us to say: See 
>comments from Matthew Henry on <reference work="mhc" 
>osisRef="Jas.1.20">James 1:20</reference>)

Hmmm, that is a good point. And we wouldn't get that automatically if 
we made the distinction I just suggested. And my suggestion would be 
awkward because you'd never have *both* osisID and reference on the 
same div. That suggests I'm looking at it wrong somehow.

Would it make sense if the two cases both used osisID as you showed, 
but we have some other attribute (maybe even type?) that clues 
processors in to whether they're looking at the text itself (even if 
translated/paraphrased), or at meta-Scripture like a commentary? sort 
of <div osisID="Jas.1.19" type="primary"> to steal the primary text 
vs. secondary text terminology?

>
>
>8)  I am a reference to any Bible that contains Jas.1.19 using my 
>default KJV reference system.
>
><reference osisRef="Jas.1.19">This</reference> might be a hyperlink 
>to any Bible containing James 1:19.

Yup.

>
>
>9)  I am a reference to any Bible that contains Jas.1.19, but I want 
>to use something besides my default *REFERENCE SYSTEM* for some odd 
>reason :)
>
><reference osisRef="Bible.NIV:Jas.1.19">

I don't get this one -- I would take this to mean a reference to the 
NIV, using my default reference system. Wouldn't the other way around 
be

<reference osisRef="(Bible.NIV):Jas.1.19">

>
>
>10)  I want to refer to the NIV *WORK* using my default KJV reference system.
>
><reference work="niv" osisRef="Jas.1.19">

I thought we had killed 'work' and this would be

<reference osisRef="NIV:Jas.1.19">

I wonder if we should make a rule that we never (at least in 
examples) name a references system exactly the same as a work -- that 
way we'd avoid some confusion. Like, say, refsystems could 
conventionally have _R on the end or something.

>
>
>11)  I want to refer to the NIV *WORK* using the NIV *REFERENCE 
>SYSTEM* (which is not my default which is KJV)
>
><reference work="niv" osisRef="Bible.NIV:Jas.1.19">

I would have thought

<reference osisRef="niv(NIV):Jas.1.19">

>
>
>12) (because there should be 12)  I want to refer to a work: naves 
>(Naves Topical Textbook), using naves reference system (obviously) 
>to a div in naves that was tagged with an osisID="GRACE"
>
>Please see Nave's Topical Textbook entry on <reference work="naves" 
>osisRef="naves:GRACE">Grace</reference>

Hmmmm. I haven't been thinking of reference works organized 
alphabetically (Naves is, yes?) as having canonical references. Of 
course one could define an enumerated ref system whose members were 
the vocabulary or list of main entries; but that seems to me a 
different phenonenon: like enums vs. integers, or like an associative 
array vs. a tree.

I think I've been tacitly assuming that lexica and similar works use 
a special reference system that (had I ever gotten conscious enough 
to think of naming it) might be called "alphabetical". I guess it 
doesn't matter that much; at some point we should define whether 
osisID is what you put on main-entries in such works; whether and how 
a refsystem declaration file would deal with declaring such; etc; but 
the processing isn't particularly special except that you *could* use 
something like binary search directly in lexica, whereas you need 
something better for dealing with canonical works (or do you?).

This needs some more thought, but I think we can safely defer it.



-- 

Steve DeRose -- http://www.stg.brown.edu/~sjd
Chair, Bible Technologies Group -- http://www.bibletechnologies.net
Email: sderose@speakeasy.net
Backup email: sjd@stg.brown.edu