<?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: alc.xsd,v $
 * Revision           $Revision: 1.1 $
 * Release status     $State: Exp $
 * Last modified on   $Date: 2006/05/19 14:13:25 $
 *               by   $Author: seanb $

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

<!-- This schema provides the top level DIG 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="alc-lang.xsd"/>

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

  <!-- Asks definition -->
  <xs:include schemaLocation="alc-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:choice>
		<xs:group ref="tell"/>
	      </xs:choice>
            </xs:sequence>
	  </xs:complexType>
	</xs:element>
	<xs:element name="asks" >
	  <xs:complexType>
            <xs:sequence minOccurs="1"  maxOccurs="unbounded">
	      <xs:choice>
		<xs:group ref="ask"/>
	      </xs:choice>
            </xs:sequence>
	</xs:complexType>
	</xs:element>
      </xs:choice>
  </xs:group>

</xs:schema>

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

