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

Troy A. Griffitts osis-core@bibletechnologieswg.org
Sat, 25 Oct 2003 13:07:32 -0700


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
>>>
>>>