<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
	xmlns:d='http://www-clips.imag.fr/geta/services/dml'
	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

  <!-- 
 XML Schema for FeM dictionary.
 
 Namespace = http://www-clips.imag.fr/geta/services/dml/thaidict.xsd

 This schema is identified by the location:
 http://www-clips.imag.fr/geta/services/dml/fem.xsd             
  -->
<xs:annotation>
  <xs:documentation xml:lang="en">
 XML Schema for FeM dictionary.
 
 Namespace = http://www-clips.imag.fr/geta/services/dml/fem.xsd

 This schema is identified by the location:
 http://www-clips.imag.fr/geta/services/dml/fem.xsd             
  </xs:documentation> 
</xs:annotation>

 <xs:import 
  namespace='http://www-clips.imag.fr/geta/services/dml' 
  schemaLocation='http://www-clips.imag.fr/geta/services/dml/dml.xsd' />

  <!-- volume contains a list of entry elements -->
  <xs:element name="YAiTRON">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="entry" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="source-language" type="d:lang" use="optional"/>
      <xs:attribute name="target-languages" type="d:lang" use="optional"/>
    </xs:complexType>
  </xs:element>
  
  <!-- Entry element -->
  <xs:element name="entry">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="classifier" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="pos" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="translation" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="translation-similar" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="definition" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="headword" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="synonym" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="antonym" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="lexitron" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <!-- classifier element -->
  <xs:element name="classifier" type="xs:string" />

  <!-- pos element -->
  <xs:element name="pos" type="posType" />

  <!-- translation element -->
  <xs:element name="translation" type="xs:string" />

  <!-- translation-similar element -->
  <xs:element name="translation-similar" type="xs:string" />

  <!-- definition element -->
  <xs:element name="definition" type="xs:string" />

  <!-- headword element -->
  <xs:element name="headword" type="xs:string" />

  <!-- synonym element -->
  <xs:element name="synonym" type="xs:string" />

  <!-- antonym element -->
  <xs:element name="antonym" type="xs:string" />

  <!-- lexitron element -->
  <xs:element name="lexitron">
    <xs:complexType>
      <xs:attribute name="id" type="xs:unsignedLong" use="required"/>
    </xs:complexType>
  </xs:element>
      
<!-- posType type -->
<!-- Here are defined the parts-of-speech of the Thai language -->
 <simpleType name='posType'>
  <restriction base='xs:string'>
  <enumeration value="ABBR" />
  <enumeration value="ADJ" />
  <enumeration value="ADV" />
  <enumeration value="ART" />
  <enumeration value="AUX" />
  <enumeration value="AVD" />
  <enumeration value="CLAS" />
  <enumeration value="CONJ" />
  <enumeration value="DET" />
  <enumeration value="DM" />
  <enumeration value="END" />
  <enumeration value="FIXP" />
  <enumeration value="IDM" />
  <enumeration value="INT" />
  <enumeration value="INTER" />
  <enumeration value="N" />
  <enumeration value="NEG" />
  <enumeration value="PERP" />
  <enumeration value="PHRV0" />
  <enumeration value="PHRV" />
  <enumeration value="PREF" />
  <enumeration value="PREP" />
  <enumeration value="PRF" />
  <enumeration value="PRO" />
  <enumeration value="PRON" />
  <enumeration value="QUES" />
  <enumeration value="SL" />
  <enumeration value="SUF" />
  <enumeration value="UNK" />
  <enumeration value="V" />
  <enumeration value="VI, VT" />
  <enumeration value="VI" />
  <enumeration value="VT" />
 </restriction>
</simpleType>

</xs:schema>

