[osis-core] No general ID/IDREF?

Todd Tillinghast osis-core@bibletechnologieswg.org
Fri, 12 Apr 2002 15:53:07 -0500


Where there are to many attributes that could be used interchangeably,
there will tend to be as many ways to encode as there are encoders.  The
argument can be made for having ID, IDREF, IDREFS, OSISID, OSISIDREF,
OSISIDREFS, reference, and referneceEnd on each element.  

QUESTION: Is there a reason to use ID/IDREF when we could use
OSISID/OSISIDREF and encourage (but not force) some consistency in
practice? (Say always use OSISID/OSISIDREF where we might be tempted to
put ID/IDREF.  Are there any reasons to not do this?)

QUESTION: Can we get by with either "reference", and "referneceEnd" in
almost all cases where we would be tempted to add in ID/IDREF?  

I can see value in allowing people to have IDs for <div> and <p>
elements.  But I would say lets put out OSIS_1000 without them and then
see what the need is and what people want them for.  There may be a
better solution for these problems we have not yet encountered other
than just using ID.

Note: IDREF can also cause people a lot of trouble.  This particurally
painful when they want to break a document into multiple pieces but the
IDs for the IDREFs are now in the other document.  This is a good reason
to use and not use IDREFs.  

Note: People can always add an additional character to the end of
OSISID/OSISIDREF/ReferenceType to get a unique id.
(OSISID="Bible.TEV..Ps.41.1-TODD" or
reference="Orgname.internalIndexTypeA..Vol1.33.2.1.a" or even
OSISID="Splat")  Since anyone can come up with their own reference
system they are not precluded from doing what they want.  However,
people will follow the path of least resistance.  So if they put in
PSALMS.1.4 and it does not validate using the commonly agreed upon
standard instantly then they would be inclined to say "OK, I'll just use
ID instead and forget about using OSISID/OSISIDREF/ReferenceType".  
This way if they want to use OSISScripture_1000.xsd then they would have
to convert to the "standard" Ps.1.4 when they encode things.  Or else do
the WORK to create there own validation
(UGLYScripture_nobodysStandard.xsd).  As it sits if multiple
organizations use OSISScripture_0100.xsd they will all be assured of a
general interoperability.


I would say leave ID, IDREF, IDREFS, OSISID, OSISIDREF, and OSISIDREFS
out of all but the milestone, <div>, and <p> elements.  (Of course
leaving in reference and referenceEnd.)

Todd

> -----Original Message-----
> From: owner-osis-core@bibletechnologieswg.org [mailto:owner-osis-
> core@bibletechnologieswg.org] On Behalf Of Patrick Durusau
> Sent: Friday, April 12, 2002 8:50 AM
> To: osis-core
> Subject: [osis-core] No general ID/IDREF?
> 
> Todd,
> 
> Working through the schema and noticed that you dropped ID and IDREF
on
> all elements? Understand the need on milestones (so you don't conflict
> with the subclassing of OSISID from xs:ID) but why are we dropping
> ID/IDREF from all other elements?
> 
> I can imagine ID being useful in a number of situations, even if we
> don't do referenceType validation. Users may want to define their own
> references for elements (for any number of reasons) and ID/IDREF
allows
> them to do so without extending or conflicting with the reference
system
> you have in place.
> 
> Was there some reason to drop ID/IDREF? We can always make them
optional
> so users don't have to use them.
> 
> Patrick
> 
> --
> Patrick Durusau
> Director of Research and Development
> Society of Biblical Literature
> pdurusau@emory.edu
>