<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Elayne O'Sullivan (British Telecom Plc) -->
<!-- format for storing metadata about a noun in a dictionary -->
<!-- version: 0.16
     status: draft
     revised: January 18, 2004
     revised: October 12, 2004 - simplified structure
     revised: October 18, 2004 - improved itemDetail structure    
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.17">
	<xs:element name="nounMetadata">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="nounItem" type="nounItemType" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="annotationType">
		<xs:sequence>
			<xs:element name="documentation" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" use="required">
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKEN">
										<xs:enumeration value="description"/>
										<xs:enumeration value="note"/>
										<xs:enumeration value="license"/>
										<xs:enumeration value="usage"/>
										<xs:enumeration value="other"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="identifiersType">
		<xs:sequence>
			<xs:element name="identifier" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="annotation" type="annotationType"/>
					</xs:sequence>
					<xs:attribute name="taxonomy" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="UID"/>
								<xs:enumeration value="UUID"/>
								<xs:enumeration value="CoI"/>
								<xs:enumeration value="Local"/>
								<xs:enumeration value="Other"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="taxonomyOther" type="xs:anyURI" use="optional"/>
					<xs:attribute name="registry" type="xs:anyURI"/>
					<xs:attribute name="value" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CCTSlinkageType">
		<xs:sequence>
			<xs:element name="annotation" type="annotationType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="componentName" type="xs:string"/>
			<xs:element name="identifiers" type="identifiersType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="itemDetailType">
		<xs:sequence>
			<xs:element name="elementName" type="xs:string" minOccurs="0"/>
			<xs:element name="label" type="xs:string"/>
			<xs:element name="namespace" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="preferredPrefix" type="xs:NMTOKEN" use="optional"/>
					<xs:attribute name="uri" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="description" type="xs:string"/>
			<xs:element name="constraintDefinitions" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="definition" maxOccurs="unbounded">
							<xs:complexType mixed="true">
								<xs:choice>
									<xs:any namespace="##any" processContents="lax"/>
								</xs:choice>
								<xs:attribute name="syntax" use="required">
									<xs:simpleType>
										<xs:restriction base="xs:NMTOKEN">
											<xs:enumeration value="CAM"/>
											<xs:enumeration value="XSD"/>
											<xs:enumeration value="RELAXNG"/>
											<xs:enumeration value="SCHEMATRON"/>
											<xs:enumeration value="DTD"/>
											<xs:enumeration value="Other"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:attribute>
								<xs:attribute name="syntaxOther" type="xs:string" use="optional"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="ID" type="xs:ID" use="optional"/>
					<xs:attribute name="IDRef" type="xs:IDREF" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="annotation" type="annotationType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="catgory" type="xs:string" use="required"/>
		<xs:attribute name="categoryTaxonomy" type="xs:NMTOKEN" use="required"/>
	</xs:complexType>
	<xs:complexType name="associationsType">
		<xs:sequence>
			<xs:element name="association" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="reference" type="xs:string" use="required"/>
					<xs:attribute name="taxonomy" type="xs:string"/>
					<xs:attribute name="relationship" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="similar"/>
								<xs:enumeration value="equivalent"/>
								<xs:enumeration value="alias"/>
								<xs:enumeration value="Other"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="relationshipOther" type="xs:string" use="optional"/>
					<xs:attribute name="registry" type="xs:anyURI"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="itemDetailsType">
		<xs:sequence>
			<xs:element name="itemDetail" type="itemDetailType"/>
			<xs:element name="associations" type="associationsType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="locale" type="xs:string" use="required"/>
		<xs:attribute name="id" type="xs:string"/>
		<xs:attribute name="externalRef" type="xs:string"/>
	</xs:complexType>
	<xs:complexType name="nounItemType">
		<xs:sequence>
			<xs:element name="defaultUID" type="xs:string"/>
			<xs:element name="elementName">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="identifiers" type="identifiersType" minOccurs="0"/>
			<xs:element name="CCTSlinkage" type="CCTSlinkageType" minOccurs="0"/>
			<xs:element name="itemDetails" type="itemDetailsType"/>
		</xs:sequence>
		<xs:attribute name="type" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="Noun"/>
					<xs:enumeration value="Aggregate"/>
					<xs:enumeration value="BIE"/>
					<xs:enumeration value="ABIE"/>
					<xs:enumeration value="BBIE"/>
					<xs:enumeration value="Other"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="typeOther" type="xs:anyURI" use="optional"/>
		<xs:attribute name="locale" type="xs:string" use="required"/>
	</xs:complexType>
</xs:schema>
