[osis-core] Syntax Check
Steve DeRose
osis-core@bibletechnologieswg.org
Tue, 27 Aug 2002 11:44:06 -0400
At 12:39 AM -0600 08/26/02, Todd Tillinghast wrote:
>Patrick,
>
>This is a departure from what I understood regarding the structure for a
>reference.
>
>We MUST ALWAYS have a REFERENCE SYSTEM and WORK is always OPTIONAL.
that's the part I still don't get. If we don't have both a refsystem
and a work, at least by default, a reference is meaningless, right?
Like what is "foo.1.1"?
But given that, isn't it simply a question of which one(s) we allow
people to leave to default?
I think when average people write "KJV" or "Bible.KJV" or whatever,
they will be thinking of the work, not the references system -- most
people don't even know that there is more than one reference system.
Thus, I think that if someone writes just "Bible.KJV:Matt.1.1" it
behooves us to treat that as a work.
At one point we had the notion that works would be declared in the
header, and that a work declaration could also specify the reference
system(s) it supports. If we allowed works to simply specify their
default reference system within their <work> declaration element,
then specifying the work without a reference system anywhere else, is
well-defined because you simply use that default.
I don't have a problem with allowing a reference like
"(Hebrew):Psal.1.1", which gives only a reference system -- the
meaning would then be, *any* version that supports that reference
system (which itself is declared in the header).
I'm thinking that we may want to reserve prefixes in a later spec, so
that OSIS-aware systems can count on them without everybody having to
re-declare them all the time; but that we can add easily enough.
Does that make sense?
>
>There has been discussion of short cuts and aliases but in the end when
>all of the short cuts and aliases are expanded it is ok for a reference
>or self-id to have ONLY a reference system and it is NEVER ok for a
>reference or self-id to have ONLY a work.
Did I address this ok above?
>
>This is the first I am seeing "(split)" as a part of reference. Can you
>explain what its purpose is?
That's the segmentID or splitID or whatever, for identifying the
various pieces of a segmented verse.
>
>The way I understand the regex is the following.
>
>refsys(work):canonical@grain-canonical@grain
>
>Where:
>1) work is optional
>2) @grain is optional in both places
>3) there must be a value follwing the "-" symbol
>4) refsys: can be defaulted based on the declaration of defaultRefSys
>attribute in <osisText>
>
>
>the other alternative is
>alias:canonical@grain-canonical@grain
>where alias is refsys or refsys(work) based on an alias element in the
>header.
>
>If we want to allow a "work" name to substitute for "refsys(work)" based
>on the reference system declared for the work in the header, that would
>be doable if we required a reference system attribute for every work
>element. I don't think this is a good idea because it overloads the
>meaning of the suffix.
>
>
>Todd
>
>>
>> Guys,
>>
>> Before I re-write the regex, is there general agreement on Steve's
>> proposal:
>>
>> work(refsys):canonical(split)@grain-canonical(split)@grain
>>
>> (This may have been what Steve outlined while we were in Canada and I
>> mashed into something else for posting, Apologies if that was what
>> happened.)
>>
>> So, whatever the declared syntax of "work" it is followed by optional
>> "(refsys)" plus ":" plus "canonical" plus an optional "(split)" (to
>> indicate a subdivision that is not part of the canonical reference),
>> followed by an optional grain "@grain (which is either str or cp
>> followed by a colon, then square brackets), then the range indicator,
>> plus all the foregoing again.
>>
>> Comments, modifications?
>>
>> Thanks!
>>
>> Patrick
>>
>> --
>> Patrick Durusau
>> Director of Research and Development
>> Society of Biblical Literature
>> pdurusau@emory.edu
>>
--
Steve DeRose -- http://www.stg.brown.edu/~sjd
Chair, Bible Technologies Group -- http://www.bibletechnologies.net
Email: sderose@speakeasy.net
Backup email: sjd@stg.brown.edu