<?xml version="1.0" encoding="utf-8"?>
<!-- ******************************************************************** -->
<!--                                                                      -->
<!-- TITLE:  Data Reference Model (DRM) Schema - DRAFT                    -->
<!-- DATE: Monday, June 27, 2005                      -->
<!-- VERSION:  0.2                                                        -->
<!--                                                                      -->
<!-- ******************************************************************** -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://egov.gov/fea" xmlns:drm="http://egov.gov/fea" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ddms="http://metadata.dod.mil/mdr/ns/DDMS/1.2/" xmlns:ism="urn:us:gov:ic:ism:v2">
<!-- EXTERNAL SCHEMA IMPORTS -->

<!-- DUBLIN CORE -->
<xsd:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd" />

<!-- W3C RESOURCE DESCRIPTION FRAMEWORK (RDF) -->
<xsd:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" schemaLocation="rdf.xsd" />

<!-- W3C XML -->
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd" />

<!-- DDMS (DoD Discovery Metadata Standard) -->
<xsd:import namespace="http://metadata.dod.mil/mdr/ns/DDMS/1.2/" schemaLocation="DDMS-v1_2.xsd" />

<!-- IC ISM (Intelligency Community Information Security Markings) -->
<xsd:import namespace="urn:us:gov:ic:ism:v2" schemaLocation="IC-ISM-v2.xsd" />

<!-- ELEMENT, ATTRIBUTE, AND TYPE DEFINITIONS -->

<xsd:element name="DataReferenceModel" type ="drm:DataReferenceModelType">
	<xsd:annotation>
		<xsd:documentation>
			Root node of the DRM XML instance document.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="SubmissionMetadata" type ="drm:SubmissionMetadataType">
	<xsd:annotation>
		<xsd:documentation>
			Container for all metadata related to one particular instance of a DRM submission.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataDescription" type ="drm:DataDescriptionType">
	<xsd:annotation>
		<xsd:documentation>
			This element implements the "data description" portion of the DRM meta-model.  It provides a standard means for agencies to describe their data and data assets clearly, concisely, and unambiguously.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Data" type ="drm:DataType">
	<xsd:annotation>
		<xsd:documentation>
			This element contains definitions for structured, semi-structured, and unstructured data.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="StructuredData" type ="drm:StructuredDataType">
	<xsd:annotation>
		<xsd:documentation>
			Data described via the E-R (Entity-Relationship) or class model.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Entities" type ="drm:EntitiesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of entities.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Entity" type ="drm:EntityType">
	<xsd:annotation>
		<xsd:documentation>
			A named template used to describe a population of items with common characteristics. Like the set of persons, places or things.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ResourceRefs" type ="drm:ResourceRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of ResourceRefs.  A ResourceRef links an object with a related resource.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ResourceRef" type ="drm:ResourceRefType">
	<xsd:annotation>
		<xsd:documentation>
			This element points back to a related resource.  It is used primarily to elaborate on a relationship between an Entity (or ExternalEntityRef) and a resource that aggregates instances of that entity.  For example, a spreadsheet (Resource) that lists employee (Entity) information.  It can also be used to link together two resources. It contains two attributes:  type and rdf:idref. Type is generally "partOf".  rdf:idref points back to the Resource's unique identifier.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataAssetRefs" type ="drm:DataAssetRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A list of data asset references.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Attributes" type ="drm:AttributesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of characteristics that describe the entity (e.g., "first_name", "last_name", etc.).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Attribute" type ="drm:AttributeType">
	<xsd:annotation>
		<xsd:documentation>
			A property belonging to an entity (e.g., "first_name", "last_name", etc.).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Relationships" type ="drm:RelationshipsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of relationships (associations) between entities.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Relationship" type ="drm:RelationshipType">
	<xsd:annotation>
		<xsd:documentation>
			An association between two entities.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="RelationshipTarget" type ="drm:RelationshipTargetType">
	<xsd:annotation>
		<xsd:documentation>
			In a relationship between two entities, this element is used to describe the target entity.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataAssetRef" type ="drm:DataAssetRefType">
	<xsd:annotation>
		<xsd:documentation>
			A pointer to the unique ID of the associated data asset, either in the DRM instance (rdf:id) or in an external DRM instance (DRM_Instance_URI#rdf:id).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalEntitiesRefs" type ="drm:ExternalEntitiesRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of ExternalEntitiesRefs.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalEntitiesRef" type ="drm:ExternalEntitiesRefType">
	<xsd:annotation>
		<xsd:documentation>
			Points to an entity (or collection of entities, e.g. a logical data model) defined externally using XMI, OWL, XSD, or other suitable standard. "Suitable" includes: 

1. An open, widely implemented standard, available free-of-charge and unencumbered by royalty or patent claims, or a standard implemented by a government agency
2. A well-documented, durable standard (i.e., under version/change control, backward compatibility, etc.)
3. Provides semantics for modeling, at a minimum, entities, attributes, types, and relationships.
4. Provides semantics for assigning an identifier per element that is guaranteed unique within the particular schema.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="UnstructuredData" type ="drm:UnstructuredDataType">
	<xsd:annotation>
		<xsd:documentation>
			Data that are not described according to an E-R model, but is rather of a more free-form format, such as multimedia files or unstructured text.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalResourcesRefs" type ="drm:ExternalResourcesRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of ExternalResourcesRefs.  These objects are pointers to external files that aggregate unstructured or semistructured resources (e.g., RSS feeds).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalResourcesRef" type ="drm:ExternalResourcesRefType">
	<xsd:annotation>
		<xsd:documentation>
			Points to a URI of a model that aggregates metadata about unstructured or semi-structured resources. Normally points to a RSS, DDMS, or Atom file.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Resources" type ="drm:ResourcesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of resources.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Resource" type ="drm:ResourceType">
	<xsd:annotation>
		<xsd:documentation>
			Encapsulates a single "page view" of unstructured or semi-structured data, referenceable via a URI. This element aggregates numerous sub-elements, mostly metadata tags reused from the Dublin Core 1.1 set.

In some cases, Dublin Core metadata will be embedded in the actual resource itself.  In this case, there is no need to repeat the metadata in the DRM instance.  The Resource element can point to the actual resource itself, populating the rdf:id attribute with the resource's URI.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="SemiStructuredData" type ="drm:SemiStructuredDataType">
	<xsd:annotation>
		<xsd:documentation>
			Data that have characteristics of both structured and unstructured data.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataAssets" type ="drm:DataAssetsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of data assets.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataAsset" type ="drm:DataAssetType">
	<xsd:annotation>
		<xsd:documentation>
			An aggregated, managed container. A database, system, application, or other electronic entity that produces and/or houses data.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="FIPS199PotentialImpactLevels" type ="drm:FIPS199PotentialImpactLevelsType">
	<xsd:annotation>
		<xsd:documentation>
			FIPS 199 potential impact levels.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataSharing" type ="drm:DataSharingType">
	<xsd:annotation>
		<xsd:documentation>
			The element contains the data sharing portion of the FEA DRM meta-model.  It includes syntax for modeling exchange packages and access points. It provides a standard means for describing interagency data exchanges and data sharing capabilities.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExchangePackages" type ="drm:ExchangePackagesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of exchange packages.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExchangePackage" type ="drm:ExchangePackageType">
	<xsd:annotation>
		<xsd:documentation>
			A description of a specific information exchange between organizations.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Sender" type ="drm:SenderType">
	<xsd:annotation>
		<xsd:documentation>
			A URI representing a sender of a message.  Depending on the value of @senderType below, this URI can represent either an information record (e.g. contact info) or a service endpoint (e.g., a web service URL or email address).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Recipient" type ="drm:RecipientType">
	<xsd:annotation>
		<xsd:documentation>
			A URI representing a recipient of a message.  Depending on the value of @recipientType below, this URI can represent either an information record (e.g. contact info) or a service endpoint (e.g., a web service URL or email address).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="PayloadRef" type ="drm:PayloadRefType">
	<xsd:annotation>
		<xsd:documentation>
			This element points to an XML artifact that defines/implements the actual message type exchanged between the sender and receiver.  This will typically be in the form of a W3C XML Schema (XSD) file.  In other scenarios, this might point to a WSDL (Web Services Description Language) file, or a file describing another type of messaging standard, such as EXDL (Emergency Data Exchange Language).
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExchangeFrequency" type ="drm:ExchangeFrequencyType">
	<xsd:annotation>
		<xsd:documentation>
			Frequencies per unit this exchange is estimated to occur.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="EntityRefs" type ="drm:EntityRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of entity references.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="EntityRef" type ="drm:EntityRefType">
	<xsd:annotation>
		<xsd:documentation>
			Associates the ExchangePackage with one or more entities defined in the "StructuredData" section of a DRM instance.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalExchangePackageRef" type ="drm:ExternalExchangePackageRefType">
	<xsd:annotation>
		<xsd:documentation>
			Points to data sharing service interfaces created using an approved standard.  For a standard to be approved, it must be:
 
1.  An open, widely implemented standard, available free-of-charge and unencumbered by royalty or patent claims, or a standard implemented by a government agency
2.  A well-documented, durable standard (i.e., under version/change control, well-documented, backward compatibility, etc.)
3.  Provides semantics for modeling, at a minimum, service inputs and outputs/payloads, service protocol, and service endpoints.
4.  Provides semantics for assigning an identifier per element that is guaranteed unique within the particular model.
 
Candidate standards for implementing data exchange services include WSDL.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="QueryPoints" type ="drm:QueryPointsType">
	<xsd:annotation>
		<xsd:documentation>
			A description of the requirements for electronic access to a data asset and its data.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="QueryPoint" type ="drm:QueryPointType">
	<xsd:annotation>
		<xsd:documentation>
			An endpoint (network or otherwise) providing an interface for querying a data asset.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ResultFormat" type ="drm:ResultFormatType">
	<xsd:annotation>
		<xsd:documentation>
			The format of the payload returned by the access point in response to a query.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Security" type ="drm:SecurityType">
	<xsd:annotation>
		<xsd:documentation>
			A container categorizing security-related information.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="QualityOfService" type ="drm:QualityOfServiceType">
	<xsd:annotation>
		<xsd:documentation>
			Quality-of-service (QoS)-related information.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataContext" type ="drm:DataContextType">
	<xsd:annotation>
		<xsd:documentation>
			A container for elements that implement the data context portion of the DRM meta-model.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Taxonomies" type ="drm:TaxonomiesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of taxonomies.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Taxonomy" type ="drm:TaxonomyType">
	<xsd:annotation>
		<xsd:documentation>
			An information model (typically hierarchical) that defines the scope of a knowledge domain.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalTaxonomyRefs" type ="drm:ExternalTaxonomyRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of ExternalTaxonomyRefs
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="ExternalTaxonomyRef" type ="drm:ExternalTaxonomyRefType">
	<xsd:annotation>
		<xsd:documentation>
			Points to subject taxonomies created using an approved standard.  For a standard to be approved, it must be:
 
1.  An open, widely implemented standard, available free-of-charge and unencumbered by royalty or patent claims, or a standard implemented by a government agency
2.  A well-documented, durable standard (i.e., under version/change control, well-documented, backward compatibility, etc.)
3.  Provides semantics for modeling, at a minimum, taxonomy/thesaurus nodes/terms and relationships between taxonomy nodes/terms (generic, whole-part, equivalence, associative).
4.  Provides semantics for assigning an identifier per element that is guaranteed unique within the particular model.
 
Candidate standards for implementing data exchange services include:
 
1. XTM (XML topic maps)
2. NASA taxonomy Format (http://nasataxonomy.jpl.nasa.gov/xml.htm)
3. MeSH taxonomy Format (http://www.nlm.nih.gov/mesh/xmlmesh.html)
4. UDDI tModel (http://uddi.org/taxonomies/UDDI_Registry_tModels.htm)
5. XBRL taxonomy (http://www.xbrl.org/Taxonomies/)
6. Simple Knowledge Organisation System (SKOS) (http://www.w3.org/2004/02/skos/)
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Nodes" type ="drm:NodesType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of taxonomy nodes.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Node" type ="drm:NodeType">
	<xsd:annotation>
		<xsd:documentation>
			A node in a taxonomy.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="NodeRefs" type ="drm:NodeRefsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of NodeRefs. NodeRefs are pointers from an object to a taxonomy node.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="NodeRef" type ="drm:NodeRefType">
	<xsd:annotation>
		<xsd:documentation>
			A link to a taxonomy node. The unique ID of the target taxonomy node is documented in the rdf:idref attribute.  The type attribute specifies the nature of the relationship, e.g. "partOf", "instanceOf", or "subclassOf". This element can be used by the following elements to link to a taxonomy node:

1.  Entity
2. Resource
3.  DataSource
4.  ExchangePackage
5.  Another taxonomy node
6.  External references to any of the above.
7.  Attribute:  When used with an attribute, a NodeRef typically points to a taxonomy node containing a Terms collection providing a "controlled vocabulary" to constrain values populating instances of the attribute.

For web pages that need to point to a DRM taxonomy node in an inline fashion, standard HTML META tags can be used.  For example:

&lt;meta name="drm:NodeRef" content="http://cosine.cim3.net/file/work/DRM/data_dictionary/examples/DRM_Instance_Example_OJP_IT.xml#182 /&gt;
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Terms" type ="drm:TermsType">
	<xsd:annotation>
		<xsd:documentation>
			A collection of keywords and/or keyphrases associated with this taxonomy node.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="NodeChildren" type ="drm:NodeChildrenType">
	<xsd:annotation>
		<xsd:documentation>
			A list of node children.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="FEAMapping" type ="drm:FEAMappingType">
	<xsd:annotation>
		<xsd:documentation>
			A container for elements that map taxonomy nodes in a DRM instance to FEA reference model elements.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="FEAReferenceModelMap" type ="drm:FEAReferenceModelMapType">
	<xsd:annotation>
		<xsd:documentation>
			Documents a specific link from an element in this DRM instance (usually a taxonomy node) to a unique element in a particular FEA reference model as defined in the FEA-RMO ontology, which is found at http://colab.cim3.net/file/work/SICoP/project/fea-rmo/fea-rmo.html.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="DataStandards" type ="drm:DataStandardsType">
	<xsd:annotation>
		<xsd:documentation>
			DataStandard: A list of standards.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:element name="Standard" type ="drm:StandardType">
	<xsd:annotation>
		<xsd:documentation>
			A standard that applies to this DRM submission. If a well-known, widely-implemented standard, this can be the URI to the authoritative documentation for this standard.  Otherwise, it should be the URI pointing to a XSLT stylesheet that transforms a document conforming to the standard in question to the equivalent DRM XML syntax.
		</xsd:documentation>
	</xsd:annotation>
</xsd:element>

<xsd:complexType name="DataReferenceModelType">
<xsd:all>
	<xsd:element ref="drm:SubmissionMetadata"   />
	<xsd:element ref="drm:DataDescription"  minOccurs="0" />
	<xsd:element ref="drm:DataSharing"  minOccurs="0" />
	<xsd:element ref="drm:DataContext"  minOccurs="0" />
</xsd:all>
	<xsd:attribute ref="xml:base" use="optional" />
	<xsd:attributeGroup ref="ism:SecurityAttributesGroup" />
</xsd:complexType>

<xsd:complexType name="SubmissionMetadataType">
<xsd:sequence>
	<xsd:element ref="drm:SubmittingAgency"   />
	<xsd:element ref="drm:SubmissionDate"   />
	<xsd:element ref="drm:SubmissionVersion"  minOccurs="0" />
	<xsd:element ref="dc:Title"  minOccurs="0" />
	<xsd:element ref="dc:Identifier"  minOccurs="0" />
	<xsd:element ref="dc:Description"  minOccurs="0" />
	<xsd:element ref="dc:Subject"  minOccurs="0" />
	<xsd:element ref="drm:PointOfContact" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="DataDescriptionType">
<xsd:all>
	<xsd:element ref="drm:Data"   />
	<xsd:element ref="drm:DataAssets"   />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="DataType">
<xsd:all>
	<xsd:element ref="drm:StructuredData"  minOccurs="0" />
	<xsd:element ref="drm:UnstructuredData"  minOccurs="0" />
	<xsd:element ref="drm:SemiStructuredData"  minOccurs="0" />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="StructuredDataType">
<xsd:all>
	<xsd:element ref="drm:Entities"  minOccurs="0" />
	<xsd:element ref="drm:ExternalEntitiesRefs"  minOccurs="0" />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="EntitiesType">
<xsd:sequence>
	<xsd:element ref="drm:Entity" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="EntityType">
<xsd:all>
	<xsd:element ref="drm:ResourceRefs"  minOccurs="0" />
	<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
	<xsd:element ref="drm:Attributes"   />
	<xsd:element ref="drm:Relationships"  minOccurs="0" />
	<xsd:element ref="drm:Definition"  minOccurs="0" />
	<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
	<xsd:attribute ref="rdf:ID" use="required" />
	<xsd:attribute ref="drm:name" use="required" />
</xsd:complexType>

<xsd:complexType name="ResourceRefsType">
<xsd:sequence>
	<xsd:element ref="drm:ResourceRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ResourceRefType">
		<xsd:attribute ref="drm:type" use="required" />
		<xsd:attribute ref="rdf:resource" use="required" />
</xsd:complexType>

<xsd:complexType name="DataAssetRefsType">
<xsd:sequence>
		<xsd:element ref="drm:DataAssetRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AttributesType">
<xsd:sequence>
		<xsd:element ref="drm:Attribute" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AttributeType">
<xsd:all>
		<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
		<xsd:element ref="drm:Definition"  minOccurs="0" />
		<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
		<xsd:element ref="drm:Terms"  minOccurs="0" />
</xsd:all>
		<xsd:attribute ref="drm:keyType" use="optional" />
		<xsd:attribute ref="drm:name" use="required" />
		<xsd:attribute ref="drm:datatype" use="required" />
</xsd:complexType>

<xsd:complexType name="RelationshipsType">
<xsd:sequence>
		<xsd:element ref="drm:Relationship" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RelationshipType">
<xsd:all>
		<xsd:element ref="drm:RelationshipTarget"   />
</xsd:all>
		<xsd:attribute ref="drm:name" use="required" />
		<xsd:attribute ref="drm:key" use="required" />
		<xsd:attribute ref="drm:cardinality" use="required" />
</xsd:complexType>

<xsd:complexType name="RelationshipTargetType">
			<xsd:attribute ref="rdf:resource" use="required" />
			<xsd:attribute ref="drm:key" use="required" />
			<xsd:attribute ref="drm:cardinality" use="required" />
</xsd:complexType>

<xsd:complexType name="DataAssetRefType">
				<xsd:attribute ref="drm:authoritativeSource" use="optional" />
				<xsd:attribute ref="rdf:resource" use="required" />
</xsd:complexType>

<xsd:complexType name="ExternalEntitiesRefsType">
<xsd:sequence>
				<xsd:element ref="drm:ExternalEntitiesRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ExternalEntitiesRefType">
<xsd:all>
				<xsd:element ref="drm:ResourceRefs"  minOccurs="0" />
				<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
				<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
				<xsd:attribute ref="rdf:ID" use="required" />
				<xsd:attribute ref="drm:href" use="required" />
				<xsd:attribute ref="drm:representationFormat" use="required" />
</xsd:complexType>

<xsd:complexType name="UnstructuredDataType">
<xsd:all>
				<xsd:element ref="drm:ExternalResourcesRefs"  minOccurs="0" />
				<xsd:element ref="drm:Resources"   />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="ExternalResourcesRefsType">
<xsd:sequence>
				<xsd:element ref="drm:ExternalResourcesRef" maxOccurs="unbounded" minOccurs="0" />
				<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ExternalResourcesRefType">
<xsd:all>
				<xsd:element ref="drm:ResourceRefs"  minOccurs="0" />
				<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
</xsd:all>
				<xsd:attribute ref="rdf:ID" use="required" />
				<xsd:attribute ref="drm:href" use="required" />
				<xsd:attribute ref="drm:representationFormat" use="required" />
</xsd:complexType>

<xsd:complexType name="ResourcesType">
<xsd:sequence>
				<xsd:element ref="drm:Resource" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ResourceType">
<xsd:all>
				<xsd:element ref="drm:ResourceRefs"  minOccurs="0" />
				<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
				<xsd:element ref="ddms:geospatialCoverage"  minOccurs="0" />
				<xsd:element ref="dc:Title"  minOccurs="0" />
				<xsd:element ref="dc:Identifier"  minOccurs="0" />
				<xsd:element ref="dc:Date"  minOccurs="0" />
				<xsd:element ref="dc:Creator"  minOccurs="0" />
				<xsd:element ref="dc:Format"  minOccurs="0" />
				<xsd:element ref="dc:Description"  minOccurs="0" />
				<xsd:element ref="dc:Source"  minOccurs="0" />
				<xsd:element ref="dc:Subject"  minOccurs="0" />
				<xsd:element ref="dc:Type"  minOccurs="0" />
				<xsd:element ref="dc:Publisher"  minOccurs="0" />
				<xsd:element ref="dc:Contributor"  minOccurs="0" />
				<xsd:element ref="dc:Language"  minOccurs="0" />
				<xsd:element ref="dc:Relation"  minOccurs="0" />
				<xsd:element ref="dc:Coverage"  minOccurs="0" />
				<xsd:element ref="dc:Rights"  minOccurs="0" />
				<xsd:element ref="ddms:temporalCoverage"  minOccurs="0" />
				<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
				<xsd:attribute ref="rdf:ID" use="required" />
</xsd:complexType>

<xsd:complexType name="SemiStructuredDataType">
<xsd:all>
				<xsd:element ref="drm:Entities"  minOccurs="0" />
				<xsd:element ref="drm:ExternalEntitiesRefs"  minOccurs="0" />
				<xsd:element ref="drm:ExternalResourcesRefs"  minOccurs="0" />
				<xsd:element ref="drm:Resources"   />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="DataAssetsType">
<xsd:sequence>
				<xsd:element ref="drm:DataAsset" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="DataAssetType">
<xsd:sequence>
				<xsd:element ref="ddms:geospatialCoverage"  minOccurs="0" />
				<xsd:element ref="drm:OwningAgency"   />
				<xsd:element ref="drm:Steward"   />
				<xsd:element ref="drm:GeospatialEnabled"   />
				<xsd:element ref="drm:SystemOfRecord"  minOccurs="0" />
				<xsd:element ref="drm:DataAssetType"   />
				<xsd:element ref="drm:PointOfContact" maxOccurs="unbounded" minOccurs="0" />
				<xsd:element ref="drm:FIPS199PotentialImpactLevels"   />
				<xsd:element ref="ddms:temporalCoverage"  minOccurs="0" />
				<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:sequence>
				<xsd:attribute ref="rdf:ID" use="required" />
				<xsd:attribute ref="drm:name" use="required" />
				<xsd:attribute ref="drm:href" use="required" />
</xsd:complexType>

<xsd:complexType name="FIPS199PotentialImpactLevelsType">
<xsd:all>
				<xsd:element ref="drm:AvailabilityLevel"   />
				<xsd:element ref="drm:IntegrityLevel"   />
				<xsd:element ref="drm:ConfidentialityLevel"   />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="DataSharingType">
<xsd:all>
				<xsd:element ref="drm:ExchangePackages"   />
				<xsd:element ref="drm:QueryPoints"  minOccurs="0" />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="ExchangePackagesType">
<xsd:sequence>
				<xsd:element ref="drm:ExchangePackage" maxOccurs="unbounded"  />
				<xsd:element ref="drm:ExternalExchangePackageRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ExchangePackageType">
<xsd:all>
				<xsd:element ref="ddms:geospatialCoverage"  minOccurs="0" />
				<xsd:element ref="drm:Sender"   />
				<xsd:element ref="drm:Recipient"   />
				<xsd:element ref="drm:PayloadRef"   />
				<xsd:element ref="drm:PayloadTransport"  minOccurs="0" />
				<xsd:element ref="drm:ExchangeFrequency"  minOccurs="0" />
				<xsd:element ref="drm:TransactionType"   />
				<xsd:element ref="drm:Status"  minOccurs="0" />
				<xsd:element ref="drm:EntityRefs"   />
				<xsd:element ref="ddms:temporalCoverage"  minOccurs="0" />
				<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
				<xsd:attribute ref="rdf:ID" use="required" />
				<xsd:attributeGroup ref="ism:SecurityAttributesGroup" />
</xsd:complexType>

<xsd:complexType name="SenderType">
					<xsd:attribute ref="drm:href" use="required" />
					<xsd:attribute ref="drm:senderType" use="required" />
</xsd:complexType>

<xsd:complexType name="RecipientType">
						<xsd:attribute ref="drm:href" use="required" />
						<xsd:attribute ref="drm:recipientType" use="required" />
</xsd:complexType>

<xsd:complexType name="PayloadRefType">
							<xsd:attribute ref="drm:href" use="required" />
</xsd:complexType>

<xsd:complexType name="ExchangeFrequencyType">
								<xsd:attribute ref="drm:frequency" use="required" />
								<xsd:attribute ref="drm:unit" use="required" />
</xsd:complexType>

<xsd:complexType name="EntityRefsType">
<xsd:sequence>
								<xsd:element ref="drm:EntityRef" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="EntityRefType">
									<xsd:attribute ref="rdf:resource" use="required" />
</xsd:complexType>

<xsd:complexType name="ExternalExchangePackageRefType">
<xsd:all>
									<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
									<xsd:attribute ref="rdf:ID" use="required" />
									<xsd:attribute ref="drm:href" use="required" />
									<xsd:attribute ref="drm:representationFormat" use="required" />
</xsd:complexType>

<xsd:complexType name="QueryPointsType">
<xsd:sequence>
									<xsd:element ref="drm:QueryPoint" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="QueryPointType">
<xsd:all>
									<xsd:element ref="drm:DataAssetRefs"  minOccurs="0" />
									<xsd:element ref="drm:TransactionType"   />
									<xsd:element ref="drm:Status"  minOccurs="0" />
									<xsd:element ref="drm:Endpoint"   />
									<xsd:element ref="drm:QueryLanguage"   />
									<xsd:element ref="drm:ResultFormat"   />
									<xsd:element ref="drm:Security"   />
									<xsd:element ref="drm:QualityOfService"  minOccurs="0" />
</xsd:all>
									<xsd:attribute ref="rdf:ID" use="required" />
									<xsd:attributeGroup ref="ism:SecurityAttributesGroup" />
</xsd:complexType>

<xsd:complexType name="ResultFormatType">
										<xsd:attribute ref="drm:exchangePackageRef" use="required" />
</xsd:complexType>

<xsd:complexType name="SecurityType">
<xsd:all>
										<xsd:element ref="drm:AccessControlProtocol"   />
										<xsd:element ref="drm:Encryption"   />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="QualityOfServiceType">
<xsd:all>
										<xsd:element ref="drm:Latency"  minOccurs="0" />
										<xsd:element ref="drm:ReliableMessaging"  minOccurs="0" />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="DataContextType">
<xsd:all>
										<xsd:element ref="drm:Taxonomies"  minOccurs="0" />
										<xsd:element ref="drm:FEAMapping"  minOccurs="0" />
										<xsd:element ref="drm:DataStandards"  minOccurs="0" />
</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomiesType">
<xsd:sequence>
										<xsd:element ref="drm:Taxonomy" maxOccurs="unbounded"  />
										<xsd:element ref="drm:ExternalTaxonomyRefs"  minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="TaxonomyType">
<xsd:all>
										<xsd:element ref="drm:Nodes"   />
</xsd:all>
										<xsd:attribute ref="rdf:ID" use="required" />
</xsd:complexType>

<xsd:complexType name="ExternalTaxonomyRefsType">
<xsd:sequence>
										<xsd:element ref="drm:ExternalTaxonomyRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ExternalTaxonomyRefType">
<xsd:all>
										<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:all>
										<xsd:attribute ref="rdf:ID" use="required" />
										<xsd:attribute ref="drm:href" use="required" />
										<xsd:attribute ref="drm:representationFormat" use="required" />
</xsd:complexType>

<xsd:complexType name="NodesType">
<xsd:sequence>
										<xsd:element ref="drm:Node" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="NodeType">
<xsd:all>
										<xsd:element ref="drm:NodeName"   />
										<xsd:element ref="drm:Definition"  minOccurs="0" />
										<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
										<xsd:element ref="drm:Terms"  minOccurs="0" />
										<xsd:element ref="drm:NodeChildren"  minOccurs="0" />
</xsd:all>
										<xsd:attribute ref="rdf:ID" use="required" />
										<xsd:attribute ref="drm:nodeType" use="required" />
</xsd:complexType>

<xsd:complexType name="NodeRefsType">
<xsd:sequence>
										<xsd:element ref="drm:NodeRef" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="NodeRefType">
											<xsd:attribute ref="drm:type" use="required" />
											<xsd:attribute ref="rdf:resource" use="required" />
</xsd:complexType>

<xsd:complexType name="TermsType">
<xsd:sequence>
											<xsd:element ref="drm:Term" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="NodeChildrenType">
<xsd:sequence>
											<xsd:element ref="drm:Node" maxOccurs="unbounded"  />
											<xsd:element ref="drm:NodeRefs"  minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FEAMappingType">
<xsd:sequence>
											<xsd:element ref="drm:FEAReferenceModelMap" maxOccurs="unbounded"  />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FEAReferenceModelMapType">
												<xsd:attribute ref="drm:from" use="required" />
												<xsd:attribute ref="drm:to" use="required" />
												<xsd:attribute ref="drm:referenceModel" use="required" />
</xsd:complexType>

<xsd:complexType name="DataStandardsType">
<xsd:sequence>
												<xsd:element ref="drm:Standard" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="StandardType">
													<xsd:attribute ref="rdf:ID" use="required" />
													<xsd:attribute ref="drm:href" use="required" />
</xsd:complexType>

<xsd:element name="SubmittingAgency" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															Government agency, bureau, office, or department that submits this DRM instance.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="SubmissionDate" type="xsd:date">
													<xsd:annotation>
														<xsd:documentation>
															Date that this DRM instance was submitted.  May include time as well as date.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="SubmissionVersion" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															Any string an agency chooses to differentiate submission version that represent the same set of data elements. Note that the elements SubmissionDate or Identifier could be used to capture version instead.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="OwningAgency" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The agency providing primary stewardship for the data asset.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Steward" type="xsd:anyURI">
													<xsd:annotation>
														<xsd:documentation>
															A URI pointing to a resource or record identifying the person providing primary stewardship for the data asset. The resource/record should ideally be a structured machine-readable resource (e.g., XML document), but can be a HTML/web page providing the appropriate documentation.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="GeospatialEnabled" type="xsd:boolean">
													<xsd:annotation>
														<xsd:documentation>
															A boolean flag indicating whether or not a particular data asset supports or provides Geospatial data.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="SystemOfRecord" type="xsd:boolean">
													<xsd:annotation>
														<xsd:documentation>
															Denotes whether or not the datasource in question contains Privacy Act information.  This includes an individual's name, SSN, and/or personal identifier, and at least one other element of personal information about the individual (such as date of birth).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="DataAssetType" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The type of data asset (e.g. website, database, document repository, etc.).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="PointOfContact" type="xsd:anyURI">
													<xsd:annotation>
														<xsd:documentation>
															A URI pointing to the person or organization to contact for more information regarding the data asset.  This usually includes a name, phone number, email address, and other contact information.  The resource/record should ideally be a structured machine-readable resource (e.g., XML document), but can be a HTML/web page providing the appropriate documentation.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="AvailabilityLevel" type="drm:AvailabilityLevelType">
													<xsd:annotation>
														<xsd:documentation>
															Valid values can be "L, M, H" (for low, moderate, high).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="IntegrityLevel" type="drm:IntegrityLevelType">
													<xsd:annotation>
														<xsd:documentation>
															Valid values can be "L, M, H" (for low, moderate, high).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="ConfidentialityLevel" type="drm:ConfidentialityLevelType">
													<xsd:annotation>
														<xsd:documentation>
															Valid values can be "L, M, H" (for low, moderate, high).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="PayloadTransport" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The manner by which the payload (message) is moved from sender to receiver.  It is typically, but not necessarily, a computer networking protocol.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="TransactionType" type="drm:TransactionTypeType">
													<xsd:annotation>
														<xsd:documentation>
															Type of exchange, such as: Query/response, publish/subscribe, etc. Legal values include (To Be Published).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Status" type="drm:StatusType">
													<xsd:annotation>
														<xsd:documentation>
															Status of exchange - e.g. in progress or complete. Legal values include (To Be Published).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Endpoint" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The network endpoint for this access point.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="QueryLanguage" type="drm:QueryLanguageType">
													<xsd:annotation>
														<xsd:documentation>
															The standard query mechanism that will be used to access the data within this data asset - e.g. SQL-92, CQL (Z39.50), XQuery, Boolean Operators, WSDL, HTTP GET, etc. Legal values include (To Be Published).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="AccessControlProtocol" type="drm:AccessControlProtocolType">
													<xsd:annotation>
														<xsd:documentation>
															The standard and/or protocol providing access control for this query point (e.g. Basic HTTP authentication, Kerberos, etc.). Legal values include (To Be Published).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Encryption" type="drm:EncryptionType">
													<xsd:annotation>
														<xsd:documentation>
															The minimal level of encryption needed to pass data to and from this particular access point. Legal values include (To Be Published).
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Latency" type="xsd:integer">
													<xsd:annotation>
														<xsd:documentation>
															The number of seconds needed to pass a message to an access point.  Usually measured from the initiation of the request to the receipt of the response.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="ReliableMessaging" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															Information relating to reliable messaging capabilities.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="NodeName" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The taxonomy node's label.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Definition" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															A description of the associated term/object.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:element name="Term" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															A keyword and/or keyphrase associated with this taxonomy node.
														</xsd:documentation>
													</xsd:annotation>
</xsd:element>

<xsd:simpleType name="AvailabilityLevelType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="High" />
														<xsd:enumeration value="Low" />
														<xsd:enumeration value="Moderate" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="IntegrityLevelType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="High" />
														<xsd:enumeration value="Low" />
														<xsd:enumeration value="Moderate" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ConfidentialityLevelType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="High" />
														<xsd:enumeration value="Low" />
														<xsd:enumeration value="Moderate" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="TransactionTypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="PublishSubscribe" />
														<xsd:enumeration value="QueryResponse" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="StatusType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="Complete" />
														<xsd:enumeration value="In-progress" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="QueryLanguageType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="CQL" />
														<xsd:enumeration value="SQL-92" />
														<xsd:enumeration value="XQuery" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="AccessControlProtocolType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="HTTP-Basic" />
														<xsd:enumeration value="Kerberos" />
														<xsd:enumeration value="WS-Security" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="EncryptionType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="FIPS 185 (EES)" />
														<xsd:enumeration value="FIPS 46-2 (DES)" />
														<xsd:enumeration value="SSL-128" />
														<xsd:enumeration value="SSL-40" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:attribute name="href" type="xsd:anyURI">
													<xsd:annotation>
														<xsd:documentation>
															The address (absolute or relative) at which an object is reachable.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="name" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															An element's descriptive name
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="datatype" type="drm:datatypeType">
													<xsd:annotation>
														<xsd:documentation>
															An attribute's data type. This must be a valid XSD data type.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="type" type="drm:typeType">
													<xsd:annotation>
														<xsd:documentation>
															Describes the type of relationship in a NodeRef or ResourceRef element.  Legal values include: "instanceOf", "subclassOf", "partOf", "equivalentTo", and "relatedTo".
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="from" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															A pointer to the rdf:id of the taxonomy node (or other DRM element) associated with the FEA RM element specified in the "to" attribute.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="to" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															The "to" value in the each link below represents an FEA reference model category URL from the FEA-RMO ontology, which is found at http://colab.cim3.net/file/work/SICoP/project/fea-rmo/fea-rmo.html
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="frequency" type="xsd:integer">
													<xsd:annotation>
														<xsd:documentation>
															The number of times in a given time period that a specific exchange occurs.  Time period is specified in the unit attribute.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="unit" type="drm:unitType">
													<xsd:annotation>
														<xsd:documentation>
															The time period for information exchanges.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="authoritativeSource" type="xsd:boolean">
													<xsd:annotation>
														<xsd:documentation>
															Indicates whether or not the parent datasourceRef is the authoritative source for the entity in question. Boolean element, true or false.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="exchangePackageRef" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															This attribute points to the particular exchange package that defines the result format (response payload) for the access point in question.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="representationFormat" type="xsd:anyURI">
													<xsd:annotation>
														<xsd:documentation>
															Points to the data standard ID defining the format of the external entity reference.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="key" type="xsd:string">
													<xsd:annotation>
														<xsd:documentation>
															This attribute references the key field for a given Entity when elaborating a relationship between two entities
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="cardinality" type="drm:cardinalityType">
													<xsd:annotation>
														<xsd:documentation>
															The cardinality of a given relationship.  One of the following values:  zero, one, unbounded, 1 or more, n (any whole number), n-n (any specific range of whole numbers), and 0-1 (zero to one).
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="senderType" type="drm:senderTypeType">
													<xsd:annotation>
														<xsd:documentation>
															The type of entity that the Sender element value represents, with valid choices of: "Agency", "System", or "Individual" (or "A", "S", "I").
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="recipientType" type="drm:recipientTypeType">
													<xsd:annotation>
														<xsd:documentation>
															The type of entity that the Recipient element value represents, with valid choices of: "Agency", "System", or "Individual" (or "A", "S", "I").
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="nodeType" type="drm:nodeTypeType">
													<xsd:annotation>
														<xsd:documentation>
															Defines a given node's type.  Legal values include "collection", "class", and "instance."
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="referenceModel" type="drm:referenceModelType">
													<xsd:annotation>
														<xsd:documentation>
															The FEA reference model to which this node is being linked.  Legal values include PRM, BRM, SRM, and TRM.
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="keyType" type="drm:keyTypeType">
													<xsd:annotation>
														<xsd:documentation>
															Defines what type of key (if any) this attribute is.  Legal values include "PK" (primary key), "FK" (foreign key), "any key", or "none".
														</xsd:documentation>
													</xsd:annotation>
</xsd:attribute>

<xsd:simpleType name="datatypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="anyURI" />
														<xsd:enumeration value="base64Binary" />
														<xsd:enumeration value="boolean" />
														<xsd:enumeration value="byte" />
														<xsd:enumeration value="date" />
														<xsd:enumeration value="dateTime" />
														<xsd:enumeration value="decimal" />
														<xsd:enumeration value="double" />
														<xsd:enumeration value="duration" />
														<xsd:enumeration value="ENTITIES" />
														<xsd:enumeration value="ENTITY" />
														<xsd:enumeration value="float" />
														<xsd:enumeration value="gDay" />
														<xsd:enumeration value="gMonth" />
														<xsd:enumeration value="gMonthDay" />
														<xsd:enumeration value="gYear" />
														<xsd:enumeration value="gYearMonth" />
														<xsd:enumeration value="hexBinary" />
														<xsd:enumeration value="ID" />
														<xsd:enumeration value="IDREF" />
														<xsd:enumeration value="IDREFS" />
														<xsd:enumeration value="int" />
														<xsd:enumeration value="integer" />
														<xsd:enumeration value="language" />
														<xsd:enumeration value="long" />
														<xsd:enumeration value="Name" />
														<xsd:enumeration value="NCName" />
														<xsd:enumeration value="negativeInteger" />
														<xsd:enumeration value="NMTOKEN" />
														<xsd:enumeration value="NMTOKENS" />
														<xsd:enumeration value="nonNegativeInteger" />
														<xsd:enumeration value="nonPositiveInteger" />
														<xsd:enumeration value="normalizedString" />
														<xsd:enumeration value="NOTATION" />
														<xsd:enumeration value="positiveInteger" />
														<xsd:enumeration value="Qname" />
														<xsd:enumeration value="short" />
														<xsd:enumeration value="string" />
														<xsd:enumeration value="time" />
														<xsd:enumeration value="token" />
														<xsd:enumeration value="unsignedByte" />
														<xsd:enumeration value="unsignedInt" />
														<xsd:enumeration value="unsignedLong" />
														<xsd:enumeration value="unsignedShort" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="typeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="instanceOf" />
														<xsd:enumeration value="partOf" />
														<xsd:enumeration value="subclassOf" />
														<xsd:enumeration value="equivalentTo" />
														<xsd:enumeration value="relatedTo" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="unitType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="Daily" />
														<xsd:enumeration value="Hourly" />
														<xsd:enumeration value="Monthly" />
														<xsd:enumeration value="Unknown" />
														<xsd:enumeration value="Weekly" />
														<xsd:enumeration value="Yearly" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="cardinalityType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="0" />
														<xsd:enumeration value="0-1" />
														<xsd:enumeration value="1" />
														<xsd:enumeration value="1 or more" />
														<xsd:enumeration value="n" />
														<xsd:enumeration value="n-n" />
														<xsd:enumeration value="unbounded" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="senderTypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="Agency" />
														<xsd:enumeration value="Individual" />
														<xsd:enumeration value="System" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="recipientTypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="Agency" />
														<xsd:enumeration value="Individual" />
														<xsd:enumeration value="System" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="nodeTypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="class" />
														<xsd:enumeration value="collection" />
														<xsd:enumeration value="instance" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="referenceModelType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="BRM" />
														<xsd:enumeration value="PRM" />
														<xsd:enumeration value="SRM" />
														<xsd:enumeration value="TRM" />
													</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="keyTypeType">
													<xsd:restriction base="xsd:string">
														<xsd:enumeration value="ForeignKey" />
														<xsd:enumeration value="none" />
														<xsd:enumeration value="PrimaryKey" />
													</xsd:restriction>
</xsd:simpleType>

</xsd:schema>
