[osis-core] Test version

Patrick Durusau osis-core@bibletechnologieswg.org
Mon, 13 May 2002 07:30:26 -0400


This is a multi-part message in MIME format.
--------------090909060804090906050402
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Guys,

Still working on the problems with the content modeling for the schema. 
To make it more explicit, I have simply eliminated the phraseGroup and 
pasted those elements in the schema where that reference occurs. I 
suspect I am running afoul of some interaction between groups and the 
occurrence indicators in the schema syntax.

In any event, note this schema DOES NOT WORK! and is meant only for 
examining the content models, etc.

I am leaving for an unfortunate round of meetings at the office but 
should be back by mid-afternoon today. Would really like to dive in and 
get this cranked out over the next day or so.

Might be helpful if you can propose changes to content models by 
element? I.e., <p>  should be: (list elements), <verse> should be: (list 
elements), and I will be simply enumerating the elements until we have a 
schema that works properly and then try to combine them with groups 
(perhaps). The group syntax looks broken to me unless you want to get 
into a lot more complexity with very little gain. Not written for 
complex texts. At this point, I would settle for being able to have 
properly mixed content at the verse, p and other appropriate levels with 
standard software. That should not be as difficult as I have found it.

While I would like to have a more elegant model, we really do need to 
get something out so texts can start appearing.

Patrick

-- 
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
pdurusau@emory.edu


--------------090909060804090906050402
Content-Type: text/plain;
 name="OSISCore_1.test.xsd"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="OSISCore_1.test.xsd"

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation>
				<date>2002-05-06</date>
				<version>1.0.PR.1</version>
			<p>	This is the first complete revision of the OSIS schema since the meetings in Rome. I have attempted to use XML comments to allow the original text to remain along side the changes and have inserted a number of comments based upon the discussions in Rome. I will also prepare a clean version of the new schema for use in authoring/conversion, as this one is more suited for discussion of the various changes.</p>
	<p> Note that I have substantially reorganized the schema to (hopefully) make it easier to follow. New organization starts with the high level containers, osisText for example, as the ultimate container element (name subject to debate/change), which contains a header (primarily OEB/Dublin Core elements, that replace our title/titlePart elements. Most of the elements in the metadata header are optional. That is followed by the usual suspects, front, body and back. I then follow with the larger divisions, front, body and back. Those large divisions are followed by the various elements and content models for those elements. After all the structural stuff, then I have the simpleTypes and other material.</p>
	<p>Among the more significant changes are the loss of milestones and their replacement with segmentation of elements that bear next and previous attributes. The reasoning for this change was that boundary crossing elements are the exception and not the rule, hence only those cases should require unusual markup, as opposed to requiring milestones for all possible crossing elements. Since elements require a known context (unlike milestones) it will be possible to use the key/keyref mechanism for validation of these references.</p>
				     <date>2002-05-07</date>
				     <version>1.0.PR.02</version>
				     <p>Reformed element names,
				     collasped date and title into
				     single elements, simplied div
				     model</p>
				     <date>2002-05-10</date>
				     <version>1.0.PR.03</version>
				     <p>corrected typos</p>
				     <date>2002-05-12</date>
				     <version>1.0.PR.04</version>
				     <p>Added q back, key/keyRef
				     mechanisms, regexes for validation.</p>
		</xs:documentation>
	</xs:annotation>

<xs:element name="osisText">
			<xs:annotation>
				<xs:documentation>
					<p>Header and body elements are required and in that sequence. Front and back are optional (front primarily optional to allow quick start on encoding, most texts will have one.</p>
					<p>Rome changes: Added header, loses title/titlePart (within divs/books/chaps/etc. becomes recursive head). Made front optional to allow quick start to encoding. Header has Dublin Core materials drawn from OEB and the role attribute cut down to ten (10) possible roles. See the final section of the schema for roles and other simple type declarations.</p>
					<p>Attribute changes: note that attributes now distinguish both the work and refSys for a text.</p>
				</xs:documentation>
			</xs:annotation>
	<xs:complexType>
			<xs:sequence>
				<xs:element ref="header" minOccurs="1" maxOccurs="1"/>
				<xs:element ref="front" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="body" minOccurs="1" maxOccurs="1"/>
				<xs:element ref="back" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="work" type="osisWork" use="optional"/>
			<xs:attribute name="refSys" type="osisRef" use="optional"/>
			<xs:attributeGroup ref="globalAttributes"/>
	</xs:complexType>
</xs:element>


<xs:simpleType name="osisWork">
	<xs:restriction base="xs:string"/>
</xs:simpleType>

<xs:simpleType name="osisRef">
	<xs:restriction base="xs:string"/>
</xs:simpleType>

<xs:element name="header">
		<xs:annotation>
			<xs:documentation>
				<p>Rome changes: Most of this information was in front and required in the earlier version of OSIS. Have moved the metadata information into the header element and made most of it optional. Only dc:title required. Note that we recommned revisionDesc be used and if it is, it does have required sub-elements of date and resp. </p>
			</xs:documentation>
		</xs:annotation>
<xs:complexType>
	<xs:sequence>
	
	<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="contributor" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>

<xs:element name="creator" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attribute name="resp" type="xs:string" use="required"/>
				<xs:attribute name="role" type="role" use="required"/>
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="subject" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="description" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="publisher" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="type" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="format" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="identifier" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="source" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="language" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="relation" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="coverage" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="rights" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:simpleContent> 	
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>
<xs:element name="revisionDesc" minOccurs="0" maxOccurs="unbounded">
	<xs:complexType>
		<xs:sequence>
			<xs:element ref="date" minOccurs="1"/>
			<xs:element ref="resp" minOccurs="1"/>
			<xs:group ref="phraseGroup" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="globalAttributes"/>
		<xs:attribute name="TEIform" fixed="revisionDesc"/>
	</xs:complexType>
</xs:element>

	</xs:sequence>
	<xs:attributeGroup ref="globalAttributes"/>
</xs:complexType>
</xs:element>

<xs:element name="front">
		<xs:annotation>
			<xs:documentation>
				<p>Note that with the addition of the header element, the various sub-elements such as titleGroup, author, date, copyright, publisher, pubPlace, revisionDesc have been removed. Not really compatible with TEI anyway. Now contains only div and global attributes. Note that div is recursive and contains generic content. Note that title is recursive so can have subtitles and the like.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="title" minOccurs="0"/>
				<xs:element ref="div" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
	</xs:element>

<xs:element name="body">
		<xs:annotation>
			<xs:documentation>
				<p>Major Rome changes were the elimination of the titleGroup, since that information is carried in the header. The div element contains a recursive header for title type information that should be recorded in the body.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="title" minOccurs="0"/>
				<xs:element ref="div" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attribute name="TEIform" fixed="body"/>
			<xs:attributeGroup ref="inReferenceAttributes"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="back">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="title" minOccurs="0"/>
				<xs:element ref="div" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attribute name="TEIform" fixed="back"/>
			<xs:attributeGroup ref="inReferenceAttributes"/>
		</xs:complexType>
	</xs:element>

<!-- end of main structural elements of header, front, body and back -->

<!-- div, the largest common container for front, body and back -->

<xs:element name="div">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="div" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="p" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="close" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="figure" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="salute" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="verse" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		<xs:attribute name="lang" type="languageType" use="optional"/>
		<xs:attribute name="type" type="divType" use="optional"/>
		<xs:attribute name="n" type="xs:string" use="optional"/>
		<xs:attribute name="divTitle" type="xs:string" use="optional"/>
		<xs:attributeGroup ref="inReferenceAttributes"/>
		<xs:attributeGroup ref="segmentAttributes"/>
		<xs:attribute name="TEIform" fixed="div"/>
	</xs:complexType>
</xs:element>


<xs:simpleType name="divType">
		<xs:union memberTypes="divsOSIS attributeExtension"/>
</xs:simpleType>


<xs:simpleType name="divsOSIS">
		<xs:annotation>
			<xs:documentation>
				<p>Enumerated list of types of div elements in an OSIS text. Note that users can add types of divs using the x- extension prefix on their type names.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="appendix"/>
			<xs:enumeration value="book"/>
			<xs:enumeration value="chapter"/>
			<xs:enumeration value="concordance"/>
			<xs:enumeration value="glossary"/>
		</xs:restriction>
</xs:simpleType>


<!-- Begin listing of lower level elements and their content groups -->


<xs:element name="abbr">
	<xs:complexType>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="expansion" type="xs:string" use="optional"/>
				<xs:attributeGroup ref="globalAttributes"/>
			</xs:extension>
			</xs:simpleContent>
	</xs:complexType>
</xs:element>


<xs:element name="blockQuote">
	<xs:annotation>
			<xs:documentation>
				<p>My notes indicate salute, note, p, phrase-class, close-salute-signed. Should all these be separate elements in the sequence or should close contain salute-signed? Have modeled it that way but open to suggestions.</p>
			</xs:documentation>
	</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
			<xs:element ref="salute" minOccurs="0" maxOccurs="1"/>
			<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="p" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speaker" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="close" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="catchWord">
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
			<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="close">
	<xs:annotation>
			<xs:documentation>
				<p>Note that both salute and signed contain phrase-class elements.</p>
			</xs:documentation>
	</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="salute" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="signed" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="date">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="globalAttributes"/>
					<xs:attribute name="calendar" type="calendar" use="optional" default="ISO"/>
					<xs:attribute name="value" use="optional"/>
					<xs:attribute name="TEIform" fixed="date"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:simpleType name="calendar">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Chinese"/>
			<xs:enumeration value="Gregorian"/>
			<xs:enumeration value="Islamic"/>
			<xs:enumeration value="ISO"/>
			<xs:enumeration value="Jewish"/>
			<xs:enumeration value="Julian"/>
		</xs:restriction>
</xs:simpleType>



<xs:element name="divineName">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="figure">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="caption" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="src" type="xs:string" use="required"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="foreign">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>
	

<xs:element name="head">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="head" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>		
			</xs:sequence>
				<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="inscription">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="item">
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="label" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="label">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="line">
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="lineGroup">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="line" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="list">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="head" minOccurs="0"/>
				<xs:element ref="item" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="mentioned">
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="milestone">
	<xs:annotation>
			<xs:documentation>
				<p>Added to make explicit the shadown milestone requested by BobP. Don't think you need a loc attribute with the inReferenceAttribute group but am open to comments. Since you have the ref attribute in inRefAttributes. May want to add the generic n attribute so people can make pages, etc.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="inReferenceAttributes"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="name">
		<xs:annotation>
			<xs:documentation>
				<p>An element with an attribute simiar to role that allows a semi-open attribute for specifying what type of name is being recorded in the markup. Examples include person, geographic, etc. Note the general format for enumerated values: a list is declared as a simpleType and then followed by a union statement combining that list with the attributeExtension simpleType which contains a regular expression constraining additions to the OSIS enumerated list to begin with the string &quot;x-&quot;. This allows OSIS to speify a list of values and yet allow users to extend that list.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="nameType" type="nameType" use="optional"/>
					<xs:attribute name="regular" type="xs:string" use="optional"/>
					<xs:attribute name="nameKey" type="xs:string" use="optional"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:simpleType name="namesOSIS">
		<xs:annotation>
			<xs:documentation>
				<p>Enumerated list of name types commonly found in biblical texts.</p>
				<p>The attribute nonhuman was inserted to allow the marking of names that are not encoded with the element divineName. The divineName element was introduced to treat name occurences that are treated differently, i.e., the setting of Lord in small caps, to represent a name in the original text. Rather than attempt to enumerate all the varying traditions for such practices, the divineName element simply recognizes it and allows encoders to follow that practice (or not) as they desire.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="geographic"/>
			<xs:enumeration value="holiday"/>
			<xs:enumeration value="nonhuman"/>
			<xs:enumeration value="person"/>
			<xs:enumeration value="ritual"/>
		</xs:restriction>
</xs:simpleType>


<xs:simpleType name="nameType">
		<xs:union memberTypes="namesOSIS attributeExtension"/>
</xs:simpleType>


<xs:element name="note">
		<xs:annotation>
			<xs:documentation>
				<p>Note that note is now recursive, which allows the elimination of notePart. Has enumerated list of note types.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="catchWord" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="p" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="reading" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="ID" type="xs:string" use="optional"/>
			<xs:attribute name="lang" type="languageType" use="optional"/>
			<xs:attribute name="n" type="xs:string" use="optional"/>	
			<xs:attribute name="resp" type="xs:string" use="optional"/>
			<xs:attribute name="type" type="noteType" use="optional"/>
			<xs:attribute name="TEIform" fixed="note"/>
		</xs:complexType>
</xs:element>


<xs:simpleType name="noteType">
		<xs:union memberTypes="notesOSIS attributeExtension"/>
</xs:simpleType>


<xs:simpleType name="notesOSIS">
		<xs:annotation>
			<xs:documentation>
				<p>Enumerated list of note types for biblical texts. This list can be extended using the &lt;x-&gt; extension in front of other note types added by users.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="allusion"/>
			<xs:enumeration value="alternative"/>
			<xs:enumeration value="background"/>
			<xs:enumeration value="citation"/>
			<xs:enumeration value="devotional"/>
			<xs:enumeration value="exegesis"/>
			<xs:enumeration value="explanation"/>
			<xs:enumeration value="study"/>
			<xs:enumeration value="translation"/>
			<xs:enumeration value="variant"/>
		</xs:restriction>
</xs:simpleType>


<xs:element name="p">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="verse" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>
	
<xs:element name="q">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="outReferenceAttributes"/>
			<xs:attributeGroup ref="segmentAttributes"/>
			<xs:attributeGroup ref="globalAttributes"/>	
		</xs:complexType>
</xs:element>



<xs:element name="reading">
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="reference">
	<xs:annotation>
			<xs:documentation>
				<p>Note otPassage and ntProphecy have been dropped as elements. Actually references, inter-textual for post-modernists, and should be marked as such. Can use extensible type attribute to denote a typology of references. I have added the target attribute as xs:string but we may (or may not) want to force some validation on that attribute. Tend to favor not, since we don't know what reference someone might wish to point to and validity is their problem.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="referenceTo" type="referenceType" use="optional"/>
					<xs:attribute name="target" type="xs:string"/>
					<xs:attribute name="targetEnd" type="xs:string"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:simpleType name="referenceType">
		<xs:union memberTypes="referenceOSIS attributeExtension"/>
</xs:simpleType>


<xs:simpleType name="referenceOSIS">
		<xs:annotation>
			<xs:documentation>
				<p>Partial list reference types for biblical texts. This list can be extended using the &lt;x-&gt; extension in front of other note types added by users.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="allusion"/>
			<xs:enumeration value="paraphrase"/>
			<xs:enumeration value="quotation"/>
		</xs:restriction>
</xs:simpleType>

<xs:element name="resp">
	    <xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="who" type="xs:string"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="salute">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="who" type="xs:string"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="seg">
	<xs:annotation>
			<xs:documentation>
				<p>Decided to not abuse the seg element from TEI as a milestone. Returned to its traditional role of marking arbitrary segments of text (although it must properly nest). Should give us a little more flexibility in allowing markup of phrase level stuff we have not thought of up to this point.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="segmentAttributes"/>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="signed">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="who" type="xs:string"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="speech">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="segmentAttributes"/>
			<xs:attributeGroup ref="globalAttributes"/>
		</xs:complexType>
</xs:element>


<xs:element name="speaker">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="who" type="xs:string"/>
					<xs:attributeGroup ref="globalAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
</xs:element>


<xs:element name="title">
		<xs:complexType mixed="true">
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="globalAttributes"/>
			<xs:attribute name="TEIform" fixed="title"/>
		</xs:complexType>
</xs:element>


<xs:element name="transChange">
	<xs:annotation>
		<xs:documentation>
			<p>Bad name but all we could think of, please suggest better! Takes the place of ampRead, supplied, changedTenes. Supply types to enumerate added, deleted, amplified, changed, moved, other possibles, sourceComparison, sourceTrace, sourceMatch, transChange. Have not enumerated all in the list below but just a couple to act as place holders while we work out the scope of this element.</p>
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="resp" type="xs:string" use="optional"/>
		<xs:attribute name="transChange" type="transChangeType" use="optional"/>
		<xs:attributeGroup ref="globalAttributes"/>
	</xs:complexType>
</xs:element>

	
<xs:simpleType name="transChangeType">
		<xs:union memberTypes="transChangeOSIS attributeExtension"/>
</xs:simpleType>


<xs:simpleType name="transChangeOSIS">
		<xs:annotation>
			<xs:documentation>
				<p>Partial list of translation change types for biblical texts. This list can be extended using the &lt;x-&gt; extension in front of other types added by users.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="added"/>
			<xs:enumeration value="amplified"/>
			<xs:enumeration value="changed"/>
			<xs:enumeration value="deleted"/>
			<xs:enumeration value="moved"/>
		</xs:restriction>
</xs:simpleType>

<xs:element name="verse">
		<xs:complexType mixed = "true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element ref="abbr" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="blockQuote" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="divineName" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="foreign" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="inscription" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="lineGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="mentioned" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="milestone" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="q" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="reference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="seg" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="speech" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="title" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="transChange" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="bibleCite" type="xs:string"/>
			<xs:attributeGroup ref="outReferenceAttributes"/>
			<xs:attributeGroup ref="segmentAttributes"/>
			<xs:attributeGroup ref="globalAttributes"/>	
		</xs:complexType>
</xs:element>


<xs:element name="w">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="POS" type="attributeExtension" use="optional"/>
					<xs:attribute name="morph" type="attributeExtension" use="optional"/>
					<xs:attribute name="lemma" type="attributeExtension" use="optional"/>
					<xs:attribute name="gloss" type="xs:string" use="optional"/>
					<xs:attribute name="xlit" type="xs:string" use="optional"/>
					<xs:attribute name="TEIform" fixed="w"/>
					<xs:attributeGroup ref="globalAttributes"/>
					<xs:attributeGroup ref="outReferenceAttributes"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>

<!-- end new element listing -->


<!-- Global Attributes and simpleTypes -->


<xs:simpleType name="attributeExtension">
		<xs:annotation>
			<xs:documentation>
				<p>Where attribute values are declared, users can extend the allowed values by prepending the string &quot;x-&quot; to the values they desire to use. Attribute values are declared as the union of an enumerated set of values and this attributeExtension type.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="x-([^\s]+)"/>
		</xs:restriction>
</xs:simpleType>


<xs:attributeGroup name="globalAttributes">
		<xs:attribute name="ews" type="xs:string" use="optional"/>
		<xs:attribute name="ID" type="xs:ID" use="optional"/>
		<xs:attribute name="lang" type="languageType" use="optional"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
		<xs:attribute name="n" type="xs:string" use="optional"/>
</xs:attributeGroup>

	
<xs:attributeGroup name="inReferenceAttributes">
		<xs:attribute name="ref" type="xs:string" use="optional"/>
		<xs:attribute name="refSys" type="xs:string" use="optional"/>
		<xs:attribute name="work" type="xs:string" use="optional"/>
</xs:attributeGroup>	


<xs:attributeGroup name="outReferenceAttributes">
		       <xs:attribute name="ref" type="xs:string" use="optional"/>
</xs:attributeGroup>


<xs:attributeGroup name="segmentAttributes">
		<xs:attribute name="next" type="xs:string" use="optional"/>
		<xs:attribute name="prev" type="xs:string" use="optional"/>
</xs:attributeGroup>


<!-- SimpleType Declarations -->


<!-- Role simpleType for the header element -->

<xs:simpleType name="role">
		<xs:annotation>
			<xs:documentation>
				<p>This is a selected set of the most common role names likely to be needed for basic encoding. The full set of relator codes on which this listing (and the descriptions are based, was taken from: MARC Code List: Relator Codes -- Term Sequence (http://lcweb.loc.gov/marc/relators/re0002r1.html). This listing will be followed for later OSIS modules.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="art">
				<xs:annotation>
					<xs:documentation>Artist: Use for a person (e.g., a painter) who conceives, and perhaps also implements, an original graphic design or work of art, </xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="aut">
				<xs:annotation>
					<xs:documentation>Author: Use for a person or corporate body chiefly responsiblefor the intellectual or artistic content of a work, usually printed text.  This term may also be used when more than one person or body bears such responsibility.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="aft">
				<xs:annotation>
					<xs:documentation>Author of afterword, colophon, etc.: Use for a person or corporate body responsible for an afterword, postface, colophon, etc. but who is not the chief author of a work.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="aui">
				<xs:annotation>
					<xs:documentation>Author of introduction, etc.: Use for a person or corporate body responsible for an introduction, preface, foreword, or other critical introductory matter, but who is not the chief author.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="clb">
				<xs:annotation>
				<xs:documentation>Collaborator: Use for a person or corporate body that takes a limited part in the elaboration of a work of another person or corporate body that brings complements (e.g., appendices, notes) to the work.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="cwt">
				<xs:annotation>
				<xs:documentation>Commentator for written text: Use for a person or corporate body responsible for the commentary or explanatory notes about a text.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="com">
				<xs:annotation>
				<xs:documentation>Compiler: Use for a person who produces a work or publication by selecting and putting together material from the works of various persons or bodies.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ctb">
				<xs:annotation>
				<xs:documentation>Contributor: Use for one whose work has been contributed to a larger work, such as an anthology, serial publication, or other compilation of individual works. Do not use for someone whose sole function in relation to a work is as author, editor, compiler or translator.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="edt">
				<xs:annotation>
				<xs:documentation>Editor: Use for a person who prepares for publication a work not primarily his/her own, such as by elucidating text, adding introductory or other critical matter, or technically directing an editorial staff.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="trl">
				<xs:annotation>
				<xs:documentation>Translator: Use for a person who renders a text from one language into another, or from an older form of a language into the modern form.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

<xs:simpleType name="languageType">
		<xs:annotation>
			<xs:documentation>
				<p>A regex to validate ISO and Ethnologue language codes.</p>
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="(x|i|[A-Za-z]{2,3})(-[A-Za-z0-9]{2,8}){0,}"/>
		</xs:restriction>
	</xs:simpleType>







</xs:schema>

--------------090909060804090906050402--