FW: [osis-core] New Regex for osisRef with test file
Patrick Durusau
osis-core@bibletechnologieswg.org
Wed, 17 Sep 2003 15:54:16 -0400
This is a multi-part message in MIME format.
--------------050207000103040602070001
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Todd,
Probably did not attach, am cc:ing the list.
Hope you are having a great day!
Patrick
Todd Tillinghast wrote:
> I did not get any attachments.
>
> Todd
>
> -----Original Message-----
> From: osis-core-admin@bibletechnologieswg.org
> [mailto:osis-core-admin@bibletechnologieswg.org] On Behalf Of Patrick
> Durusau
> Sent: Wednesday, September 17, 2003 12:54 PM
> To: osis-core@bibletechnologieswg.org
> Subject: [osis-core] New Regex for osisRef with test file
>
> Guys,
>
> New osisRef with the new grain syntax attached with test file.
>
> Validates in XMLSpy.
>
> Working on the rest of the additions and modifications to the schema.
>
> Let me know if there are any problems with it. Will put it in last.
>
> Hope everyone is having a great day!
>
> Patrick
>
--
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!
--------------050207000103040602070001
Content-Type: text/xml;
name="osisRegexTest.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="osisRegexTest.xml"
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Patrick Durusau (Society of Biblical Literature) -->
<text xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Working\OSIS_Dallas\OSISCore\Regex_Test\osisRegexTest.xsd">
<div type="concordance">
<head>osisIDs</head>
<p osisID="Matt.1.1">Matt.1.1</p>
<p osisID="KJV.Bible:Matt.1.1">KJV.Bible:Matt.1.1</p>
<p osisID="Matt.1.2 Matt.1.3 Matt.1.4 Matt.1.5 Matt.1.6">Matt.1.2 Matt.1.3 Matt.1.4 Matt.1.5 Matt.1.6</p>
<p osisID="Matt.1.1!a">Matt.1.1!a</p>
</div>
<div type="x-a.b">
<head>osisRefs</head>
<p osisRef="Bible">kjv:</p>
<p osisRef="Matt.1.1">Matt.1.1</p>
<p osisRef="KJV.Bible:Matt.1.1">KJV.Bible:Matt.1.1</p>
<p osisRef="Matt.1.1@cp[65]">Matt.1.1@cp[65]</p>
<p osisRef="Matt.1.1@s[Messiah]">Matt.1.1@s[Messiah]</p>
<p osisRef="Matt.1.2-Matt.1.7">Matt.1.2-Matt.1.7</p>
<p osisRef="Matt.1.6@s[David][2]">Matt.1.6@s[David]</p>
<p osisRef="Matt.1.6@s[David]-Matt.1.11@s[Babylon][2]">Matt.1.6@s[David]-Matt.1.11@s[Babylon]</p>
<p osisRef="Matt.1.1!a">Matt.1.1!a</p>
</div>
<div>
<head>date</head>
<p date="2003">2003</p>
<p date="-2003">-2003</p>
<p date="~2003">~2003</p>
<p date="~-2003">~-2003</p>
<p date="2003:06">2003:06</p>
<p date="-2003:06">-2003:06</p>
<p date="~2003:06">~2003:06</p>
<p date="2003:06:09">2003:06:09</p>
<p date="-2003:06:09">-2003:06:09</p>
<p date="T06:09">T06:09</p>
<p date="T06:09:10">T06:09:10</p>
<p date="T06">T06</p>
<p date="T~Martins">T~Martins</p>
</div>
</text>
--------------050207000103040602070001
Content-Type: text/xml;
name="osisRegexTest.xsd"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="osisRegexTest.xsd"
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified">
<xs:annotation>
<xs:documentation>
<p>This is the OSIS schema for checking regex expressions. The base element is <text> which can be followed by an unlimited number of <p> elements which may have attributes of osisWork, osisID and osisRef, which are the three main regex expressions in the OSIS schema.</p>
</xs:documentation>
</xs:annotation>
<xs:element name="text">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="div"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="div">
<xs:complexType>
<xs:sequence>
<xs:element ref="head" maxOccurs="1"/>
<xs:element ref="p" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="divType" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="head">
<xs:complexType mixed="true"/>
</xs:element>
<xs:element name="p">
<xs:complexType mixed="true">
<xs:attribute name="osisID" type="osisIDType" use="optional"/>
<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
<xs:attribute name="date" type="osisDateType" use="optional"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="osisIDType">
<xs:restriction base="xs:string">
<xs:pattern value="(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?:)?((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?(!((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)?((\s(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?:)?((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)*)?(!(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)?)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="osisRefType">
<xs:restriction base="xs:string">
<xs:pattern value="(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?:)?((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?(!((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)?(@(cp\[(\p{Nd})*\]|s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?))?(\-(((\p{L}|\p{N}|_)*)((\.(\p{L}|\p{N}|_)+)*))(!((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)?(@(cp\[(\p{Nd})*\]|s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?))?)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="osisDateType">
<xs:restriction base="xs:string">
<xs:pattern value="(~)?(-)?([0-9]{4})?(:([0-9]{2}))?(:([0-9]{2}))?(T((([0-9]{2})?(:[0-9]{2})?(:[0-9]{2})?)|~([\c]*)))?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="attributeExtension">
<xs:restriction base="xs:string">
<xs:pattern value="x-([^\s])+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="divType">
<xs:union memberTypes="osisDivs attributeExtension"/>
</xs:simpleType>
<xs:simpleType name="osisDivs">
<xs:restriction base="xs:string">
<xs:enumeration value="acknowledgement"/>
<xs:enumeration value="afterword"/>
<xs:enumeration value="appendix"/>
<xs:enumeration value="back"/>
<xs:enumeration value="body"/>
<xs:enumeration value="book"/>
<xs:enumeration value="bookGroup"/>
<xs:enumeration value="colophon"/>
<xs:enumeration value="commentary"/>
<xs:enumeration value="concordance"/>
<xs:enumeration value="coverPage"/>
<xs:enumeration value="dedication"/>
<xs:enumeration value="devotional"/>
<xs:enumeration value="entry"/>
<xs:enumeration value="front"/>
<xs:enumeration value="gazetteer"/>
<xs:enumeration value="glossary"/>
<xs:enumeration value="imprimatur"/>
<xs:enumeration value="index"/>
<xs:enumeration value="introduction"/>
<xs:enumeration value="majorSection"/>
<xs:enumeration value="map"/>
<xs:enumeration value="outline"/>
<xs:enumeration value="preface"/>
<xs:enumeration value="section"/>
<xs:enumeration value="subSection"/>
<xs:enumeration value="titlePage"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
--------------050207000103040602070001--