<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements. See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership. The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied. See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://thrift.apache.org/xml/idl" 
        xmlns:tns="http://thrift.apache.org/xml/idl" 
        elementFormDefault="qualified">

  <element name="idl" type="tns:IDL" />
  <element name="document" type="tns:Document" />

  <complexType name="IDL">
    <sequence>
      <element ref="tns:document" minOccurs="1" maxOccurs="unbounded"/>
    </sequence>
  </complexType>

  <complexType name="Document">
    <sequence>
      <choice minOccurs="0" maxOccurs="unbounded">
        <element name="include" type="tns:Include" />
        <element name="namespace" type="tns:Namespace" />
      </choice>
      <choice minOccurs="0" maxOccurs="unbounded">
        <element name="exception" type="tns:Exception" />
        <element name="typedef" type="tns:Typedef" />
        <element name="service" type="tns:Service" />
        <element name="struct" type="tns:Struct" />
        <element name="const" type="tns:Const" />
        <element name="union" type="tns:Union" />
        <element name="enum" type="tns:Enum" />
      </choice>
    </sequence>
    <attribute name="name" type="string" use="required" />
    <attribute name="targetNamespace" type="anyURI" use="optional" />
    <attribute name="doc" type="string" use="optional" />
  </complexType>

  <complexType name="Include">
    <attribute name="file" type="string" use="optional" />
    <attribute name="name" type="string" use="required" />
  </complexType>

  <complexType name="Namespace">
    <sequence>
      <element name="annotation" type="tns:Annotation" 
               minOccurs="0" maxOccurs="unbounded" />
    </sequence>
    <attribute name="name" type="string" use="required" />
    <attribute name="value" type="string" use="required" />
    <attribute name="doc" type="string" use="optional" />
  </complexType>

  <group name="AbstractStruct">
    <sequence>
      <element name="field" type="tns:Field" 
               minOccurs="0" maxOccurs="unbounded" />
      <element name="annotation" type="tns:Annotation" 
               minOccurs="0" maxOccurs="unbounded" />
    </sequence>
  </group>

  <attributeGroup name="StructAttributes">
    <attribute name="name" type="string" use="required" />
    <attribute name="doc" type="string" use="optional" />
  </attributeGroup>

  <complexType name="Exception">
    <group ref="tns:AbstractStruct" />
    <attributeGroup ref="tns:StructAttributes" />
  </complexType>

  <complexType name="Service">
    <sequence>
      <element name="method" type="tns:Method" 
               minOccurs="0" maxOccurs="unbounded" />
      <element name="annotation" type="tns:Annotation" 
               minOccurs="0" maxOccurs="unbounded" />
    </sequence>
    <attribute name="name" type="string" use="required" />
    <attribute name="targetNamespace" type="string" use="required" />
    <attribute name="parent-module" type="string" use="optional" />
    <attribute name="parent-id" type="string" use="optional" /> 
    <attribute name="doc" type="string" use="optional" />
  </complexType>

  <complexType name="Method">
    <sequence>
      <element name="returns" type="tns:ThriftType" />
      <element name="arg" type="tns:Field" 
               minOccurs="0" maxOccurs="unbounded" />
      <element name="throws" type="tns:Field" 
               minOccurs="0" maxOccurs="unbounded" />
      <element name="annotation" type="tns:Annotation" 
               minOccurs="0" maxOccurs="unbounded" />
    </sequence>
    <attribute name="name" type="string" use="required" />
    <attribute name="oneway" type="boolean" use="optional" />
    <attribute name="doc" type="string" use="optional" />
  </complexType>

  <complexType name="Typedef">
    <complexContent>
      <extension base="tns:ThriftType">
        <sequence>
          <element name="annotation" type="tns:Annotation" 
                   minOccurs="0" maxOccurs="unbounded" />
        </sequence>
        <attribute name="name" type="string" use="required" />
        <attribute name="doc" type="string" use="optional" />
      </extension>
    </complexContent>
  </complexType>

  <complexType name="Struct">
    <group ref="tns:AbstractStruct" />
    <attributeGroup ref="tns:StructAttributes" />
  </complexType>

  <complexType name="Union">
    <group ref="tns:AbstractStruct" />
    <attributeGroup ref="tns:StructAttributes" />
  </complexType>

  <complexType name="Enum">
    <sequence>
      <element name="member" minOccurs="1" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="annotation" type="tns:Annotation" 
                     minOccurs="0" maxOccurs="unbounded" />
          </sequence>
          <attribute name="name" type="string" use="required" />
          <attribute name="value" type="int" />
          <attribute name="explicit" type="boolean" />
          <attribute name="doc" type="string" />
        </complexType>
      </element>
      <element name="annotation" type="tns:Annotation" 
                minOccurs="0" maxOccurs="unbounded" />
    </sequence>
    <attribute name="name" type="string" use="required" />
    <attribute name="doc" type="string" />
  </complexType>

  <complexType name="Field">
    <complexContent>
      <extension base="tns:ThriftType">
        <sequence>
          <element name="default" minOccurs="0" maxOccurs="1">
            <complexType>
              <group ref="tns:ConstValue" />
            </complexType>
          </element>
          <element name="annotation" type="tns:Annotation" 
                   minOccurs="0" maxOccurs="unbounded" />
        </sequence>
        <attribute name="field-id" type="long" />
        <attribute name="name" type="string" use="required" />
        <attribute name="required" type="tns:Requiredness" />
        <attribute name="doc" type="string" />
      </extension>
    </complexContent>
  </complexType>

  <simpleType name="Requiredness">
    <restriction base="string">
      <enumeration value="required" />
      <enumeration value="optional" />
    </restriction>
  </simpleType>

  <complexType name="Annotation">
    <attribute name="key" type="string" />
    <attribute name="value" type="string" />
  </complexType>

  <complexType name="Const">
    <complexContent>
      <extension base="tns:ThriftType">
        <sequence>
          <group ref="tns:ConstValue" />
        </sequence>
        <attribute name="name" type="string" use="required" />
        <attribute name="doc" type="string" />
      </extension>
    </complexContent>
  </complexType>

  <complexType name="ConstList">
    <sequence>
      <element name="entry" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <group ref="tns:ConstValue" />
        </complexType>
      </element>
    </sequence>
  </complexType>

  <complexType name="ConstMap">
    <sequence>
      <element name="entry" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="key">
              <complexType>
                <group ref="tns:ConstValue" />
              </complexType>
            </element>
            <element name="value">
              <complexType>
                <group ref="tns:ConstValue" />
              </complexType>
            </element>
          </sequence>
        </complexType>
      </element>
    </sequence>
  </complexType>

  <group name="ConstValue">
    <choice>
      <element name="string" type="string" />
      <element name="double" type="double" />
      <element name="list" type="tns:ConstList" />
      <element name="map" type="tns:ConstMap" />
      <element name="int" type="long" />
    </choice>
  </group>

  <complexType name="ThriftType">
    <sequence>
      <choice minOccurs="0" maxOccurs="1">
        <element name="elemType" type="tns:ThriftType" />
        <sequence>
          <element name="keyType" type="tns:ThriftType" 
                   minOccurs="1" maxOccurs="1" />
          <element name="valueType" type="tns:ThriftType" 
                   minOccurs="1" maxOccurs="1" />
        </sequence>
      </choice>
    </sequence>
    <attribute name="type" type="tns:TypeIdentifier" use="required" />
    <attribute name="type-module" type="string" />
    <attribute name="type-id" type="string" />
  </complexType>

  <simpleType name="TypeIdentifier">
    <restriction base="string">
      <enumeration value="void" />
      <enumeration value="bool" />
      <enumeration value="byte" />
      <enumeration value="i8" />
      <enumeration value="i16" />
      <enumeration value="i32" />
      <enumeration value="i64" />
      <enumeration value="double" />
      <enumeration value="binary" />
      <enumeration value="string" />
      <enumeration value="id" />
      <enumeration value="map" />
      <enumeration value="set" />
      <enumeration value="list" />
    </restriction>
  </simpleType>

</schema>
