[osis-core] Dictionary module

Patrick Durusau osis-core@bibletechnologieswg.org
Sat, 14 Jun 2003 07:09:11 -0400


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

Guys,

A very rough version of a dictionary module attached. Validates but the 
content models have some problems.

Suggestions for the minimal changes we would need to make to the current 
schema to allow robust use of redefine to create a dicDiv (don't want to 
redefine <div> for the entire schema in order to add <entry>? Well, 
don't have to do that, could just say in prose, don't use <entry> unless 
you are doing a dictionary but thought it would be better to keep the 
number of options low.

Steve has been cranking on the user's manual and I have been making mods 
to the schema and cleaning up niggling issues. Have made a lot of 
progress, thanks to your suggestions and patience with the sometimes 
slow understanding of what is being requested. ;-)

Steve and I will be working on the schema most of the morning but this 
afternoon we will be working on the ARK proposal. I have to get him to 
the airport by late afternoon. Should have the next revision of the 
schema out tomorrow morning.

Hope everyone is having a great day!

Patrick

-- 
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
Patrick.Durusau@sbl-site.org
Co-Editor, ISO 13250, Topic Maps -- Reference Model

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


--------------070301060506090306050506
Content-Type: text/xml;
 name="OSISDict.0.1.xsd"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="OSISDict.0.1.xsd"

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">





<xs:element name="entry">

		<xs:complexType>

			<xs:complexContent>

				<xs:extension base="entryType"/>

			</xs:complexContent>

		</xs:complexType>

	</xs:element>





<xs:complexType name="entryType">

		<xs:sequence>

			<xs:element name="form" type="formType" minOccurs="1" maxOccurs="1"/>

			<xs:element name="gramGrp" type="gramGrpType" minOccurs="0" maxOccurs="1"/>

			<xs:element name="sense" type="senseType" minOccurs="1" maxOccurs="unbounded"/>

		</xs:sequence>

</xs:complexType>



<xs:complexType name="formType">

		<xs:sequence>

			<xs:element name="orth" type="genType" minOccurs="1" maxOccurs="1"/>

			<xs:element name="hyph" type="genType" minOccurs="0" maxOccurs="unbounded"/>

			<xs:element name="pron" type="genType" minOccurs="0" maxOccurs="unbounded"/>

		</xs:sequence>

</xs:complexType>



<xs:complexType name="gramGrpType">

		<xs:sequence>

		       <xs:element name="gramGrp" type="xs:string"/>

		</xs:sequence>

</xs:complexType>





<xs:complexType name="senseType">

		<xs:sequence>

			<xs:element name="gramGrp" type="gramGrpType" minOccurs="0"/>

				    <xs:choice>

					<xs:element name="def" type="defType" minOccurs="1" maxOccurs="unbounded"/>

					<xs:element name="eg" type="defType" minOccurs="0" maxOccurs="unbounded"/>

				    </xs:choice>

                 </xs:sequence>

</xs:complexType>



<xs:complexType name="defType">

	          <xs:sequence>

		       	<xs:element name="reference" type="RefType" minOccurs="0" maxOccurs="unbounded"/> 

		  </xs:sequence>

				<xs:attributeGroup ref="globalWithType"/>

</xs:complexType>





<xs:complexType name="genType">



	

				<xs:attributeGroup ref="globalWithType"/>



</xs:complexType>



<xs:complexType name="RefType">



				<xs:attributeGroup ref="globalWithType"/>

				<xs:attribute name="osisRef" type="osisRefType" use="required"/>



</xs:complexType>



<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}|\s)*\]))?(\-(((\p{L}|\p{N}|_)*)((\.(\p{L}|\p{N}|_)+)*))(!((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?)?(@(cp:\[(\p{Nd})*\]|s:\[(\p{L}|\p{N}|\s)*\]))?)?"/>



	 </xs:restriction>



</xs:simpleType>



<xs:attributeGroup name="globalWithType">



		<xs:attribute name="ID" type="xs:ID" use="optional"/>



	

		<xs:attribute name="resp" type="xs:string" use="optional"/>



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



		<xs:attribute name="subType" type="xs:string" use="optional"/>



		<xs:attribute name="n" type="xs:string" use="optional"/>



	



</xs:attributeGroup>







</xs:schema>
--------------070301060506090306050506--