<?xml version = "1.0" encoding = "UTF-8"?>
<!--
	#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	#
	# Copyright (C) 2003-2008 Open Microscopy Environment
	#       Massachusetts Institute of Technology,
	#       National Institutes of Health,
	#       University of Dundee,
	#       University of Wisconsin at Madison
	#
	#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<!--
	#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	# Written by:  Ilya G. Goldberg, Josiah Johnston, Andrew J Patterson 
	#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<schema xmlns = "http://www.w3.org/2001/XMLSchema"
	targetNamespace = "http://www.openmicroscopy.org/Schemas/AnalysisChain/2008-02"
	xmlns:AC = "http://www.openmicroscopy.org/Schemas/AnalysisChain/2008-02"
	 version = "1"
	 xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
	 elementFormDefault = "qualified">
	
	<element name = "AnalysisChain">
		<complexType>
			<sequence>
				<element ref = "AC:Nodes"/>
				<element ref = "AC:Links"/>
			</sequence>
			<attribute name = "Name" use = "required" type = "string"/>
			<attribute name = "Locked" default = "false" type = "boolean"/>
		</complexType>
	</element>
	<element name = "Nodes">
		<complexType>
			<sequence>
				<element ref = "AC:Node" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "Node">
		<complexType>
			<attribute name = "NodeID" use = "required" type = "string"/>
			<attribute name = "ProgramName" use = "required" type = "string"/>
			<attribute name = "IteratorTag" type = "string"/>
			<attribute name = "NewRegionTag" type = "string"/>
		</complexType>
	</element>
	<element name = "Links">
		<complexType>
			<sequence>
				<element ref = "AC:Link" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "Link">
		<complexType>
			<attribute name = "FromNodeID" use = "required" type = "string"/>
			<attribute name = "FromOutputName" use = "required" type = "string"/>
			<attribute name = "ToNodeID" use = "required" type = "string"/>
			<attribute name = "ToInputName" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "AnalysisChains">
		<complexType>
			<sequence>
				<element ref = "AC:AnalysisChain" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
</schema>
