[osis-core] OSISIDs/OSISIDREFs and Milestones

Patrick Durusau osis-core@bibletechnologieswg.org
Sun, 14 Apr 2002 16:46:22 -0400


Todd,

I think the issue of references that we are still struggling with should 
be resolved as follows:

1. OSISIDs should be xs:list and validated (optionally including 
Bible.TEV..) against a valid regex for referenceType.

2. OSISIDREFS should be xs:list and also validated against referenceType

Since neither of these are of ID or IDREF type, there is no prohibition 
in allowing standard ID/IDREF types on any element, including milestones.

That allows the SIL folks to have the following:

<startVerse ID="J11" OSISID="Bible.eastHalfVersion..1John.1.1 
Bible.westHalfVersion..1John.1.2" />
text....text.....<stopVerse IDREF="J11" />

(Note that the ID is deliberately only meaningful to the internal 
document instance.)

I think the problem is that we have been thinking of ways an ID can also 
be a bible reference (a problem I am partially responsible for) when in 
fact the ID should really just be an ID in a document instance and 
nothing more. Particularly when you start talking about multiple 
reference systems, you can see the problems thar are inherent in any 
solution that tries to abuse an ID in this fashion.

Pointers into the document should point to something other than an ID. 
(Like OSISIDREF)

Documentation should caution that OSISIDREFS should be prepended with 
the reference system notation, i.e., Bible.TEV.., to avoid ambiguity of 
such references.

Probably should allow the "Bible.TEV..Gen.17.17-18" as an OSISID or 
OSISIDREF even though it is not really a meaningful reference in any 
known system. Would recommend in such cases that the verse milestone be 
as follows:

<verseStart ID="G17.17" OSISID="Bible.TEV..Gen.17.17-18 
Bible.KJV..Gen.17.17 Bible.KJV..Gen.17.18" /> so that there is a user 
specified mapping between the two systems.

Todd: Note that we cannot use the "|" vertical bar to separate the 
reference system from the reference. If you check the enumeration of 
characters in the XML standard, they simply skip that character!

Todd suggests the syntax on OSISID as follows:

><xs:simpleType name="OSISID">
><xs:list itemType="referenceType"/>
></xs:simpleType>
>
Summary:

1. This gets ID/IDREF validation on milestones.

2. Prevents overloading of ID/IDREF with a reference system.

3. Allows the multiple reference systems that SIL thinks should be in a 
single milestone.

4. Allows matching by the dumbest software I can imagine on the OSISID.

5. Allows dropping refWork since we can specify reference system as part 
of OSISIDREF.

Comments?

Patrick





-- 
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
pdurusau@emory.edu