110 lines
3.3 KiB
XML
110 lines
3.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<xs:schema targetNamespace="http://www.APTBibleTools.com/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.APTBibleTools.com/namespace" elementFormDefault="qualified">
|
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
|
|
|
<xs:element name="lexicon" type="lexiconCT"/>
|
|
|
|
<!-- complex types -->
|
|
|
|
<xs:complexType name="lexiconCT">
|
|
<xs:sequence maxOccurs="unbounded">
|
|
<xs:element name="part" type="partCT"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="partCT">
|
|
<xs:sequence maxOccurs="unbounded">
|
|
<xs:element name="section" type="sectionCT"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
<xs:attribute name="title" type="xs:string" use="required"/>
|
|
<xs:attribute ref="xml:lang" use="required"/>
|
|
<xs:attribute name="p" type="xs:integer"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="sectionCT">
|
|
<xs:choice maxOccurs="unbounded">
|
|
<xs:element name="entry" type="entryCT"/>
|
|
<xs:element name="page" type="pageCT"/>
|
|
</xs:choice>
|
|
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
<xs:attribute name="p" type="xs:integer"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="entryCT">
|
|
<xs:choice maxOccurs="unbounded">
|
|
<xs:element name="w" type="wCT"/>
|
|
<xs:element name="v" type="refCT"/>
|
|
<xs:element name="sub" type="refCT"/>
|
|
</xs:choice>
|
|
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
<xs:attribute name="type" type="entryType" default="entry"/>
|
|
<xs:attribute name="cite" type="citationType" default="partial"/>
|
|
<xs:attribute name="form" type="xs:boolean" default="true"/>
|
|
<xs:attribute name="mod" type="modList"/>
|
|
<xs:attribute name="p" type="xs:integer"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="wCT">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="src" type="xs:string"/>
|
|
<xs:attribute name="strong" type="strongList"/>
|
|
<xs:attribute name="aug" type="xs:string"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="refCT">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="mod" type="modList"/>
|
|
<xs:attribute name="ref" type="xs:IDREF" use="required"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="pageCT">
|
|
<xs:attribute name="p" type="xs:integer" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<!-- simple types -->
|
|
|
|
<xs:simpleType name="strongList">
|
|
<xs:list itemType="strongType"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="strongType">
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="8674"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="entryType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="root"/>
|
|
<xs:enumeration value="entry"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="citationType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="full"/>
|
|
<xs:enumeration value="partial"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="modList">
|
|
<xs:list itemType="modType"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="modType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[IVXLCDM]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
</xs:schema>
|