[osis-core] osisID/osisRef: Proposal

Patrick Durusau osis-core@bibletechnologieswg.org
Thu, 04 Jul 2002 11:52:04 -0400


Greetings,

After working through the schema in its entirety and looking at Harry's 
suggestions on the <work> element and the discussion of canonical 
references (and related problems) I wanted to make the following 
suggestion for the semantics and syntax of osisID and osisRef:

osisID (of osisIDType):

osisID is similar to a regular ID except that it is not restricted by 
the XML Name constraints in terms of its form (in other words, it can 
begin with a number).

Syntax has been suggested to allow what we were calling "work" (Ex. 
bible.lxx) to prepend to the osisID, thus:

<verse osisID="bible.lxx:(some reference here)">

Suggestion:

In prose we could say that an osisID may consist of a reference (as 
specified by a "work") and that the work may be prepended (overides 
default) and that the default case must be specified as an attribute on 
osisText.

Thus:

<osisText osisWork="bible.nrsva">

Meaning: <verse osisID="Matt.1.1"> = <verse 
osisID="bible.nrsva:Matt.1.1"> with the expanded form also being a 
legitimate osisID.

This would allow us to have an osisWorkType (simpleType) that specifies 
a set of osisWork values:

<xs:enumeration>bible.nrsva</xs:enumeration>
<xs:enumeration>bible.nrsva.niv</xs:enumeration>
<xs:enumeration>bible.nrsva.niv.spanish</xs:enumeration>

With the general format being: work (bible), reference system (nrsva), 
edition (niv), language (spanish)

If a value is omitted, must be represented by a full stop (period). (We 
could say for other systems, like Harry's references to Augustine, best 
to follow that general outline but not possible with all works. Submit 
your suggestion for publication on the OSIS site for addition to the 
schema.)

So long as we don't do datatyping, that would work, because we could 
allow users to also say:

x-klingon.farble.strek.english for their osisWork.

The only difference I would then see between the osisID and osisRef 
would be that the latter allows ranges and prohibits (in prose?) the 
osisWork being prepended to the second value in the range.

Not sure if on osisRef this would answer Harry's question about how to 
specify what an acceptable reference would be.  Assume that osisRef gets 
the same default work as osisID. If in a bible.nrsva.niv document, I say 
osisRef="bible.nrsva.kjv:Matt.1.2" then that is a reference to the King 
James Version, Matthew, chapter1, verse 2. But if I say, 
osisRef="Matt.1.2" do I get the default = bible.nrsva.niv:Matt.1.2 or 
should I get any Matt.1.2 with any prepended work? I suspect the former 
would be expected but I have been surprised before in this discussions 
and am willing to be surprised again.

I am still concerned about Harry's mapping question in the header but am 
awaiting further comments and suggestions on that issue.

Oh, the dropping of grain was deliberate since I am trying to make 
osisID and osisRef function on the basis of canonical reference systems 
external to OSIS. That does not mean that you could not use XPath to 
specify the same information but it would be in addition to that 
specified by the core standard.

I think that grain pointing is something we should reach when we layer 
XLink/XPointer syntax onto the schema as a whole.

Patrick

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