<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Attention: Generated code! Do not modify by hand!
    Generated by: XmlSchema.vsl in andromda-xmlschema-cartridge.
    
    Temp [remove this line], useful info at: http://www.andromda.org/andromda-xmlschema-cartridge/apidocs/ 
    http://www.andromda.org/andromda-metafacades-uml/apidocs/
  -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fuge="http://fuge.org/core" targetNamespace="http://fuge.org/core" elementFormDefault="qualified">
	<xsd:complexType name="FuGE.Common.Description.DescriptionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A free text description of an object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:attribute name="text" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The description.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.References.DatabaseEntryType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A reference to a record in a database.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_database"/>
				</xsd:sequence>
				<xsd:attribute name="accession" type="xsd:string" use="required">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The identifier used to look up the record.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="accessionVersion" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The appropriate version of the accession (if applicable).
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.InternalDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Data that is internal to an instance XML document. The storage
array will typically use pointer arithmatic to access values
based on the rank (e.g. number of)  Dimensions and their
respective sizes (e.g. the number of contained
DimensionElements).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Bio.Data.DataType">
				<xsd:sequence>
					<xsd:element name="storage" type="xsd:anyType">
						<xsd:annotation>
							<xsd:documentation/>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.PersonType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A person for which the attributes are self describing.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Audit.ContactType">
				<xsd:sequence>
					<xsd:element ref="fuge:_affiliations" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="lastName" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="firstName" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="midInitials" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Ontology.OntologyIndividualType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An instance of an Ontology class.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Ontology.OntologyTermType">
				<xsd:sequence>
					<xsd:element ref="fuge:_properties" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Material.GenericMaterialType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of the abstract Material class, which should be used
in conjunction with controlled vocabulary terms describe
Materials of any types used in an investigation.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Bio.Material.MaterialType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericSoftwareType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of the abtract Software class for capturing the
description of Software used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.SoftwareType">
				<xsd:sequence>
					<xsd:element ref="fuge:_softwareParameters" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.EquipmentApplicationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The use of a piece of Equipment with the requisite Parameters
and ParameterValues.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
				<xsd:sequence>
					<xsd:element ref="fuge:_appliedEquipment"/>
				</xsd:sequence>
				<xsd:attribute name="serialNumber" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
Manufacturer's identifier for the Equipment.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An abstract class for describing biological molecules such as
DNA and protein sequences or metabolites.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ProtocolApplicationType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The use of a protocol with the requisite Parameters and
ParameterValues. ProtocolApplications can take Material or Data
(or both) as input and produce Material or Data (or both) as
output.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
				<xsd:sequence>
					<xsd:element ref="fuge:_outputData" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_inputData" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_partitionPairs" minOccurs="0"/>
					<xsd:element ref="fuge:_outputMaterials" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_inputMaterials" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_protocol" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_actionApplications" minOccurs="0"/>
					<xsd:element ref="fuge:_softwareApplications" minOccurs="0"/>
					<xsd:element ref="fuge:_equipmentApplications" minOccurs="0"/>
					<xsd:element ref="fuge:_protocolDeviation" minOccurs="0"/>
					<xsd:element ref="fuge:_performers" minOccurs="0"/>
					<xsd:element ref="fuge:_inputCompleteMaterials" minOccurs="0" maxOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="activityDate" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
When the protocol was applied.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Material.MaterialType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Material represents any kind of substance used in an
experimental workflow, such as whole organisms, cells, DNA,
solutions, compounds and experimental substances (gels, arrays
etc.). The Material class can be extended by adding subclasses
to model domain specific properties or the relationships to
OntologyIndividual can be used to describe the characteristics
and type of Material.
</p>
				<p>
Materials can be related to other materials through a directed
acyclic graph (represented by ProtocolApplication(s)).
Sub-component materials can be represented by the
self-association on Material (e.g. Wells within a array)
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_components" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_contacts" minOccurs="0"/>
					<xsd:element ref="fuge:_materialType" minOccurs="0"/>
					<xsd:element ref="fuge:_characteristics" minOccurs="0"/>
					<xsd:element ref="fuge:_qualityControlStatistics" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Investigation.FactorType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Factors are the dependent variables of an experiment (e.g. time,
glucose concentration, ...). Note that Factors can be shared by
multiple InvestigationComponents.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_factorValues" minOccurs="0"/>
					<xsd:element ref="fuge:_factorCategory" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Investigation.InvestigationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An Investigation is a self-contained unit of study that contains
one or more types of 'omics technology.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_investigationComponents" minOccurs="0"/>
					<xsd:element ref="fuge:_providers" minOccurs="0"/>
					<xsd:element ref="fuge:_summaryResults" minOccurs="0"/>
					<xsd:element ref="fuge:_sourceMaterials" minOccurs="0"/>
					<xsd:element ref="fuge:_investigationTypes" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.NameValueTypeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A tuple designed to store data, keyed by a name and type.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="name" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation>
					<p>
The name of the key.
</p>
				</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="value" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation>
					<p>
The value of the name.
</p>
				</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="type" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation>
					<p>
The type of the key.
</p>
				</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Material.GenericMaterialMeasurementType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of MaterialMeasurement to be used without being
extended in conjunction with GenericProtocolApplication and
GenericMaterial to model measured sources of materials.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Bio.Material.MaterialMeasurementType">
				<xsd:sequence>
					<xsd:element ref="fuge:_genericMeasureMaterial"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ParameterizableApplicationType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The interface that is the use of a Parameterizable class.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_parameterValues" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.EquipmentType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The equipment (hardware) used in this Protocol. Examples
include: computers, scanners, wash stations etc...
</p>
				<p>
Equipment is abstract and should either be extended by
subclassing or the GenericEquipment class, a functional version
of Equipment, should be used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_softwares" minOccurs="0"/>
					<xsd:element ref="fuge:_equipmentParts" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_model" minOccurs="0"/>
					<xsd:element ref="fuge:_make" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.DimensionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A single dimension of a coordinate system. The DimensionElement
class represents the discreet domain values represented in this
dimension. A dimension with infinite domain values is not
modeled here, for practical reasons.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_dimensionElements" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_dimensionType" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.ReferenceableCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The collection of objects that allow external references.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_allBibliographicReferences" minOccurs="0"/>
					<xsd:element ref="fuge:_databases" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.DataType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Data may have associations to the ProtocolApplication that
created them.  Data may be produced from a Material through the
DataAcquisition or from another Data object through the
DataTransformation.  Examples of Data are gene expression
measurements, or phenotypes associated with genetic
manipulations.  Data is abstract and must be subclassed in an
appropriate domain (i.e. microarray or proteomic experiments).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_dimension" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.AuditCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The collection of Audit objects (Security, SecurityGroup and
Contacts).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_securityCollection" minOccurs="0"/>
			<xsd:element ref="fuge:_allContacts" minOccurs="0"/>
			<xsd:element ref="fuge:_securityGroups" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.AuditType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Tracks information on the contact that creates or modifies an
object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_performer" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="date" type="xsd:date" use="required">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The date of a change.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="action" use="required">
					<xsd:annotation>
						<xsd:documentation>
							<p>
Indicates whether an action is a creation, modification or a
deletion.
</p>
						</xsd:documentation>
					</xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="creation"/>
							<xsd:enumeration value="modification"/>
							<xsd:enumeration value="deletion"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.DataCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete collection of all Data, Dimension and
HigherLevelAnalysis objects.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_allDimensions" minOccurs="0"/>
					<xsd:element ref="fuge:_higherLevelAnalyses" minOccurs="0"/>
					<xsd:element ref="fuge:_allData" minOccurs="0"/>
					<xsd:element ref="fuge:_allDataPartitions" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Investigation.InvestigationComponentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An overview of the design using a single omics technique.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_factors" minOccurs="0"/>
					<xsd:element ref="fuge:_replicateDescription" minOccurs="0"/>
					<xsd:element ref="fuge:_qualityControlDescription" minOccurs="0"/>
					<xsd:element ref="fuge:_normalizationDescription" minOccurs="0"/>
					<xsd:element ref="fuge:_allProtocolApplications" minOccurs="0"/>
					<xsd:element ref="fuge:_componentDesignTypes" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.SecurityAccessType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A specification of the access right (e.g. read or write) that a
specified group (SecurityGroup) has on a particular object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_accessGroup"/>
					<xsd:element ref="fuge:_accessRight" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.OntologyCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of OntologyIndividual objects referenced in the
FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_ontologyTerms" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ParameterizableType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The Parameterizable interface encapsulates the association of
Parameters with ParameterValues.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_provider" minOccurs="0"/>
					<xsd:element ref="fuge:_parameterizableTypes" minOccurs="0"/>
					<xsd:element ref="fuge:_parameters" minOccurs="0" maxOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericParameterType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of the abstract Paramter class to represent a
parameter that is defined by a controlled vocabulary term.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.ConceptualMolecule.SequenceType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A Sequence is a representation of a DNA, RNA, or protein
sequence.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType">
				<xsd:sequence>
					<xsd:element ref="fuge:_sequenceAnnotations" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="length" type="xsd:int">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The number of residues in the biosequence.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="isApproximateLength" type="xsd:boolean">
					<xsd:annotation>
						<xsd:documentation>
							<p>
If length not positively known will be true
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="isCircular" type="xsd:boolean">
					<xsd:annotation>
						<xsd:documentation>
							<p>
Indicates if the BioSequence is circular in nature.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="sequence" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The actual components of the sequence, for instance, for DNA a
string consisting of A,T,C and G.
</p>
							<p>
The attribute is optional and instead of specified here, can be
found through the DatabaseEntry.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="start" type="xsd:int">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="end" type="xsd:int">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.DataPartitionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Represents a segmentation of the data by indexing existing
DimensionElements of a Data.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_dimensionElementSet" minOccurs="0"/>
					<xsd:element ref="fuge:_partitionedData"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Investigation.HigherLevelAnalysisType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A container for domain-specific analyses performed on data.
Subclasses must be created for different domains.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_supportingData" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ParameterValueType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The value of a Parameter.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_parameter"/>
					<xsd:element ref="fuge:_parameterValue" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.DimensionElementType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A single point within a parent dimension. This class should be
extended.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.ContactRoleType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The role that a Contact plays in an organization.  A Contact may
have several Roles within scope, and as such, associations to
ContactRole allow the use of a Contact in a certain manner. 
Examples might include a provider, or a data analyst.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_contact"/>
					<xsd:element ref="fuge:_role"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.ExternalDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Data external to the XML instance document. The location of the
data file is given in the association to the URI class.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Bio.Data.DataType">
				<xsd:sequence>
					<xsd:element ref="fuge:_externalFormatDocumentation" minOccurs="0"/>
					<xsd:element ref="fuge:_fileFormat" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.ConceptualMoleculeCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of ConceptualMolecule objects and
SequenceAnnotation objects.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_conceptualMolecules" minOccurs="0"/>
					<xsd:element ref="fuge:_allSequenceAnnotations" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Description.URIType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A URI is short for Uniform Resource Identifier.
</p>
				<p>
A URI is a compact sequence of characters that identifies an
abstract or physical resource.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:attribute name="uri" type="xsd:string" use="required">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The Uniform Resource Indicator for this object.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Data.PartitionPairType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Relates a DataPartition (subset of Data) from one data set with
a DataPartition from another data set, for example for
"supporting evidence".
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_partitionPairAlgorithm" minOccurs="0"/>
					<xsd:element ref="fuge:_inputPartitions" minOccurs="0"/>
					<xsd:element ref="fuge:_outputPartitions" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ProtocolType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A Protocol is a parameterizable description of a method. 
ProtocolApplication is used to specify the ParameterValues of
its Protocol's Parameters.
</p>
				<p>
Protocol should be extended in data formats. For cases where no
extension is developed, the subclass of Protocol,
GenericProtocol, should be used to capture experimental
protocols.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_actions" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_protocolEquipment" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_software" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_inputTypes" minOccurs="0"/>
					<xsd:element ref="fuge:_outputTypes" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericProtocolType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
GenericProtocol should be used in conjunction with GenericAction
to describe protocols in a data format for cases where no
explicit extension of Protocol has been developed.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ProtocolType">
				<xsd:sequence>
					<xsd:element ref="fuge:_genericActions" minOccurs="0"/>
					<xsd:element ref="fuge:_genericSoftware" minOccurs="0"/>
					<xsd:element ref="fuge:_genericEquipment" minOccurs="0"/>
					<xsd:element ref="fuge:_protocolParameters" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.OrganizationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Organizations are entities like companies, universities,
government agencies for which the attributes are self
describing.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Audit.ContactType">
				<xsd:sequence>
					<xsd:element ref="fuge:_parent" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericActionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A GenericAction represents a step within a GenericProtocol. It
allows a reference to a sub-GenericProtocol, user entered text
to describe the GenericAction or a term from a controlled
vocabulary to be given.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ActionType">
				<xsd:sequence>
					<xsd:element ref="fuge:_actionTerm" minOccurs="0"/>
					<xsd:element ref="fuge:_genericProtocolReference" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="actionText" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
Free text to describe this Action.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Ontology.DataPropertyType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An instance of an Ontology data property.  So an individual of
Age might be restricted to a value of 8.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Ontology.OntologyPropertyType">
				<xsd:attribute name="dataType" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
An optional data type attribute which should be either one of
the CORBA Any types or one of the XML Schema simple types.
</p>
							<p>
If the Parent Individual is associated with a has_datatype
property, instead of stating that property explicity, it could
be used as the value of the datatype attribute, or the datatype
can be provided as a hint to applications on how to store the
value.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="value" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The value associated with the DataProperty instance.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Ontology.OntologyPropertyType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Base class for instances of Ontology properties
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Ontology.OntologyTermType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.MaterialCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of all Material objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_materials" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.ProtocolCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of Protocol, Equipment, Software and
ProtocolApplication objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_protocols" minOccurs="0"/>
			<xsd:element ref="fuge:_allSoftwares" minOccurs="0"/>
			<xsd:element ref="fuge:_protocolApplications" minOccurs="0"/>
			<xsd:element ref="fuge:_allEquipment" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericEquipmentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of the abtract Equipment class for capturing the
description of Equipment used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.EquipmentType">
				<xsd:sequence>
					<xsd:element ref="fuge:_equipmentParameters" minOccurs="0"/>
					<xsd:element ref="fuge:_genericEquipmentParts" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.SecurityGroupType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Groups contacts together based on their security privileges.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_members"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Ontology.OntologyTermType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A single entry from an ontology or a controlled vocabulary.
</p>
				<p>
If it is a simple controlled vocabulary, the ontologyURI and
ontologyTermURI might be undefined and there would be an
OntologyIndividual whose name was the property and who had a
single DataProperty whose value was the value for the property.
</p>
				<p>
For instance, for an OntologyIndividual based on the MO ontology
the attributes might be:
</p>
				<p>
The identifier is some unique identifier for individuals,
possible a UUID,
</p>
				<p>
The name would be what is usually called the local name in the
Ontology, for instance 'Age'
</p>
				<p>
The ontologyTermURI could be
'http://mged.sourceforge.net/ontologies/MGEDOntology.owl#Age',
</p>
				<p>
The ontologyURI could be
'http://mged.sourceforge.net/ontologies/MGEDOntology.owl".
</p>
				<p>
The OntologyTerm subclasses are instances of Ontology classes
and properties, not the actual terms themselves.  An
OntologyIndividual, if based on an existing Ontology, can be
considered a statement that can be validated against the
referenced ontology.
</p>
				<p>
The subclasses and their associations are based on the Ontology
Definition Model, ad/2005-04-13, submitted to the OMG as a
response to RFP ad/2003-03-40,
</p>
				<p>
Copyright © 2005 DSTC Pty Ltd.
</p>
				<p>
Copyright © 2005 IBM
</p>
				<p>
Copyright © 2005 Sandpiper Software, Inc
</p>
				<p>
under the standard OMG license terms.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:attribute name="ontologyURI" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
An optional URI that can be resolved to the definition of an
Ontology
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="ontologyTermURI" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
An optional URI that can be resolved to the definition of an
Ontology Class or Property
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.SoftwareType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Software represents the software used.  Examples of Software
include: feature extraction software, clustering software,
etc...
</p>
				<p>
Software is abstract and should either be extended by
subclassing or the GenericSoftware class, a functional version
of Software, should be used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_equipment" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="version" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The version of software used.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ActionApplicationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
ActionApplication mirrors the structure of Actions within
Protocols. This allows ActionDeviations to be reported and it
can reference sub-ProtocolApplications if they exist.
</p>
				<p>
ActionApplication should not be extended but should be used as
it is, for instance to connect different extensions (subclasses)
of ProtocolApplication together, following a given Protocol
structure.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_action"/>
					<xsd:element ref="fuge:_actionDeviation" minOccurs="0"/>
					<xsd:element ref="fuge:_protocolApplicationReference" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.References.BibliographicReferenceType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Represents bibliographic references, including the most common
attributes. Note that because a BibliographicReference is
Identifiable, a DatabaseEntry can also be specified.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:attribute name="authors" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="publication" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="publisher" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="editor" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="year" type="xsd:date">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="volume" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="issue" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="pages" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="title" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.SecurityType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Permission information for an object as to ownership, write and
read permissions.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_owner" minOccurs="0"/>
					<xsd:element ref="fuge:_securityRights" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ParameterType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A Parameter is a replaceable value in a Parameterizable class. 
Examples of Parameters include: scanning wavelength, laser
power, centrifuge speed, multiplicative errors, the number of
input nodes to a SOM, and PCR temperatures.
</p>
				<p>
Parameter is abstract and should be extended by subclassing. The
GenericParameter class offers the functionality of a parameter
defined by a controlled vocabulary term.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_defaultValue" minOccurs="0"/>
					<xsd:element ref="fuge:_parameterType" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.DescribableType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Abstract class that allows subclasses to inherit associations
that enable objects to be given a text description, additional
annotations as Ontology entries, a URI, associations to Audit
for tracking changes, and the association to Security for
indicating permissions.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_auditTrail" minOccurs="0"/>
			<xsd:element ref="fuge:_descriptions" minOccurs="0"/>
			<xsd:element ref="fuge:_security" minOccurs="0"/>
			<xsd:element ref="fuge:_uri" minOccurs="0"/>
			<xsd:element ref="fuge:_annotations" minOccurs="0"/>
			<xsd:element ref="fuge:_propertySets" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.SoftwareApplicationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The use of a piece of software with the requisite Parameters and
ParameterValues.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
				<xsd:sequence>
					<xsd:element ref="fuge:_appliedSoftware"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.References.DatabaseType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An address to a repository.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_databaseContact" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="version" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The version for which a DatabaseReference applies.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="URI" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The location of the Database.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.FuGEType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The root container for accessing all objects.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_materialCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_conceptualMoleculeCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_referenceAbleCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_investigationCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_dataCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_auditCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_protocolCollection" minOccurs="0"/>
					<xsd:element ref="fuge:_ontologyCollection" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.ConceptualMolecule.SequenceAnnotationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
This is used to annotate a set of sequences that share the same
species, type and PolymerType.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_species" minOccurs="0"/>
					<xsd:element ref="fuge:_type" minOccurs="0"/>
					<xsd:element ref="fuge:_polymerType" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.IdentifiableType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Other classes in the model can be specified as sub-classes,
inheriting from Identifiable. Identifiable gives classes a
unique identifier within the scope and a name that need not be
unique. Identifiable also provides a mechanism for annotating
objects with BibliographicReference(s) and DatabaseEntry(s).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_databaseReferences" minOccurs="0"/>
					<xsd:element ref="fuge:_bibliographicReferences" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="identifier" type="xsd:string" use="required">
					<xsd:annotation>
						<xsd:documentation>
							<p>
An identifier is an unambiguous string that is unique within the
scope (i.e. a document, a set of related documents, or a
repository) of its use.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="name" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The potentially ambiguous common identifier.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Ontology.ObjectPropertyType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An instance of an Ontology object property that restricts the
parent individual to its child individual.  So an Age individual
may be restricted to an Individual unit of years.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Ontology.OntologyPropertyType">
				<xsd:sequence>
					<xsd:element ref="fuge:_content"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Audit.ContactType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A contact is either a person or an organization.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:attribute name="address" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="phone" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="email" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="fax" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="tollFreePhone" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation/>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.ActionType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A Action is one step of a Protocol.  Sets of ordered Actions
define the Protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.IdentifiableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_protocolReference" minOccurs="0" maxOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="actionOrdinal" type="xsd:int">
					<xsd:annotation>
						<xsd:documentation>
							<p>
The order by which this Action should occur with respect to the
Parent protocol. Note that two Actions with the same
actionOrdinal are performed in parallel or the order is not
important.
</p>
						</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Collection.InvestigationCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The collection of Investigation and Factor objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:_investigations" minOccurs="0"/>
			<xsd:element ref="fuge:_factorCollection" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Common.Protocol.GenericProtocolApplicationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A subclass of ProtocolApplication to be used as it is in data
formats without being extended.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.Protocol.ProtocolApplicationType">
				<xsd:sequence>
					<xsd:element ref="fuge:_genericInputMaterials" minOccurs="0"/>
					<xsd:element ref="fuge:_genericInputData" minOccurs="0"/>
					<xsd:element ref="fuge:_genericOutputData" minOccurs="0"/>
					<xsd:element ref="fuge:_genericOutputMaterials" minOccurs="0"/>
					<xsd:element ref="fuge:_genericProtocol"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Material.MaterialMeasurementType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
MaterialMeasurement represents the quantity of a source Material
used in a MaterialTreatment. The Measurement is represented
using an ontology to allow complex specifications of
measurements.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_measuredMaterial" minOccurs="0" maxOccurs="0"/>
					<xsd:element ref="fuge:_measurement" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="FuGE.Bio.Investigation.FactorValueType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The value for a Factor
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:FuGE.Common.DescribableType">
				<xsd:sequence>
					<xsd:element ref="fuge:_dataPartitions" minOccurs="0"/>
					<xsd:element ref="fuge:_value" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_databaseType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the database where the DatabaseEntry instance can
be found.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Database_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_affiliationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The organization a person belongs to.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Organization_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_propertiesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A list of properties associated with the Individual.  If based
on an external Ontology, the list should be able to be validated
against that Ontology.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyProperty_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_softwareParametersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The parameters for this piece of GenericSoftware.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_parametersType">
				<xsd:sequence>
					<xsd:element ref="fuge:GenericParameter" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_appliedEquipmentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The underlying hardware.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Equipment_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_outputDataType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The data produced by a ProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_inputDataType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The input data for a ProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_partitionPairsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
PartitionPairs that associate subsets (DataPartition) of the
output data with subsets of the input data.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:PartitionPair" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_outputMaterialsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association to the Material(s) created as output by this
ProtocolApplication.
</p>
				<p>
Testing
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_inputMaterialsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association from a ProtocolApplication to a measurement of the
quantity of the source (input) Material(s) used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_protocolType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The protocol that is being used.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_actionApplicationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association to the ActionApplication steps that comprise this
ProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ActionApplication" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_softwareApplicationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The use of software for the application of the protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:SoftwareApplication" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_equipmentApplicationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The use of hardware for the application of the protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:EquipmentApplication" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolDeviationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Used to define human readable notes for annotating deviations to
the protocol on a Protocol-wide level, for example, if the order
of execution of Actions was changed in some non-destructive
manner.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_performersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The people or organizations who performed the protocol.
ContactRole could be used to specify the part of the Protocol
performed by a particular Contact.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ContactRole" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_inputCompleteMaterialsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
This association should be extended for cases where the entire
Material is used in the ProtocolApplication in full and it does
not make sense to give a measured quantity of the Material as
input.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_componentsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association from a Material to other Materials that are
sub-components (such as wells within an array plate). If a
subcomponent undergoes a ProtocolApplication, then the
containing Material must also be an input to the
ProtocolApplication and be output as a new Material or version
of the Material.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_contactsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Contact details for the Material. The association to ContactRole
could specify, for example, the creator or provider of the
Material.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ContactRole" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_materialTypeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The type of material used, i.e. RNA, DNA, lipid, phosphoprotein,
organism etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_characteristicsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The characteristics of a Material.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_qualityControlStatisticsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Measures of the quality of the Material.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_factorValuesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The FactorValues for this Factor e.g. the time points in a time
course.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:FactorValue" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_factorCategoryType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The category of a Factor could be biological (time, [glucose])
or methodological (differing cDNA preparation protocols).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_investigationComponentsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The association to the techniques that comprise the
Investigation.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:InvestigationComponent" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_providersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The providers of the Experiment, its data and annotation.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ContactRole" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_summaryResultsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
HigherLevelAnalyses performed over data.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="HigherLevelAnalysis_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_sourceMaterialsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Investigationally important materials.  These are typically a
species or set of strains.  This might also be a bucket of
seawater or a pound of dirt. It is expected that these Materials
are referenced by a ProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Material_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_investigationTypesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The biological design type of the Investigation, such as
toxicity, drug-response, gene knockout etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_genericMeasureMaterialType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The instance of GenericMaterial or a subclass of Material that
is input to the GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_measuredMaterialType">
				<xsd:sequence>
					<xsd:element name="Material_ref">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_parameterValuesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The parameter values for this Parameterizable Application.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ParameterValue" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_softwaresType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Associates Equipment and Software together.  Indicates that a
set of Software is run on a piece of Equipment.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Software_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_equipmentPartsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
This association can be used to specify sub-components of a
"parent" Equipment instance. The cardinality allows pieces of
Equipment to be associated with more than one parent, for
example allowing the re-use different parts.
</p>
				<p>
If a Protocol makes use of a "parent" Equipment and
EquipmentParts, all of the sub-component Equipment instances
must also be directly referenced from the Protocol using the
ProtocolEquipment association.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_modelType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The Equipment model.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_makeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The equipment make, usually the organisation that makes the
equipment.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_dimensionElementsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The DimensionElements belonging to this Dimension.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_dimensionTypeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The type of Dimension e.g. "array feature dimension"
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allBibliographicReferencesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of BibliographicReference objects
in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:BibliographicReference" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_databasesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of Database objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Database" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_dimensionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The dimensions contained within this Data object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Dimension_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_securityCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of BibliographicReference objects
in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Security" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allContactsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of Contacts.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Contact" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_securityGroupsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of SecurityGroup objects in the
FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:SecurityGroup" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_performerType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The contact for creating or changing the instance referred to by
the Audit.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Contact_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allDimensionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of Dimension objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Dimension" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_higherLevelAnalysesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of HigherLevelAnalysis objects in
the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:HigherLevelAnalysis" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of Data objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Data" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allDataPartitionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of DataPartitions.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:DataPartition" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_factorsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The description of the factors (TimeCourse, Dosage, etc.) that
segment the Data. The aggregation of Factors is limited to a
single Investigation.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Factor_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_replicateDescriptionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Description of the replicate strategy of the
InvestigationComponent.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_qualityControlDescriptionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Description of the quality control aspects of the
InvestigationComponent.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_normalizationDescriptionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Description of the normalization strategy of the
InvestigationComponent.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allProtocolApplicationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Complete set of all ProtocolApplications for a given
InvestigationComponent. This allows access to the complete set
of Materials and Data for the component.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ProtocolApplication_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_componentDesignTypesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The design of the investigation with respect to a single
technique (InvestigationComponent) e.g. dye swap.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_accessGroupType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The group of contacts that have the specified access right on an
object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="SecurityGroup_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_accessRightType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The type of AccessRight allowed on this object e.g. Read, Write
etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_ontologyTermsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of OntologyTerms in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:OntologyTerm" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_providerType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The provider of the Protocol, Equipment or Software.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ContactRole" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_parameterizableTypesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The type of a Protocol, Equipment or Software. Examples of types
include:  RNA extraction, mass spectrometer, image analysis
etc... Note that the type association can be used for annotating
complex protocols with terms such as "assay" or "phase".
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_parametersType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The set of  parameters for the Parameterizable class instance.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_sequenceAnnotationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Shared annotations for a set of sequences.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="SequenceAnnotation_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_dimensionElementSetType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The DimensionElements segmented by this DataPartition.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DimensionElement_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_partitionedDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
This is a reference to the Data on which this DataPartition is
based.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Data_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_supportingDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association to the Data on which the HigherLevelAnalysis has
been performed.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Data_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_parameterType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The parameter this value is for.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Parameter_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_parameterValueType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The value of the parameter.  Will have the datatype of its
associated Parameter.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_contactType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
When a ContactRole is used, it specifies which Contact the role
is associated with.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Contact_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_roleType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The roles (lab equipment sales, contractor, etc.) the contact
fills.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_externalFormatDocumentationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A URI to access documentation and tools to interpret the
external format of the ExternalData instance. For example, XML
Schema or static libraries (APIs) to access binary formats.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:URI"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_fileFormatType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The format of the ExternalData file, for example "tiff" for
image files.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_conceptualMoleculesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of ConceptualMolecule objects in
the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ConceptualMolecule" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allSequenceAnnotationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of SequenceAnnotation objects in
the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:SequenceAnnotation" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_partitionPairAlgorithmType" abstract="false">
		<xsd:annotation>
			<xsd:documentation> 
        </xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_inputPartitionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The DataPartitions corresponding to the InputData for this
PartitionPair. There should be no more than one DataPartition
per set of InputData.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DataPartition_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_outputPartitionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The DataPartitions corresponding to the OutputData for this
PartitionPair. There should be no more than one DataPartition
per set of OutputData.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DataPartition_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_actionsType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Each Protocol may be composed of a number of steps, each of
which is represented by an Action.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_protocolEquipmentType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Hardware used by this protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_softwareType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Software used by this Protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_inputTypesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The types of inputs this Protocol can take e.g. organisms,
solutions, data formats etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_outputTypesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The types of outputs produced by this Protocol e.g. organisms,
solutions, data formats etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_genericActionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The actions performed within a GenericProtocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_actionsType">
				<xsd:sequence>
					<xsd:element ref="fuge:GenericAction" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericSoftwareType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A reference to the GenericSoftware used with this
GenericProtocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_softwareType">
				<xsd:sequence>
					<xsd:element name="GenericSoftware_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericEquipmentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A reference to the GenericProtocol used with this
GenericEquipment.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_protocolEquipmentType">
				<xsd:sequence>
					<xsd:element name="GenericEquipment_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_protocolParametersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The parameters defined for the GenericProtocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_parametersType">
				<xsd:sequence>
					<xsd:element ref="fuge:GenericParameter" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_parentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The containing organization (the university or business which a
lab belongs to, etc.)
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Organization_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_actionTermType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Each Action may be associated with an OntologyTerm that defines
that Action.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_genericProtocolReferenceType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
This is an instantiation of the ProtocolReference association
for associating complex, hierarchical protocols together. A
GenericAction can reference substeps within the parent
GenericProtocol. The substeps can be further instances of
GenericProtocol, or defined subclasses of Protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_protocolReferenceType">
				<xsd:sequence>
					<xsd:element name="Protocol_ref">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_materialsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of Materials.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Material" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to all Protocol objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Protocol" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allSoftwaresType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to all Software objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Software" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolApplicationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of ProtocolApplication objects in
the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ProtocolApplication" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_allEquipmentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to all Equipment objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Equipment" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_equipmentParametersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The parameters for this piece of GenericEquipment.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_parametersType">
				<xsd:sequence>
					<xsd:element ref="fuge:GenericParameter" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericEquipmentPartsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
An association between a parent GenericEquipment and its parts.
If a GenericProtocol utilises GenericEquipment and its parts,
both the parent and child GenericEquipment instances should be
referenced.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_equipmentPartsType">
				<xsd:sequence>
					<xsd:element name="GenericEquipment_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_membersType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The members of the SecurityGroup.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Contact_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_equipmentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Associates Equipment and Software together.  Indicates that a
set of Software is run on a piece of Equipment.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Equipment_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_actionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association to the Action that is being performed as recorded by
this ActionApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Action_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_actionDeviationType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Used to define human readable notes for annotating deviations to
an Action during the ActionApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolApplicationReferenceType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Association to ProtocolApplication if a hierarchical Protocol
has been defined representing the child step of the Protocol.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ProtocolApplication_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_ownerType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The owner of the security rights on the object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Contact_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_securityRightsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Specifies which security groups have permission to view the
associated object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:SecurityAccess" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_defaultValueType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The DefaultValue of a Parameter is to be assumed the proper
value when a Parameterizable object has been applied.  It may be
over-ridden at the time the ParameterizableApplication is
instantiated.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_parameterTypeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The name of the parameter and its data type such as Boolean,
float, integer etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_auditTrailType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A list of Audit instances that track changes to the instance of
Describable.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Audit" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_descriptionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Free hand text descriptions.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Description" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_securityType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Information on the security for the instance of the class.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Security_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_uriType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A URI associated with a Describable object.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:URI"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_annotationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Allows specification of additional ontology entries related to
the instance being described that are not directly specified
elsewhere.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_propertySetsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Allows specification of name, value, type triples.  Meant to
primarily help in-house, pipeline processing of instances by
providing a place for values that are not part of the
specification proper.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:NameValueType" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_appliedSoftwareType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The underlying software.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Software_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_databaseContactType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Contacts associated with this database, such as hosting
institution, database curators, manager etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ContactRole" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_materialCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of all Material objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:MaterialCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_conceptualMoleculeCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of ConceptualMolecules
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ConceptualMoleculeCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_referenceAbleCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of BibliographicReferences and Databases.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ReferenceableCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_investigationCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The collection of Investigation and Factor objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:InvestigationCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_dataCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete collection of all Data, Dimension and
HigherLevelAnalysis objects.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:DataCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_auditCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The collection of Audit objects (Security, SecurityGroup and
Contacts).
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:AuditCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of Protocol, Equipment, Software and
ProtocolApplication objects in the FuGE document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:ProtocolCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_ontologyCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The complete set of OntologyIndividual objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:OntologyCollection"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_speciesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The organism from which this sequence was obtained.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_typeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The type of Sequence, e.g. gene, exon, UniGene cluster,
fragment, BAC, EST, etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_polymerTypeType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A choice of protein, RNA, or DNA.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_databaseReferencesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
References to entries in databases.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:DatabaseEntry" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_bibliographicReferencesType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
References to existing literature.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="BibliographicReference_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_contentType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The instance(s) of the child Individual restriction on the
Parent Individual
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyIndividual_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_protocolReferenceType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
ProtocolReference,as the name implies, is a reference to an
existing Protocol. It is used to tie together Protocols into
complex procedures. For example a "cDNA synthesis" protocol may
be broken down into two distinct phases, with the first and
second round having distinct default values for common
parameters, or defining different sets of parameters, etc.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_investigationsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The set of Investigations.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Investigation" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_factorCollectionType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Reference to the complete set of Factor objects in the FuGE
document.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="fuge:Factor" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_genericInputMaterialsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Measured sources of material that are inputs to this
GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_inputMaterialsType">
				<xsd:sequence>
					<xsd:element ref="fuge:GenericMaterialMeasurement" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericInputDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The instances of GenericData that are inputs to the
GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_inputDataType">
				<xsd:sequence>
					<xsd:element name="Data_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericOutputDataType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The Data produced from the GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_outputDataType">
				<xsd:sequence>
					<xsd:element name="Data_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericOutputMaterialsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The instances of GenericMaterial or a subclass of Material that
are produced from the GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="fuge:_outputMaterialsType">
				<xsd:sequence>
					<xsd:element name="Material_ref" maxOccurs="unbounded">
						<xsd:complexType>
							<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
						</xsd:complexType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="_genericProtocolType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
A reference to the GenericProtocol or subclass of Protocol that
has been used with this GenericProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Protocol_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_measuredMaterialType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Material that is being measured as the source for a
ProtocolApplication.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence/>
	</xsd:complexType>
	<xsd:complexType name="_measurementType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
The value of the measured source of material.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_dataPartitionsType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Represents a segmentation of the data by indexing existing
DimensionElements of a Data.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DataPartition_ref" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_valueType" abstract="false">
		<xsd:annotation>
			<xsd:documentation>
				<p>
Allows a value to be specified for a FactorValue using an
ontology.
</p>
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OntologyTerm_ref">
				<xsd:complexType>
					<xsd:attribute name="identifier_ref" type="xsd:string" use="required"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="Description" type="fuge:FuGE.Common.Description.DescriptionType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="DatabaseEntry" type="fuge:FuGE.Common.References.DatabaseEntryType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="InternalData" type="fuge:FuGE.Bio.Data.InternalDataType" abstract="false" substitutionGroup="fuge:Data"/>
	<xsd:element name="Person" type="fuge:FuGE.Common.Audit.PersonType" abstract="false" substitutionGroup="fuge:Contact"/>
	<xsd:element name="OntologyIndividual" type="fuge:FuGE.Common.Ontology.OntologyIndividualType" abstract="false" substitutionGroup="fuge:OntologyTerm"/>
	<xsd:element name="GenericMaterial" type="fuge:FuGE.Bio.Material.GenericMaterialType" abstract="false" substitutionGroup="fuge:Material"/>
	<xsd:element name="GenericSoftware" type="fuge:FuGE.Common.Protocol.GenericSoftwareType" abstract="false" substitutionGroup="fuge:Software"/>
	<xsd:element name="EquipmentApplication" type="fuge:FuGE.Common.Protocol.EquipmentApplicationType" abstract="false" substitutionGroup="fuge:ParameterizableApplication"/>
	<xsd:element name="ConceptualMolecule" type="fuge:FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="ProtocolApplication" type="fuge:FuGE.Common.Protocol.ProtocolApplicationType" abstract="true" substitutionGroup="fuge:ParameterizableApplication"/>
	<xsd:element name="Material" type="fuge:FuGE.Bio.Material.MaterialType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Factor" type="fuge:FuGE.Bio.Investigation.FactorType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Investigation" type="fuge:FuGE.Bio.Investigation.InvestigationType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="NameValueType" type="fuge:FuGE.Common.NameValueTypeType" abstract="false"/>
	<xsd:element name="GenericMaterialMeasurement" type="fuge:FuGE.Bio.Material.GenericMaterialMeasurementType" abstract="false" substitutionGroup="fuge:MaterialMeasurement"/>
	<xsd:element name="ParameterizableApplication" type="fuge:FuGE.Common.Protocol.ParameterizableApplicationType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Equipment" type="fuge:FuGE.Common.Protocol.EquipmentType" abstract="true" substitutionGroup="fuge:Parameterizable"/>
	<xsd:element name="Dimension" type="fuge:FuGE.Bio.Data.DimensionType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="ReferenceableCollection" type="fuge:FuGE.Collection.ReferenceableCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="Data" type="fuge:FuGE.Bio.Data.DataType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="AuditCollection" type="fuge:FuGE.Collection.AuditCollectionType" abstract="false"/>
	<xsd:element name="Audit" type="fuge:FuGE.Common.Audit.AuditType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="DataCollection" type="fuge:FuGE.Collection.DataCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="InvestigationComponent" type="fuge:FuGE.Bio.Investigation.InvestigationComponentType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="SecurityAccess" type="fuge:FuGE.Common.Audit.SecurityAccessType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="OntologyCollection" type="fuge:FuGE.Collection.OntologyCollectionType" abstract="false"/>
	<xsd:element name="Parameterizable" type="fuge:FuGE.Common.Protocol.ParameterizableType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="GenericParameter" type="fuge:FuGE.Common.Protocol.GenericParameterType" abstract="false" substitutionGroup="fuge:Parameter"/>
	<xsd:element name="Sequence" type="fuge:FuGE.Bio.ConceptualMolecule.SequenceType" abstract="false" substitutionGroup="fuge:ConceptualMolecule"/>
	<xsd:element name="DataPartition" type="fuge:FuGE.Bio.Data.DataPartitionType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="HigherLevelAnalysis" type="fuge:FuGE.Bio.Investigation.HigherLevelAnalysisType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="ParameterValue" type="fuge:FuGE.Common.Protocol.ParameterValueType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="DimensionElement" type="fuge:FuGE.Bio.Data.DimensionElementType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="ContactRole" type="fuge:FuGE.Common.Audit.ContactRoleType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="ExternalData" type="fuge:FuGE.Bio.Data.ExternalDataType" abstract="false" substitutionGroup="fuge:Data"/>
	<xsd:element name="ConceptualMoleculeCollection" type="fuge:FuGE.Collection.ConceptualMoleculeCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="URI" type="fuge:FuGE.Common.Description.URIType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="PartitionPair" type="fuge:FuGE.Bio.Data.PartitionPairType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="Protocol" type="fuge:FuGE.Common.Protocol.ProtocolType" abstract="true" substitutionGroup="fuge:Parameterizable"/>
	<xsd:element name="GenericProtocol" type="fuge:FuGE.Common.Protocol.GenericProtocolType" abstract="false" substitutionGroup="fuge:Protocol"/>
	<xsd:element name="Organization" type="fuge:FuGE.Common.Audit.OrganizationType" abstract="false" substitutionGroup="fuge:Contact"/>
	<xsd:element name="GenericAction" type="fuge:FuGE.Common.Protocol.GenericActionType" abstract="false" substitutionGroup="fuge:Action"/>
	<xsd:element name="DataProperty" type="fuge:FuGE.Common.Ontology.DataPropertyType" abstract="false" substitutionGroup="fuge:OntologyProperty"/>
	<xsd:element name="OntologyProperty" type="fuge:FuGE.Common.Ontology.OntologyPropertyType" abstract="true" substitutionGroup="fuge:OntologyTerm"/>
	<xsd:element name="MaterialCollection" type="fuge:FuGE.Collection.MaterialCollectionType" abstract="false"/>
	<xsd:element name="ProtocolCollection" type="fuge:FuGE.Collection.ProtocolCollectionType" abstract="false"/>
	<xsd:element name="GenericEquipment" type="fuge:FuGE.Common.Protocol.GenericEquipmentType" abstract="false" substitutionGroup="fuge:Equipment"/>
	<xsd:element name="SecurityGroup" type="fuge:FuGE.Common.Audit.SecurityGroupType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="OntologyTerm" type="fuge:FuGE.Common.Ontology.OntologyTermType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Software" type="fuge:FuGE.Common.Protocol.SoftwareType" abstract="true" substitutionGroup="fuge:Parameterizable"/>
	<xsd:element name="ActionApplication" type="fuge:FuGE.Common.Protocol.ActionApplicationType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="BibliographicReference" type="fuge:FuGE.Common.References.BibliographicReferenceType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Security" type="fuge:FuGE.Common.Audit.SecurityType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Parameter" type="fuge:FuGE.Common.Protocol.ParameterType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Describable" type="fuge:FuGE.Common.DescribableType" abstract="true"/>
	<xsd:element name="SoftwareApplication" type="fuge:FuGE.Common.Protocol.SoftwareApplicationType" abstract="false" substitutionGroup="fuge:ParameterizableApplication"/>
	<xsd:element name="Database" type="fuge:FuGE.Common.References.DatabaseType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="FuGE" type="fuge:FuGE.FuGEType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="SequenceAnnotation" type="fuge:FuGE.Bio.ConceptualMolecule.SequenceAnnotationType" abstract="false" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Identifiable" type="fuge:FuGE.Common.IdentifiableType" abstract="true" substitutionGroup="fuge:Describable"/>
	<xsd:element name="ObjectProperty" type="fuge:FuGE.Common.Ontology.ObjectPropertyType" abstract="false" substitutionGroup="fuge:OntologyProperty"/>
	<xsd:element name="Contact" type="fuge:FuGE.Common.Audit.ContactType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="Action" type="fuge:FuGE.Common.Protocol.ActionType" abstract="true" substitutionGroup="fuge:Identifiable"/>
	<xsd:element name="InvestigationCollection" type="fuge:FuGE.Collection.InvestigationCollectionType" abstract="false"/>
	<xsd:element name="GenericProtocolApplication" type="fuge:FuGE.Common.Protocol.GenericProtocolApplicationType" abstract="false" substitutionGroup="fuge:ProtocolApplication"/>
	<xsd:element name="MaterialMeasurement" type="fuge:FuGE.Bio.Material.MaterialMeasurementType" abstract="true" substitutionGroup="fuge:Describable"/>
	<xsd:element name="FactorValue" type="fuge:FuGE.Bio.Investigation.FactorValueType" abstract="false" substitutionGroup="fuge:Describable"/>
	<xsd:element name="_database" type="fuge:_databaseType"/>
	<xsd:element name="_affiliations" type="fuge:_affiliationsType"/>
	<xsd:element name="_properties" type="fuge:_propertiesType"/>
	<xsd:element name="_softwareParameters" type="fuge:_softwareParametersType"/>
	<xsd:element name="_appliedEquipment" type="fuge:_appliedEquipmentType"/>
	<xsd:element name="_outputData" type="fuge:_outputDataType"/>
	<xsd:element name="_inputData" type="fuge:_inputDataType"/>
	<xsd:element name="_partitionPairs" type="fuge:_partitionPairsType"/>
	<xsd:element name="_outputMaterials" type="fuge:_outputMaterialsType"/>
	<xsd:element name="_inputMaterials" type="fuge:_inputMaterialsType"/>
	<xsd:element name="_protocol" type="fuge:_protocolType"/>
	<xsd:element name="_actionApplications" type="fuge:_actionApplicationsType"/>
	<xsd:element name="_softwareApplications" type="fuge:_softwareApplicationsType"/>
	<xsd:element name="_equipmentApplications" type="fuge:_equipmentApplicationsType"/>
	<xsd:element name="_protocolDeviation" type="fuge:_protocolDeviationType"/>
	<xsd:element name="_performers" type="fuge:_performersType"/>
	<xsd:element name="_inputCompleteMaterials" type="fuge:_inputCompleteMaterialsType"/>
	<xsd:element name="_components" type="fuge:_componentsType"/>
	<xsd:element name="_contacts" type="fuge:_contactsType"/>
	<xsd:element name="_materialType" type="fuge:_materialTypeType"/>
	<xsd:element name="_characteristics" type="fuge:_characteristicsType"/>
	<xsd:element name="_qualityControlStatistics" type="fuge:_qualityControlStatisticsType"/>
	<xsd:element name="_factorValues" type="fuge:_factorValuesType"/>
	<xsd:element name="_factorCategory" type="fuge:_factorCategoryType"/>
	<xsd:element name="_investigationComponents" type="fuge:_investigationComponentsType"/>
	<xsd:element name="_providers" type="fuge:_providersType"/>
	<xsd:element name="_summaryResults" type="fuge:_summaryResultsType"/>
	<xsd:element name="_sourceMaterials" type="fuge:_sourceMaterialsType"/>
	<xsd:element name="_investigationTypes" type="fuge:_investigationTypesType"/>
	<xsd:element name="_genericMeasureMaterial" type="fuge:_genericMeasureMaterialType"/>
	<xsd:element name="_parameterValues" type="fuge:_parameterValuesType"/>
	<xsd:element name="_softwares" type="fuge:_softwaresType"/>
	<xsd:element name="_equipmentParts" type="fuge:_equipmentPartsType"/>
	<xsd:element name="_model" type="fuge:_modelType"/>
	<xsd:element name="_make" type="fuge:_makeType"/>
	<xsd:element name="_dimensionElements" type="fuge:_dimensionElementsType"/>
	<xsd:element name="_dimensionType" type="fuge:_dimensionTypeType"/>
	<xsd:element name="_allBibliographicReferences" type="fuge:_allBibliographicReferencesType"/>
	<xsd:element name="_databases" type="fuge:_databasesType"/>
	<xsd:element name="_dimension" type="fuge:_dimensionType"/>
	<xsd:element name="_securityCollection" type="fuge:_securityCollectionType"/>
	<xsd:element name="_allContacts" type="fuge:_allContactsType"/>
	<xsd:element name="_securityGroups" type="fuge:_securityGroupsType"/>
	<xsd:element name="_performer" type="fuge:_performerType"/>
	<xsd:element name="_allDimensions" type="fuge:_allDimensionsType"/>
	<xsd:element name="_higherLevelAnalyses" type="fuge:_higherLevelAnalysesType"/>
	<xsd:element name="_allData" type="fuge:_allDataType"/>
	<xsd:element name="_allDataPartitions" type="fuge:_allDataPartitionsType"/>
	<xsd:element name="_factors" type="fuge:_factorsType"/>
	<xsd:element name="_replicateDescription" type="fuge:_replicateDescriptionType"/>
	<xsd:element name="_qualityControlDescription" type="fuge:_qualityControlDescriptionType"/>
	<xsd:element name="_normalizationDescription" type="fuge:_normalizationDescriptionType"/>
	<xsd:element name="_allProtocolApplications" type="fuge:_allProtocolApplicationsType"/>
	<xsd:element name="_componentDesignTypes" type="fuge:_componentDesignTypesType"/>
	<xsd:element name="_accessGroup" type="fuge:_accessGroupType"/>
	<xsd:element name="_accessRight" type="fuge:_accessRightType"/>
	<xsd:element name="_ontologyTerms" type="fuge:_ontologyTermsType"/>
	<xsd:element name="_provider" type="fuge:_providerType"/>
	<xsd:element name="_parameterizableTypes" type="fuge:_parameterizableTypesType"/>
	<xsd:element name="_parameters" type="fuge:_parametersType"/>
	<xsd:element name="_sequenceAnnotations" type="fuge:_sequenceAnnotationsType"/>
	<xsd:element name="_dimensionElementSet" type="fuge:_dimensionElementSetType"/>
	<xsd:element name="_partitionedData" type="fuge:_partitionedDataType"/>
	<xsd:element name="_supportingData" type="fuge:_supportingDataType"/>
	<xsd:element name="_parameter" type="fuge:_parameterType"/>
	<xsd:element name="_parameterValue" type="fuge:_parameterValueType"/>
	<xsd:element name="_contact" type="fuge:_contactType"/>
	<xsd:element name="_role" type="fuge:_roleType"/>
	<xsd:element name="_externalFormatDocumentation" type="fuge:_externalFormatDocumentationType"/>
	<xsd:element name="_fileFormat" type="fuge:_fileFormatType"/>
	<xsd:element name="_conceptualMolecules" type="fuge:_conceptualMoleculesType"/>
	<xsd:element name="_allSequenceAnnotations" type="fuge:_allSequenceAnnotationsType"/>
	<xsd:element name="_partitionPairAlgorithm" type="fuge:_partitionPairAlgorithmType"/>
	<xsd:element name="_inputPartitions" type="fuge:_inputPartitionsType"/>
	<xsd:element name="_outputPartitions" type="fuge:_outputPartitionsType"/>
	<xsd:element name="_actions" type="fuge:_actionsType"/>
	<xsd:element name="_protocolEquipment" type="fuge:_protocolEquipmentType"/>
	<xsd:element name="_software" type="fuge:_softwareType"/>
	<xsd:element name="_inputTypes" type="fuge:_inputTypesType"/>
	<xsd:element name="_outputTypes" type="fuge:_outputTypesType"/>
	<xsd:element name="_genericActions" type="fuge:_genericActionsType"/>
	<xsd:element name="_genericSoftware" type="fuge:_genericSoftwareType"/>
	<xsd:element name="_genericEquipment" type="fuge:_genericEquipmentType"/>
	<xsd:element name="_protocolParameters" type="fuge:_protocolParametersType"/>
	<xsd:element name="_parent" type="fuge:_parentType"/>
	<xsd:element name="_actionTerm" type="fuge:_actionTermType"/>
	<xsd:element name="_genericProtocolReference" type="fuge:_genericProtocolReferenceType"/>
	<xsd:element name="_materials" type="fuge:_materials