unfoldingWord_en_uhl/OldLexicon/BdbOutline.xsd

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>