<?xml version="1.0"?>
<!-- 
 * National Flow Forecasting System
 * Copyright (c) 2003-2004 WL Delft Hydraulics. All Rights Reserved.
 *
 * Developed by:
 * Tessella Support Services plc
 * Bosinney Court, 124-126 Stockbridge Road
 * Winchester
 * SO22 6RN
 * United Kingdom
 * email: info@tessella.com
 * web:   www.tessella.com
 *
 * Project Ref: Tessella/NPD/3925
 * Project Identifier: NFFS
 *
 * File history
 * Version           Date                           Author
 * $Revision: 21205 $  $Date: 2009-02-23 15:34:34 +0100 (ma, 23 feb 2009) $   $Author: mooij $
 *
 * Schema to support mc-synchronisation task property files.
 *
 *
 -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:fews="http://www.wldelft.nl/fews" targetNamespace="http://www.wldelft.nl/fews" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" jaxb:version="2.1">
	<annotation>
		<appinfo>
			<jaxb:globalBindings typesafeEnumMaxMembers="2000"/>
		</appinfo>
	</annotation>
	<include schemaLocation="sharedTypes.xsd"/>
	<element name="synchronisation" type="fews:McSynchronisationComplexType">
		<annotation>
			<documentation>Element containing synchronisation configuration information.</documentation>
		</annotation>
		<unique name="recordtype_uk">
			<annotation>
				<documentation>Restriction so that each record type only appears once.</documentation>
			</annotation>
			<selector xpath="fews:recordtype"/>
			<field xpath="@type"/>
		</unique>
	</element>
	<complexType name="McSynchronisationComplexType">
		<annotation>
			<documentation>Type defining the contents of the synchronisation element.</documentation>
		</annotation>
		<sequence>
			<element name="synchparams" type="fews:McSynchParamsComplexType"/>
			<element name="recordtype" type="fews:McRecordTypeComplexType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="McSynchParamsComplexType">
		<annotation>
			<documentation>type specifying the contents of the synchparams element.</documentation>
		</annotation>
		<sequence>
			<element name="remotemcid" type="fews:McRemoteMcIdComplexType"/>
			<element name="synchid" type="fews:McSynchIdComplexType"/>
		</sequence>
	</complexType>
	<complexType name="McRemoteMcIdComplexType">
		<annotation>
			<documentation>type specifying the contents of the remote mc id element.</documentation>
		</annotation>
		<attribute name="name" type="fews:idStringType" use="required"/>
	</complexType>
	<complexType name="McSynchIdComplexType">
		<annotation>
			<documentation>type specifying the contents of the synch id element.</documentation>
		</annotation>
		<attribute name="id" type="fews:idStringType" use="required"/>
	</complexType>
	<complexType name="McRecordTypeComplexType">
		<annotation>
			<documentation>type specifying the contents of the record type element.</documentation>
		</annotation>
		<sequence>
			<element name="modifier" type="fews:McModifierComplexType" minOccurs="0"/>
		</sequence>
		<attribute name="type" type="fews:McRecordTypeEnumStringType" use="required"/>
	</complexType>
	<complexType name="McModifierComplexType">
		<annotation>
			<documentation>type specifying the contents of the modifier type element.</documentation>
		</annotation>
		<sequence>
			<element name="synchlevel" type="fews:McSynchLevelComplexType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="McSynchLevelComplexType">
		<attribute name="level" type="fews:idIntType" form="unqualified"/>
	</complexType>
	<simpleType name="McRecordTypeEnumStringType">
		<annotation>
			<documentation>Enumeration of the valid types for the record type elements.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="SystemActivities"/>
			<enumeration value="AccessKeyHashes" />
			<enumeration value="BaseBuildFileSets" />
			<enumeration value="BaseBuildFiles" />
			<enumeration value="CMConfigFiles" />
			<enumeration value="ComponentLogFileSnapshots" />
			<enumeration value="FewsWebServices" />
			<enumeration value="FssResources" />
			<enumeration value="FssStatus" />
			<enumeration value="MCConfigFiles" />
			<enumeration value="TaskRunLogFiles" />
			<enumeration value="UserSettings" />
			<enumeration value="UserToGroupsMappings" />
			<enumeration value="Users" />
			<enumeration value="MasterControllers"/>
			<enumeration value="LiveMcAvailabilities"/>
			<enumeration value="ForecastingShells"/>
			<enumeration value="DeletedRows"/>
			<enumeration value="WorkflowFiles"/>
			<enumeration value="SystemConfigurations"/>
			<enumeration value="ModuleInstanceConfigs"/>
			<enumeration value="ModuleInstanceDatasets"/>
			<enumeration value="RegionConfigurations"/>
			<enumeration value="DisplayConfigurations"/>
			<enumeration value="FlagConversions"/>
			<enumeration value="IdMaps"/>
			<enumeration value="UnitConversions"/>
			<enumeration value="ReportTemplates"/>
			<enumeration value="CorrelationEventSets"/>
			<enumeration value="CorrelationTravelTimes"/>
			<enumeration value="MapLayers"/>
			<enumeration value="Icons"/>
			<enumeration value="ReportImages"/>
			<enumeration value="RootConfigFiles"/>
			<enumeration value="PiServiceConfigurations"/>
			<enumeration value="PiClientConfigurations"/>
			<enumeration value="ModuleParameters"/>
			<enumeration value="CoefficientSets"/>
			<enumeration value="WhatIfScenarios"/>
			<enumeration value="Tasks"/>
			<enumeration value="TaskRuns"/>
			<enumeration value="FewsSessions"/>
			<enumeration value="MCCpts"/>
			<enumeration value="LogEntries"/>
			<enumeration value="ModuleInstanceRuns"/>
			<enumeration value="TaskRunCompletions"/>
			<enumeration value="ArchiveMetadata"/>
			<enumeration value="Reports"/>
			<enumeration value="WarmStates"/>
			<enumeration value="ColdStates"/>
			<enumeration value="DefaultColdStates"/>
			<enumeration value="TimeSeries"/>
			<enumeration value="ThresholdEvents"/>
			<enumeration value="ConfigRevisionSets"/>
			<enumeration value="Modifiers"/>
			<enumeration value="ModuleParameterModifiers"/>
			<enumeration value="McFailoverPriorities"/>
			<enumeration value="PiClientDataSets"/>
			<enumeration value="AttributeModifiers"/>
			<enumeration value="HistoricalEvents"/>
			<enumeration value="Samples"/>
			<enumeration value="ModuleRunTables"/>
			<enumeration value="FloodPeriods"/>
			<enumeration value="ImportStatus"/>
			<enumeration value="FssGroups"/>
		</restriction>
	</simpleType>
</schema>
