<?xml version="1.0" encoding="UTF-8"?>
<!--
Schemaentwurf zum DEfTIS-Datenaustauschformat im Rahmen der Arbeitsgruppe PAS fuer Weiterbildungsdatenbanken
Datei: DocumentList.xsd
Umfang: Definition der Elemente fuer DocumentList-Dokumente im Rahmen des Mulitiple-Document-Verfahrens.

Jegliche Haftung wird ausgeschlossen.

(c) 2004 - Olga Dergachova, Engine EAR GmbH & Co. KG

DIESES DOKUMENT WIRD IN DER ZUKUNFT VORAUSSICHTLICH NOCH AENDERUNGEN UNTERZOGEN WERDEN!
-->
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="isoDatatypes.xsd"/>
	<xs:include schemaLocation="DEFTIS_Datatypes.xsd"/>
	<xs:element name="DEFTISCAT">
		<xs:complexType>
			<xs:all>
				<xs:element ref="DATASUPPLIER"/>
				<xs:element ref="DOCUMENTLIST"/>
			</xs:all>
			<xs:attribute name="MULTIDOCUMENT" type="xs:boolean" use="required"/>
			<xs:attribute name="DELTAUPDATE" type="xs:boolean" use="required"/>
			<xs:attribute name="TIMESTAMP" type="xs:dateTime" use="required"/>
			<xs:attribute name="TIMESTAMP_INVALID" type="xs:dateTime" use="optional"/>
		</xs:complexType>
	</xs:element>
	<!-- -->
	<!--DATASUPPLIER element and its "children"-->
	<xs:element name="DATASUPPLIER">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="DS_NAME" type="xs:string"/>
				<xs:element ref="ADDRESS"/>
				<xs:element ref="CONTACT" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="DS_TOPIC" type="xs:string" minOccurs="0"/>
				<xs:element name="DS_AREA" type="xs:string" minOccurs="0"/>
				<xs:element name="DS_ID" type="UUID-String"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- -->
	<!--ADDRESS element and its "children"-->
	<xs:element name="ADDRESS">
		<xs:complexType>
			<xs:all>
				<xs:element name="A_NAME" type="xs:string"/>
				<xs:element name="A_STREET" type="xs:string" minOccurs="0"/>
				<xs:element name="A_CITY" type="xs:string" minOccurs="0"/>
				<xs:element name="A_ZIP" type="xs:string" minOccurs="0"/>
				<xs:element name="A_COUNTRY" type="CountryCode" minOccurs="0"/>
				<xs:element name="A_BOXNO" type="xs:string" minOccurs="0"/>
				<xs:element name="A_ZIPBOX" type="xs:string" minOccurs="0"/>
				<xs:element name="A_PHONE" type="xs:string" minOccurs="0"/>
				<xs:element name="A_FAX" type="xs:string" minOccurs="0"/>
				<xs:element name="A_EMAIL" type="xs:string" minOccurs="0"/>
				<xs:element name="A_WEB" type="xs:string" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<!-- -->
	<!--CONTACT element and its "children"-->
	<xs:element name="CONTACT">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="C_NAME" type="xs:string"/>
				<xs:element name="C_SURNAME" type="xs:string" minOccurs="0"/>
				<xs:element name="C_TITLE" type="xs:string" minOccurs="0"/>
				<xs:element name="C_POSITION" type="xs:string" minOccurs="0"/>
				<xs:element name="C_PHONE" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="C_FAX" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="C_EMAIL" type="xs:string" minOccurs="0"/>
				<xs:element name="C_WEB" type="xs:string" minOccurs="0"/>
			</xs:sequence>
			<!--xs:all does not allow maxOccurs="unbounded"-->
		</xs:complexType>
	</xs:element>
	<!-- -->
	<!--DOCUMENTLIST element and its "children"-->
	<xs:element name="DOCUMENTLIST">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="COURSESUPPLIERDOCUMENTS" minOccurs="1" maxOccurs="1"/>
				<xs:element ref="DELETEDOCUMENTS" minOccurs="0"/>
				<xs:element ref="UPDATEDOCUMENTS" minOccurs="0"/>
				<xs:element ref="INSERTDOCUMENTS" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="COURSESUPPLIERDOCUMENTS">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DOCUMENTID" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DELETEDOCUMENTS">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DOCUMENTID" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="UPDATEDOCUMENTS">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DOCUMENTID" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="INSERTDOCUMENTS">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DOCUMENTID" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DOCUMENTID" type="xs:string"/>
</xs:schema>
