[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