<?xml version="1.0" encoding="UTF-8"?>

<!-- ***********************************************************

 * DIG Interface Schema Definition 
 * Original Author: Sean Bechhofer, IMG, University of Manchester 

 * Source code/CVS information
 * =======================
 * Filename           $RCSfile: sroiq.xsd,v $
 * Revision           $Revision: 1.1 $
 * Release status     $State: Exp $
 * Last modified on   $Date: 2006/05/19 14:13:26 $
 *               by   $Author: seanb $

***********************************************************  -->

<!-- This schema provides the top level DIG sroiq schema. There is very
little in here. The content of the included subschemas provides the
meat that populates the basic top level elements. -->

<xs:schema 
   targetNamespace="http://dl.kr.org/dig/lang/schema"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns="http://dl.kr.org/dig/lang/schema"
   elementFormDefault="qualified" attributeFormDefault="unqualified">

  <!-- Language definition -->
  <xs:include schemaLocation="sroiq-lang.xsd"/>

  <!-- Tells definition -->
  <xs:include schemaLocation="sroiq-tells.xsd"/>

  <!-- Asks definition -->
  <xs:include schemaLocation="sroiq-asks.xsd"/>

  <!-- Types for tells -->
  <xs:include schemaLocation="tell-types.xsd"/>

  <!-- Types for asks -->
  <xs:include schemaLocation="ask-types.xsd"/>

  <!-- Service directives -->
  <xs:include schemaLocation="management.xsd"/>

  <xs:element name="dig" >
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:group ref="topLevelElement"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:group name="topLevelElement">
    <xs:annotation>
      <xs:documentation>Top Level Elements</xs:documentation>
    </xs:annotation>
      <xs:choice>
	<xs:element name="management" >
	  <xs:complexType>
            <xs:sequence>
              <xs:group ref="management" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
	  </xs:complexType>
	</xs:element>
	<xs:element name="tells" >
	  <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
              <xs:group ref="tell"/>
            </xs:sequence>
	  </xs:complexType>
	</xs:element>
	<xs:element name="asks" >
	  <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
              <xs:group ref="ask"/>
            </xs:sequence>
	</xs:complexType>
	</xs:element>
      </xs:choice>
  </xs:group>

</xs:schema>

<!--
 * ChangeLog
 * $Log: sroiq.xsd,v $
 * Revision 1.1  2006/05/19 14:13:26  seanb
 * Initial checkin
 *
 *
 *
-->

