XML Schemas - Lexical Records
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:lx="http://umlslex.nlm.nih.gov/lexicon">
<xsd:element name="lexRecords" type="lexRecordsType"/>
<!-- lexicon, lexRecords -->
<xsd:complexType name="lexRecordsType">
<xsd:sequence>
<xsd:element name="lexRecord" type="lexRecordType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- lexRecordType -->
<xsd:complexType name="lexRecordType">
<xsd:sequence>
<xsd:element name="base" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="eui" type="euiType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cat" type="catType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spellingVars" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="inflVars" type="inflVarsType" minOccurs="1" maxOccurs="unbounded"/>
<xsd:group ref="catEntryType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="acronyms" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="abbreviations" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="classTypes" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="annotations" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="signature" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<!-- eui type -->
<xsd:simpleType name="euiType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[E]{1}[0-9]{7}"/>
</xsd:restriction>
</xsd:simpleType>
<!-- cat type -->
<xsd:simpleType name="catType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="adj"/>
<xsd:enumeration value="adv"/>
<xsd:enumeration value="aux"/>
<xsd:enumeration value="compl"/>
<xsd:enumeration value="conj"/>
<xsd:enumeration value="det"/>
<xsd:enumeration value="modal"/>
<xsd:enumeration value="noun"/>
<xsd:enumeration value="prep"/>
<xsd:enumeration value="pron"/>
<xsd:enumeration value="verb"/>
</xsd:restriction>
</xsd:simpleType>
<!-- inflVars type -->
<xsd:complexType name="inflVarsType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="cat" type="catType" use="required"/>
<xsd:attribute name="cit" type="xsd:string" use="required"/>
<xsd:attribute name="eui" type="euiType" use="required"/>
<xsd:attribute name="infl" type="inflType" use="required"/>
<xsd:attribute name="type" type="inflTypeType" use="required"/>
<xsd:attribute name="unInfl" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- infl Type -->
<xsd:simpleType name="inflType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="base"/>
<xsd:enumeration value="comparative"/>
<xsd:enumeration value="infinitive"/>
<xsd:enumeration value="past"/>
<xsd:enumeration value="past1p23p"/>
<xsd:enumeration value="past1p23pNeg"/>
<xsd:enumeration value="past1s3s"/>
<xsd:enumeration value="past1s3sNeg"/>
<xsd:enumeration value="pastNeg"/>
<xsd:enumeration value="pastPart"/>
<xsd:enumeration value="plural"/>
<xsd:enumeration value="positive"/>
<xsd:enumeration value="pres"/>
<xsd:enumeration value="pres123p"/>
<xsd:enumeration value="pres123pNeg"/>
<xsd:enumeration value="pres1p23p"/>
<xsd:enumeration value="pres1p23pNeg"/>
<xsd:enumeration value="pres1s"/>
<xsd:enumeration value="pres3s"/>
<xsd:enumeration value="pres3sNeg"/>
<xsd:enumeration value="presNeg"/>
<xsd:enumeration value="presPart"/>
<xsd:enumeration value="singular"/>
<xsd:enumeration value="superlative"/>
</xsd:restriction>
</xsd:simpleType>
<!-- type Type -->
<xsd:simpleType name="inflTypeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="basic"/>
<xsd:enumeration value="glreg"/>
<xsd:enumeration value="group(glreg)"/>
<xsd:enumeration value="group(irreg)"/>
<xsd:enumeration value="group(reg)"/>
<xsd:enumeration value="group(sing)"/>
<xsd:enumeration value="groupuncount"/>
<xsd:enumeration value="inv"/>
<xsd:enumeration value="irreg"/>
<xsd:enumeration value="metareg"/>
<xsd:enumeration value="plur"/>
<xsd:enumeration value="reg"/>
<xsd:enumeration value="regd"/>
<xsd:enumeration value="free"/>
<xsd:enumeration value="fstPlur"/>
<xsd:enumeration value="fstSing"/>
<xsd:enumeration value="group(metareg)"/>
<xsd:enumeration value="invPeriph"/>
<xsd:enumeration value="plurUncount"/>
<xsd:enumeration value="second"/>
<xsd:enumeration value="secPlur"/>
<xsd:enumeration value="secSing"/>
<xsd:enumeration value="sing"/>
<xsd:enumeration value="singUncount"/>
<xsd:enumeration value="third"/>
<xsd:enumeration value="thrPlur"/>
<xsd:enumeration value="thrSing"/>
<xsd:enumeration value="uncount"/>
</xsd:restriction>
</xsd:simpleType>
<!-- catEntry type: -->
<xsd:group name="catEntryType">
<xsd:choice>
<xsd:element name="adjEntry" type="adjEntryType"/>
<xsd:element name="advEntry" type="advEntryType"/>
<xsd:element name="auxEntry" type="auxEntryType"/>
<xsd:element name="detEntry" type="detEntryType"/>
<xsd:element name="modalEntry" type="modalEntryType"/>
<xsd:element name="nounEntry" type="nounEntryType"/>
<xsd:element name="pronEntry" type="pronEntryType"/>
<xsd:element name="verbEntry" type="verbEntryType"/>
</xsd:choice>
</xsd:group>
</xsd:schema>