<?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 Support Verb Construction brazilian protuguese dictionary.
 
 Namespace = http://www-clips.imag.fr/geta/services/dml/svc.xsd

 This schema is identified by the location:
 http://www-clips.imag.fr/geta/services/dml/svc.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="candidates">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="cand" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  
  <!-- Entry element -->
  <xs:element name="cand">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="hngram" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="occurs" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feats" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="candid" type="xs:string" use="required"/>
      <xs:attribute name="level" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  
   <!-- hngram element -->
  <xs:element name="hngram">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="hw" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- hw element -->
  <xs:element name="hw">
    <xs:complexType>
      <xs:attribute name="lemma" type="xs:string" use="required"/>
      <xs:attribute name="pos" type="posType" use="required"/>
    </xs:complexType>
  </xs:element>

 <!-- ngram element -->
  <xs:element name="ngram">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="w" minOccurs="1" maxOccurs="unbounded"/>
        <xs:element ref="freq" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- w element -->
  <xs:element name="w">
    <xs:complexType>
      <xs:attribute name="surface" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  
  <!-- occurs element -->
  <xs:element name="occurs">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ngram" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
 
  
  <!-- freq element -->
  <xs:element name="freq">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  
  <!-- feats element -->
  <xs:element name="feats">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="feat-paraphrase" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-etymology" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-synonym_verbs" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-breakable" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-inflection" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-idiomatic" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat-comments" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="feat" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <!-- feat element -->
  <xs:element name="feat">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
 
<xs:element name="feat-paraphrase" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
</xs:element>
 
<xs:element name="feat-etymology" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type="etymologyType"/>
    </xs:complexType>
</xs:element>

<simpleType name='etymologyType'>
     					<restriction base='xs:string'>
        					<enumeration value="VfromN"/>
        					<enumeration value="NfromV"/>
        					<enumeration value="NA"/>
 						</restriction>
 
</simpleType>

<xs:element name="feat-synonym_verbs" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type="xs:boolean"/>
    </xs:complexType>
</xs:element>

<xs:element name="feat-breakable" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type="xs:boolean"/>
    </xs:complexType>
</xs:element>

<xs:element name="feat-inflection" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type="inflectionType"/>
    </xs:complexType>
</xs:element>

<simpleType name='inflectionType'>
      <restriction base='xs:string'>
        	<enumeration value="pluralonly"/>
        	<enumeration value="singonly"/>
        	<enumeration value="both"/>
 	</restriction>
</simpleType>

<xs:element name="feat-idiomatic" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type="idiomaticType" />
    </xs:complexType>
</xs:element>

<simpleType name='idiomaticType'>
    <restriction base='xs:string'>
        <enumeration value="Yes"/>
        <enumeration value="Maybe"/>
        <enumeration value="No"/>
 	</restriction>
</simpleType>

<xs:element name="feat-comments" minOccurs="1" maxOccurs="1">
    <xs:complexType>
      	<xs:attribute name="value" use="required" type='xs:string' />
    </xs:complexType>
</xs:element>

<!-- posType type -->
<!-- Here are defined the parts-of-speech of the SVC dictionary -->
 <simpleType name='posType'>
  <restriction base='xs:string'>
<!-- DET  -->
        <enumeration value="DET"/>
<!-- Noun  -->
        <enumeration value="N"/>
<!-- PRP -->
        <enumeration value="PRP"/>
<!-- Verb  -->
        <enumeration value="V"/>
 </restriction>
</simpleType>

</xs:schema>

