[osis-core] Reference Syntax Proposal
Patrick Durusau
osis-core@bibletechnologieswg.org
Wed, 31 Jul 2002 15:30:01 -0400
Greetings!
As promised, the long awaited proposal on reference syntax! Thanks for
all the posts and discussions while I was wandering Europe without good
Internet access. Never again! Mainline hotels and/or written
representations of high-speed Internet access for my next trip!
1. osisIDs: Serve as identifiers for the element on which they occur.
Consequence, no range or range like behavior.
Can be entered as a list of osisIDs in the osisID attribute value to
accomodate elements that have verses collected into some container other
than then standard book, chapter, cf. Todd's Matthew 1:2-6a would be
encoded:
<p osisID="Matt.1.1, Matt.1.2, Matt.1.3, Matt.1.4, Matt.1.5, Matt.1.6a">
Note that the Matt.1.6a is allowed because a search for Matt.1.6 should
return that element as well as the one following, in order to get all of
what is considered to be Matthew 1:6 (may have reordering in some
languages, etc.)
This is based on the defined behavior for processing being:
A. Match on exact string match: Ex. Matt.1.6 matches Matt.1.6. If that
fails,
B. Match on Matt.1.6.*. If that fails,
C. Match on Matt.1.6.*.*. If that fails,
This allows the match to descend as it were the possible divisions of
the reference without prior knowledge of the divisions. (Quite elegant
and obviously Steve's idea.)
(Harry, I think the Matt.1.1_9 is interesting but dangerous from the
standpoint of data entry error (shift-hyphen), since we will probably
have to allow hyphens in osisIDs for some reference systems. So you have
a syntactically valid ID that is invalid for a particular type of work
(Bible) but valid for osisRefs.)
2. osisRefs: Have range and grain as previously outlined. Noted in prose
that osisRefs cannot point to the element on which they appear, i.e.,
<p osisID="Matt.1.1, Matt.1.2, Matt.1.3, Matt.1.4, Matt.1.5, Matt.1.6a"
osisRef="Matt.1.1-Matt.1.6"> is VERBOTEN!
Noting that the enumeration of osisIDs will only occur where there are
divisions that do not include verse divisions. In other words, any
container could simply omit the osisID, if desired, where lower level
containers have osisIDs. It is only the partial case that requires
enumeration or where lower level containers don't carry osisIDs. I could
have startMilestone/endMilestone pairs, segs, verses, etc., that have
proper osisIDs that resolve as detailed above.
3. Steve has suggested that we add startMilestone and endMilestone
elements in addition to the generic milestone (which should then be used
for point (or shadow) references. Having separate elements will allow
enforcement of a endMilestone attribute only on startMilestone elements
(in the sense of an IDREF) and a startMilestone attribute (also in the
sense of IDREF) only on the endMilestone element.
4. Note that the startMileston/endMilestone with a type attribute should
solve the quotation problem that Troy has raised.
5. In the listing of osisIDs, can prepend work if you want to have a
mapping for some purpose between reference systems. This should be
discouraged in favor of actual mapping tables but allowed as a practical
matter.
6. Note that the defined processing behavior for osisIDs I think gets
the point of Harry's most recent posts. Would need to document that
splitting an osisID means that you have to split all occurrences of it,
sorta makes sense if it is a self-identification within a system that
either all are split or none?
I am going to hammer out some more formal syntax and probably just post
it outside the schema tomorrow. Should have the schema posted to the
group, with docs by late Friday (after I arrive in Montreal, need to
finish getting some stuff installed on the Linux side of my laptop).
Hopefully we are close enough that we can see some tests of this be
early next week? (I am opting for the high-speed access option on the
room in Montreal so when I am not actually in ISO, OASIS TC meetings or
at the conference I will be online. Well, am taking one evening to go
hear an organ recital with Jim Mason but that should be the only break
in the week.)
7. I have not looked back at the refsDecl discussion yet, Harry, any
significant problems on declaring a local name for a resource that
become the work part of the attribute?
I think this is an accurate summary of my conversation with Steve and a
culling from all your posts but if not, it is error on my part and
should be corrected.
Other outstanding things I can clean up in the next release?
Guys you are the finest!
Patrick
--
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
pdurusau@emory.edu