<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Robert Woodcock (CSIRO) -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:adx="http://xml.arrc.csiro.au/adx" targetNamespace="http://xml.arrc.csiro.au/adx" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
	<!-- ==================================================== -->
	<annotation>
		<documentation> Some base components for ADX 2 
		
2005-11-13

Copyright (c) 2006 CSIRO - see https://www.seegrid.csiro.au/twiki/bin/view/Xmml/LegalNotices#Software_Notice
</documentation>
	</annotation>
	<!-- ==================================================== -->
	<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
	<import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../../../../gml/trunk/gml/3.1.1/gco/gco.xsd"/>
	<import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../../../../gml/trunk/gml/3.1.1/gmd/citation.xsd"/>
	<!-- =========================================================== -->
	<!-- Use gml:AbstractGMLType or gml:AbstractFeatureType instead
	<complexType name="ADXobjectType" abstract="true">
		<annotation>
			<documentation>Base type from which all ADX object types should be derived.</documentation>
		</annotation>
		<sequence>
			<element name="description" type="adx:StringOrRefType" minOccurs="0"/>
			<element name="name" type="token" minOccurs="0"/>
		</sequence>
		<attribute name="id" type="ID" use="required"/>
	</complexType>
	-->
	<!-- =========================================================== -->
	<!-- Use gml:DefinitionType instead
	<complexType name="ADXnamedObjectType" abstract="true">
		<annotation>
			<documentation>Alternative base type from which ADX object types may be derived. 
      "name" property is mandatory.</documentation>
		</annotation>
		<complexContent>
			<restriction base="adx:ADXobjectType">
				<sequence>
					<element name="description" type="adx:StringOrRefType" minOccurs="0"/>
					<element name="name" type="token"/>
				</sequence>
				<attribute name="id" type="ID" use="required"/>
			</restriction>
		</complexContent>
	</complexType>
	-->
	<!-- =========================================================== -->
	<!--  useful global elements - partly modelled after GML and XMML properties  -->
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Declare locally instead
	<element name="comment" type="string"/>
	-->
	<!-- ====================================================================== -->
	<!-- Use gml:TimePeriod instead
	<element name="TimePeriod">
		<complexType>
			<sequence>
				<element name="beginPosition" type="dateTime"/>
				<element name="endPosition" type="dateTime"/>
			</sequence>
		</complexType>
	</element>
	-->
	<!-- ====================================================================== -->
	<!-- Use gml:TimeInstant instead
	<element name="TimeInstant">
		<complexType>
			<sequence>
				<element name="timePosition" type="dateTime"/>
			</sequence>
		</complexType>
	</element>
	-->
	<!-- ==================================================== -->
	<!--
	<element name="time" type="adx:TimePrimitivePropertyType"/>
	-->
	<!-- ====================================================================== -->
	<!-- Use gml:TimePrimitiveProperty instead
	<complexType name="TimePrimitivePropertyType">
		<choice>
			<element ref="adx:TimeInstant"/>
			<element ref="adx:TimePeriod"/>
		</choice>
	</complexType>
	-->
	<!-- ==================================================== -->
	<!-- === useful complex objects === -->
	<!-- ==================================================== -->
	<!-- === Responsible parties === -->
	<!-- ==================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<group name="Party">
		<choice>
			<element ref="adx:Party"/>
			<element ref="adx:Company"/>
			<element ref="adx:Person"/>
		</choice>
	</group>
	-->
	<!-- ====================================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<element name="Party" type="adx:PartyType">
		<annotation>
			<documentation>Generic party using the comprehensive cil:Record type</documentation>
		</annotation>
	</element>
	-->
	<!-- ====================================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<complexType name="PartyType">
		<complexContent>
			<extension base="cil:Record">
				<attribute name="id" type="ID" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	-->
	<!-- ====================================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<element name="Company" type="adx:CompanyType">
		<annotation>
			<documentation>Corporate entity</documentation>
		</annotation>
	</element>
	-->
	<!-- ====================================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<complexType name="CompanyType">
		<sequence>
			<element name="companyName" type="nl:OrganisationNameDetails"/>
			<element name="location" type="al:AddressDetails"/>
		</sequence>
		<attribute name="id" type="ID" use="required"/>
	</complexType>
	-->
	<!-- ==================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<element name="Person" type="adx:PersonType"/>
	-->
	<!-- ====================================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<complexType name="PersonType">
		<sequence>
			<element name="personName" type="nl:PersonName"/>
			<element name="location" type="al:AddressDetails"/>
		</sequence>
		<attribute name="id" type="ID" use="required"/>
	</complexType>
	-->
	<!-- ==================================================== -->
	<!--
	<element name="responsibleParty" type="adx:PartyPropertyType"/>
	<element name="operator" type="adx:PartyPropertyType" substitutionGroup="adx:responsibleParty"/>
	-->
	<!-- ==================================================== -->
	<!-- Use gmd:CI_ResponsibleParty instead
	<complexType name="PartyPropertyType">
		<sequence minOccurs="0">
			<group ref="adx:Party"/>
		</sequence>
		<attribute name="href" type="anyURI" use="optional"/>
	</complexType>
	-->
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<element name="Event" type="adx:EventType">
		<annotation>
			<documentation>Description of an event, particularly that causes transformation of a feature.  
      The event may be transport or administrative.  
      Specialised event types may be derived from this type. </documentation>
		</annotation>
	</element>
	<!-- ====== -->
	<complexType name="EventType">
		<annotation>
			<documentation>Description of an event, particularly that causes transformation of a feature.  
      The event may be transport or administrative.  
      Specialised event types may be derived from this type. 
      
      Use the "description" element to indicate the nature of the event or action, or to carry a pointer to a description of it. </documentation>
		</annotation>
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence>
					<element name="input" type="gml:StringOrRefType" minOccurs="0" maxOccurs="unbounded">
						<annotation>
							<documentation>Reference to input (if not implied by context or listed in the description of the procedure)</documentation>
						</annotation>
					</element>
					<element name="output" type="gml:StringOrRefType" minOccurs="0" maxOccurs="unbounded">
						<annotation>
							<documentation>Reference to result (if not implied by context)</documentation>
						</annotation>
					</element>
					<element name="time" type="gml:TimePrimitivePropertyType"/>
					<element name="responsibleParty" type="gmd:CI_ResponsibleParty_PropertyType">
						<annotation>
							<documentation>Person or organisation responsible for the action</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
			<!--
			<extension base="adx:ADXobjectType">
			-->
		</complexContent>
	</complexType>
	<!-- ==================================================== -->
	<!-- === useful simpleContent types === -->
	<!-- ==================================================== -->
	<!-- Use gml:StringOrRefType instead
	<complexType name="StringOrRefType">
		<simpleContent>
			<extension base="string">
				<attribute name="href" type="anyURI"/>
			</extension>
		</simpleContent>
	</complexType>
	-->
	<!-- ==================================================== -->
	<complexType name="MoneyType">
		<simpleContent>
			<extension base="decimal">
				<attribute name="currency" type="Name" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- ==================================================== -->
	<!-- Use xs:token instead
	<simpleType name="code">
		<annotation>
			<documentation>For values from pick-lists - a shorthand version of referenceTo?</documentation>
		</annotation>
		<restriction base="token"/>
	</simpleType>
	-->
	<!-- ==================================================== -->
	<!-- === Types for reference and identifiers === -->
	<!-- =========================================================== -->
	<!-- Use gml:ReferenceType instead 
	<complexType name="referenceTo">
		<annotation>
			<documentation>Pointer to another object</documentation>
		</annotation>
		<sequence/>
		<attribute name="href" type="anyURI" use="optional">
			<annotation>
				<documentation>Identifier for the remote object</documentation>
			</annotation>
		</attribute>
	</complexType>
	-->
	<!-- =========================================================== -->
	<!-- Use gml:ReferenceType instead 
	<complexType name="relationship">
		<annotation>
			<documentation>Rich pointer to another object</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:referenceTo">
				<attribute name="role" type="anyURI" use="optional"/>
				<attribute name="arcrole" type="anyURI" use="optional">
					<annotation>
						<documentation>The nature of the relationship of between the present and remote objects</documentation>
					</annotation>
				</attribute>
				<attribute name="title" type="string" use="optional">
					<annotation>
						<documentation>A label for the link</documentation>
					</annotation>
				</attribute>
			</extension>
		</complexContent>
	</complexType>
	-->
	<!-- =========================================================== -->
	<simpleType name="identifier">
		<annotation>
			<documentation>To assert an identifier assigned to this thing</documentation>
		</annotation>
		<restriction base="token"/>
	</simpleType>
	<!-- =========================================================== -->
	<simpleType name="reference">
		<annotation>
			<documentation>To identify another thing</documentation>
		</annotation>
		<restriction base="token"/>
	</simpleType>
	<!-- =========================================================== -->
	<simpleType name="flag">
		<restriction base="boolean"/>
	</simpleType>
	<!-- =========================================================== -->
	<!-- ===  Types for encoding values: measures and categories, etc   === -->
	<!-- =========================================================== -->
	<!-- Use gml:MeasureType instead
	<complexType name="MeasureType">
		<annotation>
			<documentation>Number with a scale.  </documentation>
		</annotation>
		<simpleContent>
			<extension base="double">
				<attribute name="uom" type="anyURI" use="required">
					<annotation>
						<documentation>This attribute holds a reference to the scale used to express the value, which may be either a ratio or interval scale. </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	-->
	<!-- =========================================================== -->
	<complexType name="TypedMeasureType">
		<annotation>
			<documentation>Number with a scale and property.  </documentation>
		</annotation>
		<simpleContent>
			<extension base="gml:MeasureType">
				<attribute name="property" type="anyURI">
					<annotation>
						<documentation>This attribute holds a reference to or label for the property being described.  
            This will usually refer to a measure described on a ratio or interval scale, 
            such as temperature, wavelength, concentration.  </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<!-- =========================================================== -->
	<!-- Use gml:doubleList instead
	<simpleType name="doubleList">
		<list itemType="double"/>
	</simpleType>
	-->
	<!-- =========================================================== -->
	<!-- Use gml:MeasureListType instead 
	<complexType name="MeasureListType">
		<annotation>
			<documentation>List of numbers with a scale. </documentation>
		</annotation>
		<simpleContent>
			<extension base="adx:doubleList">
				<attribute name="uom" type="anyURI" use="required">
					<annotation>
						<documentation>This attribute holds a reference to the scale used to express the value, which may be either a ratio or interval scale. </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	-->
	<!-- =========================================================== -->
	<complexType name="TypedMeasureListType">
		<annotation>
			<documentation>List of numbers with a scale and property. </documentation>
		</annotation>
		<simpleContent>
			<extension base="gml:MeasureListType">
				<attribute name="property" type="anyURI">
					<annotation>
						<documentation>This attribute holds a reference to or label for the property being described.  
            This will usually refer to a measure described on a ratio or interval scale, 
            such as temperature, wavelength, concentration.  </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<!-- =========================================================== -->
	<simpleType name="doubleInterval">
		<restriction base="gml:doubleList">
			<length value="2"/>
		</restriction>
	</simpleType>
	<!-- =========================================================== -->
	<complexType name="MeasureIntervalType">
		<annotation>
			<documentation>Pair of numbers with a scale.  </documentation>
		</annotation>
		<simpleContent>
			<extension base="adx:doubleInterval">
				<attribute name="uom" type="anyURI" use="required">
					<annotation>
						<documentation>This attribute holds a reference to the scale used to express the value, which may be either a ratio or interval scale. </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<!-- =========================================================== -->
	<complexType name="TypedMeasureIntervalType">
		<annotation>
			<documentation>Pair of numbers with a scale and property.  </documentation>
		</annotation>
		<simpleContent>
			<extension base="adx:MeasureIntervalType">
				<attribute name="property" type="anyURI">
					<annotation>
						<documentation>This attribute holds a reference to or label for the property being described.  
            This will usually refer to a measure described on a ratio or interval scale, 
            such as temperature, wavelength, concentration.  </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<!-- =========================================================== -->
	<!-- =============================================================== -->
	<complexType name="TypedCategoryType">
		<annotation>
			<documentation>Term with an authority and property.  </documentation>
		</annotation>
		<simpleContent>
			<extension base="gml:CodeType">
				<attribute name="property" type="anyURI">
					<annotation>
						<documentation>This attribute holds a reference to or label for the property being described.  </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<!-- =========================================================== -->
	<!-- =========================================================== -->
	<complexType name="TypedCategoryListType">
		<annotation>
			<documentation>List of terms with a scale and property. </documentation>
		</annotation>
		<simpleContent>
			<extension base="gml:CodeListType">
				<attribute name="property" type="anyURI">
					<annotation>
						<documentation>This attribute holds a reference to or label for the property being described.  </documentation>
					</annotation>
				</attribute>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="count">
		<restriction base="nonNegativeInteger"/>
	</simpleType>
	<!-- =========================================================== -->
	<simpleType name="other">
		<restriction base="string">
			<pattern value="other:\w{2,}"/>
		</restriction>
	</simpleType>
	<!-- =========================================================== -->
</schema>

