Add an XSD schema

This commit is contained in:
Leonard Smith 2021-08-27 11:37:54 -05:00
parent f65403fd4c
commit c0209c96e5
1 changed files with 84 additions and 0 deletions

84
Checked/wa_ulb.xsd Normal file
View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="xml" type="xmlType"/>
<xs:complexType name="wType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:integer" name="OGNTsort" use="optional"/>
<xs:attribute name="strongs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="G([0-9])*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="morph" use="optional"/>
<xs:attribute type="xs:string" name="lemma" use="optional"/>
<xs:attribute type="xs:string" name="text" use="optional"/>
<xs:attribute type="xs:string" name="sub" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="phraseType" mixed="true">
<xs:sequence>
<xs:element type="wType" name="w" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="phraseWords" minOccurs="0" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="verseType">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="xs:string" name="Greek"/>
<xs:element type="xs:string" name="preText"/>
<xs:element name="ULB">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="usfm" maxOccurs="unbounded" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="residue"/>
<xs:element type="wType" name="w"/>
<xs:element type="phraseType" name="phrase"/>
<xs:element name="usfm">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:complexType>
<xs:complexType name="chapterType">
<xs:sequence>
<xs:element type="verseType" name="verse" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="osisID" use="optional"/>
</xs:complexType>
<xs:complexType name="ULBType" mixed="true">
<xs:sequence>
<xs:element name="usfm" maxOccurs="unbounded" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bookType">
<xs:sequence>
<xs:element type="chapterType" name="chapter" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="osisID"/>
</xs:complexType>
<xs:complexType name="xmlType">
<xs:sequence>
<xs:element type="bookType" name="book"/>
</xs:sequence>
</xs:complexType>
</xs:schema>