[osis-core] Error on identifier (colon required to match regex)

Patrick Durusau osis-core@bibletechnologieswg.org
Sun, 26 Oct 2003 07:01:32 -0500


Troy,

I think Todd is missing the issue and that there is not really any 
dispute as to what we want to do.

Todd: Troy raised the question that the "type" attribute on identifier 
(and also subject), now requires (due to the regex) that the value of 
the type attribute must end in a colon.

Troy can now put type="OSIS:" and what he wants, and I think it makes 
sense, is to be able to put: type="OSIS". Note he is not addressing the 
*content* of the identifier element, which is what you covered in your post.

In other words, the type on identifier is not what would be used as the 
prefix, the content of the identifier element (which we have not 
constrained) is what gives that token, but a designation, using OSIS in 
Troy's case, to distinguish the identifier for this document, in which 
case it would have to be unique to this document.

Does that help?

Hope everyone is having a great day!

Patrick


Troy A. Griffitts wrote:
> Todd,
>     I'm NOT against this organization deciding on unique OSIS IDs for 
> all of their Bibles.  I'm all for that.
> 
>     I don't think it matters one way or another if BTG is going to act 
> as an authority for naming.
> 
>     We NEED a way to distinguish all of the identifiers from the ONE 
> identifier we're using to programmatically look up an OSIS document in a 
> library of OSIS documents.
> 
>     I personally don't care about ISBN, or any other type of identifier 
> that we allow.  They may be useful for other people, and even my end users.
> 
>     There IS (or was last week) a way for a software system (like 
> CrossWire's) to get unique IDs and speak about unique documents with the 
> <identifier type="OSIS"> construct.  This must not go away.
> 
>     If you want to add an optional prefix that specifies who decided on 
> the name, that's fine.  I don't see any use for it, and forcing it will 
> mean you can NEVER do what I think you see for a use: supply one for the 
> <work osisWork="fba"> to point to their canonical list (eternal 
> recursion).  You could do the same thing with FBA.Bible.es.RVR.1960 if 
> that's the naming structure they decided.  I don't like it, but I can 
> live with either.
> 
>     But I can't live without type="OSIS" to tell me which <identifier> 
> is the canonical OSIS name for the document.
> 
>     -Troy.
> 
> 
> Todd Tillinghast wrote:
> 
>> Troy and Patrick,
>>
>> Yes, the type attribute on <identifier> should be "x-*".  Initially
>> Patrick had made type on <identifier> and not <identifier> itself
>> osisGenType.  It looks like <identifier> is now correct but the type
>> attribute needs to be fixed.
>>
>> The correct form would be:
>>
>> <identifier>namingAuthorityWorkPrefix:Canonical.Name.Here</identifier>
>>
>> I had already been talking to the various Bible agencies (in TX and the
>> UK) about adopting a common naming structure.  Because the Bible
>> Technologies group is not going to act as a naming authority, I have
>> proposed that the Forum of Bible Agencies act as a naming authority for
>> modern Bible translations.  I believe that 95% or more of the modern
>> translations are owned by a member of the Forum of Bible Agencies either
>> directly or indirectly.  If the proposal moves forward then you would
>> encode something like the following.
>>
>> <osisText osisIDWork="rvr" ...>
>>    <header>
>>       <work osisWork="rvr">
>>          ...
>>          <identifier>fba:Bible.es.RVR.1960</identifier>
>>          ...
>>       </work>
>>       <work osisWork="fba">
>>          <title>Forum of Bible Agencies Bible Translation
>> Identifiers</title>
>>          ...
>>       </work>
>>    </header>
>> </osisText>
>>
>> The "OSIS" value would no longer be appropriate because the Bible
>> Technologies group is not acting as the naming authority.
>>
>> My hope would be that the Bible translations held by the Bible agencies
>> who are not members of the Forum of Bible Agencies would also adopt
>> identifiers allocated by the Forum of Bible Agencies. 
>> Thoughts?
>>
>> Todd
>>
>>
>>
>>> -----Original Message-----
>>> From: osis-core-admin@bibletechnologieswg.org 
>>> [mailto:osis-core-admin@bibletechnologieswg.org] On Behalf Of Troy A. 
>>> Griffitts
>>> Sent: Saturday, October 25, 2003 2:08 PM
>>> To: osis-core@bibletechnologieswg.org
>>> Subject: Re: [osis-core] Error on identifier (colon required to match 
>>> regex)
>>>
>>>
>>> I believe the 'type' attribute on the 'identifier' element should not 
>>> be restricted by 'osisGenType'
>>>
>>> <identifier type="OSIS">OSIS.Canonical.Name.Here</identifier>
>>>
>>> should be allowed and is THE way to unambiguously refer to an OSIS 
>>> document.
>>>
>>>     -Troy.
>>>
>>>
>>>
>>> Patrick Durusau wrote:
>>>
>>>> Troy,
>>>>
>>>> type on identifier is defined as:
>>>>
>>>> <xs:attribute name="type" type="osisGenType"/>
>>>>
>>>> Which calls the regex you mention below.
>>>>
>>>> I removed the enumeration of values and replaced it with the regex,
>>>> which allows you to declare the identifier in a work.
>>>>
>>>> The reason for the error is that the regex requires OSIS: and not 
>>>> simply
>>>> OSIS. The reasoning was that usually an identifier will be 
>>>
>>>
>>> used in a
>>>
>>>> number of places with more parts of the identifier 
>>>
>>>
>>> following and so the
>>>
>>>> need to enforce the ":" separator.
>>>>
>>>> Will this be a problem? Note we get the same behavior with type on
>>>> subject, i.e., incorrect DEWEY, correct DEWEY:.
>>>>
>>>> In a way it does call the user's attention to the proper use of the
>>>> identifier itself as being identifier + colon.
>>>>
>>>> This also requires identifier + colon in Lemma, Morph and 
>>>
>>>
>>> POS, but we
>>>
>>>> are used to seeing them there anyway.
>>>>
>>>> Comments?
>>>>
>>>> Hope everyone is having a great day!
>>>>
>>>> Patrick
>>>>
>>>> Troy A. Griffitts wrote:
>>>>
>>>>
>>>>> Hey guys.  Here's the report on the run of the latest 
>>>>
>>>
>>> schema against
>>>
>>>>> my latest encoding of the NASB:
>>>>>
>>>>> [scribe@troyslaptop msv]$ java -jar msv.jar ./osisCore.xsd 
>>>>
>>>
>>> ./nasb.xml
>>>
>>>>> start parsing a grammar. validating ./nasb.xml
>>>>> Error at line:7, column:45 of 
>>>>
>>>
>>> file:///space/home/scribe/msv/./nasb.xml
>>>
>>>>>  attribute "type" has a bad value: the value does not match the 
>>>>> regular expression
>>>>
>>>
>>> "((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)((((\p{L})|(\p{N}))
>>> +)(((\.(\p{L}|\p{N}|_)+)*))?))".
>>>
>>>>>
>>>>> the document is NOT valid.
>>>>>
>>>>> it fails on this line:
>>>>>                    <identifier type="OSIS">Bible.NASB</identifier>
>>>>>
>>>>>
>>>>> Here's the head of the doc:
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <osis xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace"
>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>
>>>
>>> xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS
>>> /namespace
>>>
>>>>> osisCore.1.9.xsd">
>>>>>     <osisText osisIDWork="nasb" xml:lang="en">
>>>>>          <header>
>>>>>               <work osisWork="nasb">
>>>>>                    <title>NEW AMERICAN STANDARD BIBLE</title>
>>>>>                    <identifier type="OSIS">Bible.NASB</identifier>
>>>>>                    <rights>Copyright (C) 
>>>>> 1960,1962,1963,1968,1971,1972,1973,1975,1977,1995 by THE LOCKMAN 
>>>>> FOUNDATION</rights>
>>>>>                    <refSystem>Bible</refSystem>
>>>>>               </work>
>>>>>               <work osisWork="strongs">
>>>>>               </work>
>>>>>          </header>
>>>>>
>>>>>
>>>>> <div type="book" osisID="Matt"><title type="main"
>>>>> subType="x-Book">MATTHEW</title>
>>>>> <chapter osisID="Matt.1"><title type="sub" 
>>>>
>>>
>>> subType="x-Chapter">CHAPTER
>>>
>>>>> 1</title>
>>>>> <title type="sub" subType="x-Section">The Genealogy of Jesus the 
>>>>> Messiah</title>
>>>>> <verse osisID="Matt.1.1"><w lemma="strongs:G976">The <note 
>>>>> type="explanation" osisID="Matt.1.1.note.1" 
>>>>
>>>
>>> n="1"></note>record</w> <w
>>>
>>>>> lemma="strongs:G1078">of the genealogy</w> <w 
>>>>
>>>
>>> lemma="strongs:G2424">of
>>>
>>>>> <note type="explanation" osisID="Matt.1.1.note.2" 
>>>>> n="2"></note>Jesus</w> <note type="explanation" 
>>>>> osisID="Matt.1.1.note.3" n="3"></note><w lemma="strongs:G5547">the 
>>>>> Messiah</w>, <note type="crossReference" osisID="Matt.1.1.xref.A" 
>>>>> n="A"></note><w lemma="strongs:G5207">the son</w> <w 
>>>>> lemma="strongs:G1160b">of David</w>, <note type="crossReference" 
>>>>> osisID="Matt.1.1.xref.B" n="B"></note><w lemma="strongs:G5207">the 
>>>>> son</w> <w lemma="strongs:G11">of Abraham</w>:
>>>>> <milestone type="line" subType="x-PM"/></verse><verse 
>>>>> osisID="Matt.1.2"><w lemma="strongs:G11">Abraham</w> <note 
>>>>> type="explanation" osisID="Matt.1.2.note.1" n="1"></note><w 
>>>>> lemma="strongs:G1080">was the father</w> <w 
>>>>
>>>
>>> lemma="strongs:G2464">of
>>>
>>>>> Isaac</w>, <note type="explanation" osisID="Matt.1.2.note.2" 
>>>>> n="2"></note><w lemma="strongs:G2464">Isaac</w> <w 
>>>>> lemma="strongs:G1080">the father</w> <w lemma="strongs:G2384">of 
>>>>> Jacob</w>, <w lemma="strongs:G2384">and Jacob</w> <w 
>>>>> lemma="strongs:G1080">the father</w> <w 
>>>>
>>>
>>> lemma="strongs:G2455">of <note
>>>
>>>>> type="explanation" osisID="Matt.1.2.note.3" 
>>>>
>>>
>>> n="3"></note>Judah</w> <w
>>>
>>>>> lemma="strongs:G80">and his brothers</w>.
>>>>> </verse><verse osisID="Matt.1.3"><w 
>>>>
>>>
>>> lemma="strongs:G2455">Judah</w> <w
>>>
>>>>> lemma="strongs:G1080">was the father</w> <w 
>>>>
>>>
>>> lemma="strongs:G5329">of
>>>
>>>>> Perez</w> <w lemma="strongs:G2196">and Zerah</w> <w 
>>>>> lemma="strongs:G2283">by Tamar</w>, <note type="crossReference" 
>>>>> osisID="Matt.1.3.xref.A" n="A"></note><w 
>>>>> lemma="strongs:G5329">Perez</w> <w lemma="strongs:G1080">was the 
>>>>> father</w> <w lemma="strongs:G2074">of Hezron</w>, <w 
>>>>> lemma="strongs:G2074">and Hezron</w> <w lemma="strongs:G1080">the 
>>>>> father</w> <w lemma="strongs:G689">of <note type="explanation" 
>>>>> osisID="Matt.1.3.note.1" n="1"></note>Ram</w>.
>>>>>
>>>>> Patrick Durusau wrote:
>>>>>
>>>>>
>>>>>> Guys,
>>>>>>
>>>>>> Getting closer all the time!
>>>>>>
>>>>>> Note that I have added an enumerated type on <seg> of otPassage. That
>>>>>> allows Troy to avoid default rendering of quotes but also 
>>>>>
>>>
>>> allows me
>>>
>>>>>> to avoid trying to add another content model when I am 
>>>>>
>>>
>>> already tired.
>>>
>>>>>> Should Troy's analysis of usage prove accurate, which it very well
>>>>>> may, we may need to revisit this issue for this type of 
>>>>>
>>>
>>> passage and
>>>
>>>>>> others. For my part, if "the very stones would cry out," 
>>>>>
>>>
>>> the Rolling
>>>
>>>>>> Stones that is, we may need to revisit this issue. ;-)
>>>>>>
>>>>>> I think this is about as close as I can get today. Please run your
>>>>>> various texts against it and let me know the results.
>>>>>>
>>>>>> Really do appreciate all the hard work!
>>>>>>
>>>>>> Hope everyone is having a great day!
>>>>>>
>>>>>> Patrick
>>>>>>
>>>>>>
>>>
>>> _______________________________________________
>>> osis-core mailing list
>>> osis-core@bibletechnologieswg.org 
>>> http://www.bibletechnologieswg.org/mailman/lis> tinfo/osis-core
>>>
>>
>>
>> _______________________________________________
>> osis-core mailing list
>> osis-core@bibletechnologieswg.org
>> http://www.bibletechnologieswg.org/mailman/listinfo/osis-core
> 
> 
> _______________________________________________
> osis-core mailing list
> osis-core@bibletechnologieswg.org
> http://www.bibletechnologieswg.org/mailman/listinfo/osis-core
> 


-- 
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
Patrick.Durusau@sbl-site.org
Chair, V1 - Text Processing: Office and Publishing Systems Interface
Co-Editor, ISO 13250, Topic Maps -- Reference Model

Topic Maps: Human, not artificial, intelligence at work!