[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