← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 393: Added newly discovered elements to dxf schema.

 

------------------------------------------------------------
revno: 393
committer: Bob Jolliffe <bobj@bobj-laptop>
branch nick: trunk
timestamp: Tue 2009-06-23 13:21:47 +0100
message:
  Added newly discovered elements to dxf schema.  
  Note this is still not 100% complete but is getting close.
modified:
  docs/dxf_v1_schema/dxf.rnc
  docs/dxf_v1_schema/dxf.rng
  docs/dxf_v1_schema/dxf.xsd

=== modified file 'docs/dxf_v1_schema/dxf.rnc'
--- docs/dxf_v1_schema/dxf.rnc	2009-06-12 16:00:35 +0000
+++ docs/dxf_v1_schema/dxf.rnc	2009-06-23 12:21:47 +0000
@@ -1,6 +1,6 @@
 # TODO:
 
-# ns="http://www.dhis.org/schema/dxf"; >
+# ns="http://www.dhis2.org/schema/dxf"; >
 
 # Toplevel elements of dxf format
 start =
@@ -13,10 +13,24 @@
     categoryCategoryOptionAssociations,
     categoryComboCategoryAssociations,
     dataElements,
+    dataElementGroups,
+    dataElementGroupMembers,
+    indicatorTypes,
+    indicators,
+    indicatorGroups,
+    indicatorGroupMembers,
+    dataDictionaries,
+    dataDictionaryDataElements,
+    dataDictionaryIndicators,
     dataSets,
     dataSetMembers,
     organisationUnits,
     organisationUnitRelationships,
+    organisationUnitGroups,
+    organisationUnitGroupMembers,
+    groupSets,
+    groupSetMembers,
+    organisationUnitLevels,
     dataSetSourceAssociations,
     periods,
     completeDataSetRegistrations,
@@ -88,6 +102,86 @@
     element aggregationOperator { text },
     element categoryCombo { xsd:integer }
   }
+dataElementGroups = element dataElementGroups { dataElementGroup* }
+dataElementGroup =
+  element dataElementGroup {
+    element id { xsd:integer },
+    element uuid { text },
+    element name { text }
+  }
+dataElementGroupMembers =
+  element dataElementGroupMembers { dataElementGroupMember* }
+dataElementGroupMember =
+  element dataElementGroupMember {
+    element dataElementGroup { xsd:integer },
+    element dataElement { xsd:integer }
+  }
+indicatorTypes =
+  element indicatorTypes {
+    element indicatorType {
+      element id { xsd:integer },
+      element name { text },
+      element factor { xsd:integer }
+    }*
+  }
+indicators =
+  element indicators {
+    element indicator {
+      element id { xsd:integer },
+      element uuid { text },
+      element name { text },
+      element alternativeName { text },
+      element shortName { text },
+      element code { text },
+      element description { text },
+      element annualized { text },
+      element indicatorType { xsd:integer },
+      element numerator { text },
+      element numeratorDescription { text },
+      element numeratorAggregationOperator { text },
+      element denominator { text },
+      element denominatorDescription { text },
+      element denominatorAggregationOperator { text }
+    }*
+  }
+indicatorGroups =
+  element indicatorGroups {
+    element indicatorGroup {
+      element id { xsd:integer },
+      element uuid { text },
+      element name { text }
+    }*
+  }
+indicatorGroupMembers =
+  element indicatorGroupMembers { indicatorGroupMember* }
+indicatorGroupMember =
+  element indicatorGroupMember {
+    element indicatorGroup { xsd:integer },
+    element indicator { xsd:integer }
+  }
+dataDictionaries =
+  element dataDictionaries {
+    element dataDictionary {
+      element id { xsd:integer },
+      element name { text },
+      element description { text },
+      element region { text }
+    }*
+  }
+dataDictionaryDataElements =
+  element dataDictionaryDataElements {
+    element dataDictionaryDataElement {
+      element dataDictionary { xsd:integer },
+      element dataElement { xsd:integer }
+    }*
+  }
+dataDictionaryIndicators =
+  element dataDictionaryIndicators {
+    element dataDictionaryIndicator {
+      element dataDictionary { xsd:integer },
+      element indicator { xsd:integer }
+    }*
+  }
 dataSets = element dataSets { dataSet* }
 dataSet =
   element dataSet {
@@ -110,7 +204,8 @@
     element name { text },
     element shortName { text },
     element code { text },
-    element openingDate { xsd:date },
+    # <element name="openingDate"><data type="date"/></element>
+    element openingDate { text },
     # TODO: accept Date or nothing
     element closedDate { text },
     element active { text },
@@ -126,6 +221,46 @@
       element child { xsd:integer }
     }*
   }
+organisationUnitGroups =
+  element organisationUnitGroups {
+    element organisationUnitGroup {
+      element id { xsd:integer },
+      element uuid { text },
+      element name { text }
+    }*
+  }
+organisationUnitGroupMembers =
+  element organisationUnitGroupMembers {
+    element organisationUnitGroupMember {
+      element organisationUnitGroup { xsd:integer },
+      element organisationUnit { xsd:integer }
+    }*
+  }
+groupSets =
+  element groupSets {
+    element groupSet {
+      element id { xsd:integer },
+      element name { text },
+      element description { text },
+      element compulsory { "true" | "false" },
+      element exclusive { "true" | "false" }
+    }*
+  }
+groupSetMembers =
+  element groupSetMembers {
+    element groupSetMember {
+      element groupSet { xsd:integer },
+      element organisationUnitGroup { xsd:integer }
+    }*
+  }
+organisationUnitLevels =
+  element organisationUnitLevels {
+    element organisationUnitLevel {
+      element id { xsd:integer },
+      element level { xsd:integer },
+      element name { text }
+    }*
+  }
 dataSetSourceAssociations =
   element dataSetSourceAssociations {
     element dataSetSourceAssociation {

=== modified file 'docs/dxf_v1_schema/dxf.rng'
--- docs/dxf_v1_schema/dxf.rng	2009-06-12 16:00:35 +0000
+++ docs/dxf_v1_schema/dxf.rng	2009-06-23 12:21:47 +0000
@@ -2,7 +2,7 @@
 	 xmlns="http://relaxng.org/ns/structure/1.0"; >
 
   <!--   TODO: -->
-  <!-- 	 ns="http://www.dhis.org/schema/dxf"; > -->
+  <!-- 	 ns="http://www.dhis2.org/schema/dxf"; > -->
 
 
   <!-- Toplevel elements of dxf format -->
@@ -17,11 +17,29 @@
       <ref name="categoryComboCategoryAssociations" />
 
       <ref name="dataElements" />
+      <ref name="dataElementGroups" />
+      <ref name="dataElementGroupMembers" />
+
+      <ref name="indicatorTypes" />
+      <ref name="indicators" />
+      <ref name="indicatorGroups" />
+      <ref name="indicatorGroupMembers" />
+
+      <ref name="dataDictionaries" />
+      <ref name="dataDictionaryDataElements" />
+      <ref name="dataDictionaryIndicators" />
+
       <ref name="dataSets" />
       <ref name="dataSetMembers" />
 
       <ref name="organisationUnits" />
       <ref name="organisationUnitRelationships" />
+      <ref name="organisationUnitGroups" />
+      <ref name="organisationUnitGroupMembers" />
+      <ref name="groupSets" />
+      <ref name="groupSetMembers" />
+      <ref name="organisationUnitLevels" />
+
       <ref name="dataSetSourceAssociations" />
 
       <ref name="periods" />
@@ -172,7 +190,135 @@
     </element>
   </define>
 
-
+  <define name="dataElementGroups">
+    <element name="dataElementGroups" >
+      <zeroOrMore>
+	<ref name="dataElementGroup" />
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="dataElementGroup">
+    <element name="dataElementGroup">
+      <element name="id"><data type="integer" /></element>
+      <element name="uuid"><text /></element>
+      <element name="name"><text /></element>
+    </element>
+  </define>
+
+  <define name="dataElementGroupMembers">
+    <element name="dataElementGroupMembers" >
+      <zeroOrMore>
+	<ref name="dataElementGroupMember" />
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="dataElementGroupMember">
+    <element name="dataElementGroupMember">
+      <element name="dataElementGroup"><data type="integer" /></element>
+      <element name="dataElement"><data type="integer" /></element>
+    </element>
+  </define>
+
+  <define name="indicatorTypes">
+    <element name="indicatorTypes">
+      <zeroOrMore>
+	<element name="indicatorType" >
+	  <element name="id"><data type="integer" /></element>
+	  <element name="name"><text /></element>
+	  <element name="factor"><data type="integer" /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="indicators">
+    <element name="indicators">
+      <zeroOrMore>
+	<element name="indicator" >
+	  <element name="id"><data type="integer" /></element>
+	  <element name="uuid"><text /></element>
+	  <element name="name"><text /></element>
+	  <element name="alternativeName"><text /></element>
+	  <element name="shortName"><text /></element>
+	  <element name="code"><text /></element>
+	  <element name="description"><text /></element>
+	  <element name="annualized"><text /></element>
+	  <element name="indicatorType"><data type="integer" /></element>
+	  <element name="numerator"><text /></element>
+	  <element name="numeratorDescription"><text /></element>
+	  <element name="numeratorAggregationOperator"><text /></element>
+	  <element name="denominator"><text /></element>
+	  <element name="denominatorDescription"><text /></element>
+	  <element name="denominatorAggregationOperator"><text /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="indicatorGroups">
+    <element name="indicatorGroups">
+      <zeroOrMore>
+	<element name="indicatorGroup" >
+	  <element name="id"><data type="integer" /></element>
+	  <element name="uuid"><text /></element>
+	  <element name="name"><text /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="indicatorGroupMembers">
+    <element name="indicatorGroupMembers" >
+      <zeroOrMore>
+	<ref name="indicatorGroupMember" />
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="indicatorGroupMember">
+    <element name="indicatorGroupMember">
+      <element name="indicatorGroup"><data type="integer" /></element>
+      <element name="indicator"><data type="integer" /></element>
+    </element>
+  </define>
+
+  <define name="dataDictionaries">
+    <element name="dataDictionaries">
+      <zeroOrMore>
+	<element name="dataDictionary" >
+	  <element name="id"><data type="integer" /></element>
+	  <element name="name"><text /></element>
+	  <element name="description"><text /></element>
+	  <element name="region"><text /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="dataDictionaryDataElements">
+    <element name="dataDictionaryDataElements">
+      <zeroOrMore>
+	<element name="dataDictionaryDataElement">
+	  <element name="dataDictionary"><data type="integer" /></element>
+	  <element name="dataElement"><data type="integer" /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="dataDictionaryIndicators">
+    <element name="dataDictionaryIndicators">
+      <zeroOrMore>
+	<element name="dataDictionaryIndicator">
+	  <element name="dataDictionary"><data type="integer" /></element>
+	  <element name="indicator"><data type="integer" /></element>
+	</element>
+	</zeroOrMore>
+    </element>
+  </define>
+  
   <define name="dataSets">
     <element name="dataSets">
       <zeroOrMore>
@@ -213,7 +359,8 @@
       <element name="name"><text /></element>
       <element name="shortName"><text /></element>
       <element name="code"><text /></element>
-      <element name="openingDate"><data type="date"/></element>
+      <!-- <element name="openingDate"><data type="date"/></element> -->
+      <element name="openingDate"><text /></element>
       <!-- TODO: accept Date or nothing -->
       <element name="closedDate"><text /></element>
       <element name="active"><text /></element>
@@ -234,6 +381,76 @@
     </element>
   </define>
 
+  <define name="organisationUnitGroups">
+    <element name="organisationUnitGroups">
+      <zeroOrMore>
+	<element name="organisationUnitGroup">
+	  <element name="id"><data type="integer" /></element>
+	  <element name="uuid"><text /></element>
+	  <element name="name"><text /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="organisationUnitGroupMembers">
+    <element name="organisationUnitGroupMembers">
+      <zeroOrMore>
+	<element name="organisationUnitGroupMember">
+	  <element name="organisationUnitGroup"><data type="integer" /></element>
+	  <element name="organisationUnit"><data type="integer" /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="groupSets">
+    <element name="groupSets">
+      <zeroOrMore>
+	<element name="groupSet">
+	  <element name="id"><data type="integer" /></element>
+	  <element name="name"><text /></element>
+	  <element name="description"><text /></element>
+	  <element name="compulsory">
+	    <choice>
+	      <value>true</value>
+	      <value>false</value>
+	    </choice>
+	  </element>
+	  <element name="exclusive">
+	    <choice>
+	      <value>true</value>
+	      <value>false</value>
+	    </choice>
+	  </element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="groupSetMembers">
+    <element name="groupSetMembers">
+      <zeroOrMore>
+	<element name="groupSetMember">
+	  <element name="groupSet"><data type="integer" /></element>
+	  <element name="organisationUnitGroup"><data type="integer" /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="organisationUnitLevels">
+    <element name="organisationUnitLevels">
+      <zeroOrMore>
+	<element name="organisationUnitLevel">
+	  <element name="id"><data type="integer" /></element>
+	  <element name="level"><data type="integer" /></element>
+	  <element name="name"><text /></element>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
   <define name="dataSetSourceAssociations">
     <element name="dataSetSourceAssociations">
       <zeroOrMore>

=== modified file 'docs/dxf_v1_schema/dxf.xsd'
--- docs/dxf_v1_schema/dxf.xsd	2009-06-12 16:00:35 +0000
+++ docs/dxf_v1_schema/dxf.xsd	2009-06-23 12:21:47 +0000
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified">
   <!-- TODO: -->
-  <!-- ns="http://www.dhis.org/schema/dxf"; > -->
+  <!-- ns="http://www.dhis2.org/schema/dxf"; > -->
   <!-- Toplevel elements of dxf format -->
   <xs:element name="dxf">
     <xs:complexType>
@@ -13,10 +13,24 @@
         <xs:element ref="categoryCategoryOptionAssociations"/>
         <xs:element ref="categoryComboCategoryAssociations"/>
         <xs:element ref="dataElements"/>
+        <xs:element ref="dataElementGroups"/>
+        <xs:element ref="dataElementGroupMembers"/>
+        <xs:element ref="indicatorTypes"/>
+        <xs:element ref="indicators"/>
+        <xs:element ref="indicatorGroups"/>
+        <xs:element ref="indicatorGroupMembers"/>
+        <xs:element ref="dataDictionaries"/>
+        <xs:element ref="dataDictionaryDataElements"/>
+        <xs:element ref="dataDictionaryIndicators"/>
         <xs:element ref="dataSets"/>
         <xs:element ref="dataSetMembers"/>
         <xs:element ref="organisationUnits"/>
         <xs:element ref="organisationUnitRelationships"/>
+        <xs:element ref="organisationUnitGroups"/>
+        <xs:element ref="organisationUnitGroupMembers"/>
+        <xs:element ref="groupSets"/>
+        <xs:element ref="groupSetMembers"/>
+        <xs:element ref="organisationUnitLevels"/>
         <xs:element ref="dataSetSourceAssociations"/>
         <xs:element ref="periods"/>
         <xs:element ref="completeDataSetRegistrations"/>
@@ -149,6 +163,164 @@
   <xs:element name="active" type="xs:string"/>
   <xs:element name="type" type="xs:string"/>
   <xs:element name="aggregationOperator" type="xs:string"/>
+  <xs:element name="dataElementGroups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="dataElementGroup"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataElementGroup">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="id"/>
+        <xs:element ref="uuid"/>
+        <xs:element ref="name"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataElementGroupMembers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="dataElementGroupMember"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataElementGroupMember">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="dataElementGroup" type="xs:integer"/>
+        <xs:element name="dataElement" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indicatorTypes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="indicatorType">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="name"/>
+              <xs:element ref="factor"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="factor" type="xs:integer"/>
+  <xs:element name="indicators">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="indicator">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="uuid"/>
+              <xs:element ref="name"/>
+              <xs:element ref="alternativeName"/>
+              <xs:element ref="shortName"/>
+              <xs:element ref="code"/>
+              <xs:element ref="description"/>
+              <xs:element ref="annualized"/>
+              <xs:element name="indicatorType" type="xs:integer"/>
+              <xs:element ref="numerator"/>
+              <xs:element ref="numeratorDescription"/>
+              <xs:element ref="numeratorAggregationOperator"/>
+              <xs:element ref="denominator"/>
+              <xs:element ref="denominatorDescription"/>
+              <xs:element ref="denominatorAggregationOperator"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="annualized" type="xs:string"/>
+  <xs:element name="numerator" type="xs:string"/>
+  <xs:element name="numeratorDescription" type="xs:string"/>
+  <xs:element name="numeratorAggregationOperator" type="xs:string"/>
+  <xs:element name="denominator" type="xs:string"/>
+  <xs:element name="denominatorDescription" type="xs:string"/>
+  <xs:element name="denominatorAggregationOperator" type="xs:string"/>
+  <xs:element name="indicatorGroups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="indicatorGroup">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="uuid"/>
+              <xs:element ref="name"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indicatorGroupMembers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="indicatorGroupMember"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indicatorGroupMember">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="indicatorGroup" type="xs:integer"/>
+        <xs:element name="indicator" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataDictionaries">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="dataDictionary">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="name"/>
+              <xs:element ref="description"/>
+              <xs:element ref="region"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="region" type="xs:string"/>
+  <xs:element name="dataDictionaryDataElements">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="dataDictionaryDataElement"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataDictionaryDataElement">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="dataDictionary" type="xs:integer"/>
+        <xs:element name="dataElement" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataDictionaryIndicators">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="dataDictionaryIndicator"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dataDictionaryIndicator">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="dataDictionary" type="xs:integer"/>
+        <xs:element name="indicator" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
   <xs:element name="dataSets">
     <xs:complexType>
       <xs:sequence>
@@ -196,7 +368,7 @@
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="openingDate" type="xs:date"/>
+  <xs:element name="openingDate" type="xs:string"/>
   <xs:element name="closedDate" type="xs:string"/>
   <xs:element name="comment" type="xs:string"/>
   <xs:element name="geoCode" type="xs:string"/>
@@ -217,6 +389,101 @@
   </xs:element>
   <xs:element name="parent" type="xs:integer"/>
   <xs:element name="child" type="xs:integer"/>
+  <xs:element name="organisationUnitGroups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="organisationUnitGroup">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="uuid"/>
+              <xs:element ref="name"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="organisationUnitGroupMembers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="organisationUnitGroupMember"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="organisationUnitGroupMember">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="organisationUnitGroup" type="xs:integer"/>
+        <xs:element name="organisationUnit" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="groupSets">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" name="groupSet">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="id"/>
+              <xs:element ref="name"/>
+              <xs:element ref="description"/>
+              <xs:element ref="compulsory"/>
+              <xs:element ref="exclusive"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="compulsory">
+    <xs:simpleType>
+      <xs:restriction base="xs:token">
+        <xs:enumeration value="true"/>
+        <xs:enumeration value="false"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:element>
+  <xs:element name="exclusive">
+    <xs:simpleType>
+      <xs:restriction base="xs:token">
+        <xs:enumeration value="true"/>
+        <xs:enumeration value="false"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:element>
+  <xs:element name="groupSetMembers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="groupSetMember"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="groupSetMember">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="groupSet" type="xs:integer"/>
+        <xs:element name="organisationUnitGroup" type="xs:integer"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="organisationUnitLevels">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="organisationUnitLevel"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="organisationUnitLevel">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="id"/>
+        <xs:element ref="level"/>
+        <xs:element ref="name"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="level" type="xs:integer"/>
   <xs:element name="dataSetSourceAssociations">
     <xs:complexType>
       <xs:sequence>



--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription.