Schema Name: simpleTypeDerivation.xsd
Target Namespace: http://niem.gov/niem/external/ogc-observation/draft-0.14.5/st/dhs-gmo/1.0.0
Documentation:
This schema is based on the W3C XML Schema schema for XML Schemas: Part 2: Datatypes The definitions of the "magic" built-in datatypes have been removed The components for defining derived simpleTypes are retained, but defined in a new namespace. OGC 05-087r4 page 88 © OGC 2006 – All rights reserved DHS Changes: 2006-09-28 Changed schema location for http://www.w3.org/XML/1998/namespace from ../../../../../xml/1998/namespace/xml.xsd (rule-based) to ../../../../../w3c-xml/1998/xml.xsd (special case) 2006-09-22 Changed namespaces following NIEM conventions 1) targetnamespace http://niem.gov//niem/external/l/ogc-observation/draft-0.14.5/st/dhs-gmo/1.0.0 2006-09-18 versioned namespace (was "http://www.opengis.net/swe/st"), import local copy of xml.xsd
Collapse XSD Schema Code:

<!-- Derived from XML Schema schema for XML Schemas: Part 2: Datatypes -->
<xs:schema 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/st/dhs-gmo/1.0.0" 
xmlns:st="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/st/dhs-gmo/1.0.0"  
xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" 
elementFormDefault="qualified" xml:lang="en">
	<xs:annotation>
		<xs:documentation>
This schema is based on the W3C XML Schema schema for XML Schemas: Part 2: Datatypes
The definitions of the "magic" built-in datatypes have been removed
The components for defining derived simpleTypes are retained, but defined in a new namespace.
OGC 05-087r4 page 88 © OGC 2006 – All rights reserved

  DHS Changes:  
    2006-09-28 Changed schema location for http://www.w3.org/XML/1998/namespace 
      from ../../../../../xml/1998/namespace/xml.xsd (rule-based)
      to ../../../../../w3c-xml/1998/xml.xsd (special case)
      
	2006-09-22 Changed namespaces following NIEM conventions
		 1) targetnamespace	 http://niem.gov//niem/external/l/ogc-observation/draft-0.14.5/st/dhs-gmo/1.0.0
		 
    2006-09-18 versioned namespace (was "http://www.opengis.net/swe/st"),
    import local copy of xml.xsd

</xs:documentation>
	</xs:annotation>
	<!-- these next six components from XMLSchema.xsd -->
	<!-- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"> -->
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../../../../w3c-xml/1998/xml.xsd">
		<xs:annotation>
			<xs:documentation>
Get access to the xml: attribute groups for xml:lang
as declared on 'schema' and 'documentation' below
</xs:documentation>
		</xs:annotation>
	</xs:import>
	<xs:complexType name="openAttrs">
		<xs:annotation>
			<xs:documentation>
This type is extended by almost all schema types
to allow attributes from other namespaces to be
added to user schemas.
</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="xs:anyType">
				<xs:anyAttribute namespace="##other" processContents="lax"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="annotated">
		<xs:annotation>
			<xs:documentation>
This type is extended by all types which allow annotation
other than &lt;schema&gt; itself
</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="st:openAttrs">
				<xs:sequence>
					<xs:element ref="st:annotation" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="id" type="xs:ID"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="appinfo" id="appinfo">
		<xs:annotation>
			<xs:documentation source="./#element-appinfo"/>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:any processContents="lax"/>
			</xs:sequence>
			<xs:attribute name="source" type="xs:anyURI"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="documentation" id="documentation">
		<xs:annotation>
			<xs:documentation source="./#element-documentation"/>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:any processContents="lax"/>
			</xs:sequence>
			<xs:attribute name="source" type="xs:anyURI"/>
			<xs:attribute ref="xml:lang"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="annotation" id="annotation">
		<xs:annotation>
			<xs:documentation source="./#element-annotation"/>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="st:openAttrs">
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="st:appinfo"/>
						<xs:element ref="st:documentation"/>
					</xs:choice>
					<xs:attribute name="id" type="xs:ID"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!-- from here to end of document from datatypes.xsd -->
	<xs:simpleType name="derivationControl">
		<xs:annotation>
			<xs:documentation>
A utility type, not for public use</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="substitution"/>
			<xs:enumeration value="extension"/>
			<xs:enumeration value="restriction"/>
			<xs:enumeration value="list"/>
			<xs:enumeration value="union"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:group name="simpleDerivation">
		<xs:choice>
			<xs:element ref="st:restriction"/>
			<xs:element ref="st:list"/>
			<xs:element ref="st:union"/>
		</xs:choice>
	</xs:group>
	<xs:simpleType name="simpleDerivationSet">
		<xs:annotation>
			<xs:documentation>
#all or (possibly empty) subset of {restriction, union, list}
</xs:documentation>
			<xs:documentation>
A utility type, not for public use</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="#all"/>
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="st:derivationControl">
					<xs:enumeration value="list"/>
					<xs:enumeration value="union"/>
					<xs:enumeration value="restriction"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:complexType name="simpleType" abstract="true">
		<xs:complexContent>
			<xs:extension base="st:annotated">
				<xs:group ref="st:simpleDerivation"/>
				<xs:attribute name="final" type="st:simpleDerivationSet"/>
				<xs:attribute name="name" type="xs:NCName">
					<xs:annotation>
						<xs:documentation>
Can be restricted to required or forbidden
</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="topLevelSimpleType">
		<xs:complexContent>
			<xs:restriction base="st:simpleType">
				<xs:sequence>
					<xs:element ref="st:annotation" minOccurs="0"/>
					<xs:group ref="st:simpleDerivation"/>
				</xs:sequence>
				<xs:attribute name="name" type="xs:NCName" use="required">
					<xs:annotation>
						<xs:documentation>
Required at the top level
</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="localSimpleType">
		<xs:complexContent>
			<xs:restriction base="st:simpleType">
				<xs:sequence>
					<xs:element ref="st:annotation" minOccurs="0"/>
					<xs:group ref="st:simpleDerivation"/>
				</xs:sequence>
				<xs:attribute name="name" type="xs:NCName" use="prohibited">
					<xs:annotation>
						<xs:documentation>
Forbidden when nested
</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="final" type="st:simpleDerivationSet" use="prohibited"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="simpleType" type="st:topLevelSimpleType" id="simpleType">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementsimpleType"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:group name="facets">
		<xs:annotation>
			<xs:documentation>
We should use a substitution group for facets, but
that's ruled out because it would allow users to
add their own, which we're not ready for yet.
</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element ref="st:minExclusive"/>
			<xs:element ref="st:minInclusive"/>
			<xs:element ref="st:maxExclusive"/>
			<xs:element ref="st:maxInclusive"/>
			<xs:element ref="st:totalDigits"/>
			<xs:element ref="st:fractionDigits"/>
			<xs:element ref="st:length"/>
			<xs:element ref="st:minLength"/>
			<xs:element ref="st:maxLength"/>
			<xs:element ref="st:enumeration"/>
			<xs:element ref="st:whiteSpace"/>
			<xs:element ref="st:pattern"/>
		</xs:choice>
	</xs:group>
	<xs:group name="simpleRestrictionModel">
		<xs:sequence>
			<xs:element name="simpleType" type="st:localSimpleType" minOccurs="0"/>
			<xs:group ref="st:facets" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<xs:element name="restriction" id="restriction">
		<xs:complexType>
			<xs:annotation>
				<xs:documentation>source="./XML Schema Part 2 Datatypes.htm#element-restriction"
base attribute and simpleType child are mutually
exclusive, but one or other is required
</xs:documentation>
			</xs:annotation>
			<xs:complexContent>
				<xs:extension base="st:annotated">
					<xs:group ref="st:simpleRestrictionModel"/>
					<xs:attribute name="base" type="xs:QName" use="optional"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="list" id="list">
		<xs:complexType>
			<xs:annotation>
				<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#element-list"
itemType attribute and simpleType child are mutually
exclusive, but one or other is required
</xs:documentation>
			</xs:annotation>
			<xs:complexContent>
				<xs:extension base="st:annotated">
					<xs:sequence>
						<xs:element name="simpleType" type="st:localSimpleType" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="itemType" type="xs:QName" use="optional"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="union" id="union">
		<xs:complexType>
			<xs:annotation>
				<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#element-union"
memberTypes attribute must be non-empty or there must be
at least one simpleType child
</xs:documentation>
			</xs:annotation>
			<xs:complexContent>
				<xs:extension base="st:annotated">
					<xs:sequence>
						<xs:element name="simpleType" type="st:localSimpleType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="memberTypes" use="optional">
						<xs:simpleType>
							<xs:list itemType="xs:QName"/>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="facet">
		<xs:complexContent>
			<xs:extension base="st:annotated">
				<xs:attribute name="value" use="required"/>
				<xs:attribute name="fixed" type="xs:boolean" use="optional" default="false"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="noFixedFacet">
		<xs:complexContent>
			<xs:restriction base="st:facet">
				<xs:sequence>
					<xs:element ref="st:annotation" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="fixed" type="xs:boolean" use="prohibited"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="minExclusive" type="st:facet" id="minExclusive">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementminExclusive"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="minInclusive" type="st:facet" id="minInclusive">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementminInclusive"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="maxExclusive" type="st:facet" id="maxExclusive">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementmaxExclusive"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="maxInclusive" type="st:facet" id="maxInclusive">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementmaxInclusive"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="numFacet">
		<xs:complexContent>
			<xs:restriction base="st:facet">
				<xs:sequence>
					<xs:element ref="st:annotation" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="totalDigits" id="totalDigits">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementtotalDigits"</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:restriction base="st:numFacet">
					<xs:sequence>
						<xs:element ref="st:annotation" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="value" type="xs:positiveInteger" use="required"/>
				</xs:restriction>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="fractionDigits" type="st:numFacet" id="fractionDigits">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementfractionDigits"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="length" type="st:numFacet" id="length">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#element-length"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="minLength" type="st:numFacet" id="minLength">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementminLength"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="maxLength" type="st:numFacet" id="maxLength">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementmaxLength"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="enumeration" type="st:noFixedFacet" id="enumeration">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementenumeration"</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="whiteSpace" id="whiteSpace">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementwhiteSpace"</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:restriction base="st:facet">
					<xs:sequence>
						<xs:element ref="st:annotation" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="value" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="preserve"/>
								<xs:enumeration value="replace"/>
								<xs:enumeration value="collapse"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:restriction>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="pattern" type="st:noFixedFacet" id="pattern">
		<xs:annotation>
			<xs:documentation> source="./XML Schema Part 2 Datatypes.htm#elementpattern"</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>
Collapse ComplexTypes:
Collapse Elements:
Collapse Groups:
Collapse SimpleTypes: