<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://purl.org/kmoddl/kmoddl_v1.01/" xmlns:this="http://purl.org/kmoddl/kmoddl_v1.01/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:kmoddl="http://purl.org/kmoddl/kmoddltype_v1.01" xmlns:dlese="http://www.dlese.org/Metadata/adn-item/0.6.50/vocabs" xmlns:mods="http://www.mocs.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.02.000">
	<xs:annotation>
		<xs:documentation xml:lang="en">
		Version updated to 1.01 for release.
	    </xs:documentation>
	</xs:annotation>
	<!-- NOTE:  the order of the following is important.  Otherwise XSV won't work -->
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
	<!-- NSDL imports -->
	<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://ns.nsdl.org/schemas/dc/dc_v1.00.xsd"/>
	<xs:import namespace="http://purl.org/dc/terms/" schemaLocation="http://ns.nsdl.org/schemas/dc/dcterms_v1.01.xsd"/>
	<xs:import namespace="http://purl.org/kmoddl/kmoddltype_v1.01" schemaLocation="kmoddltype_v1.01.xsd"/>
	<!-- indicate location of our DLESE schema -->
	<xs:import namespace="http://www.dlese.org/Metadata/adn-item/0.6.50/vocabs" schemaLocation="gradeRange.xsd"/>
	<!-- indicate location of our MODS schema -->
	<xs:import namespace="http://www.loc.gov/mods/v3" schemaLocation="mods.xsd"/>
	<!-- indicate location of our AAT schema -->
	<xs:import namespace="http://www.getty.edu/research/conducting_research/vocabularies/aat" schemaLocation="aat.xsd"/>
	<xs:element name="kmoddl" type="this:ktype"/>
	<!-- I want to extend the possible content of the kmoddl element,
             which is of the kmoddl ktype type to include data of the
             dlese grade Range Type.
        -->
	<xs:complexType name="ktype">
		<xs:complexContent>
			<xs:annotation>
				<xs:documentation xml:lang="en">
					This elementOrRefinementContainer from 
                                        dcterms also accommodates MODS elements
				</xs:documentation>
			</xs:annotation>
			<xs:extension base="dcterms:elementOrRefinementContainer">
				<xs:attribute name="schemaVersion" type="this:schemaVersionNumber" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="schemaVersionNumber">
		<xs:annotation>
			<xs:documentation xml:lang="en">
				For exact matches of the first two parts of 
                    the schemaVersion with THIS schema's version.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="kmoddl:schemaVersionType">
			<xs:pattern value="1\.01\.\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Voigt1">
		<xs:annotation>
			<xs:documentation xml:lang="en">
			"Voigt" refers to the catalog 
                        "Kinematische Modelle nach Professor Reuleaux: 
                         Gustav Voigt mechanische Werkstatt", 
                         commonly referred to as the Voigt Catalog. 
                         Voigt1 denotes the vocabulary used in the first table of contents 
                         (1. Verzeichnis) of the catalog to describe one set of 
                         Reuleaux models and, 
                         by extension, all related resources. 
                         For a list of these subject terms, see the 
                         Voigt Catalog I. Table of Contents.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Voigt2">
		<xs:annotation>
			<xs:documentation xml:lang="en">
			"Voigt" refers to the catalog 
                        "Kinematische Modelle nach Professor Reuleaux: 
                         Gustav Voigt mechanische Werkstatt", 
                         commonly referred to as the Voigt Catalog. 
                         Voigt2 denotes the vocabulary used in the second table of contents 
                         (2. Verzeichnis) of the catalog to describe one set of 
                         Reuleaux models and, 
                         by extension, all related resources. 
                         For a list of these subject terms, see the 
                         Voigt Catalog II. Table of Contents.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Voigt1-ID">
		<xs:annotation>
			<xs:documentation xml:lang="en">
		Number under which a given Reuleaux model is listed in the 
                Voigt Catalog table of contents (1. Verzeichnis). The same number is assigned to all digital 
                manifestations of the model as well as to all related expository materials
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Voigt2-ID">
		<xs:annotation>
			<xs:documentation xml:lang="en">
		Number under which a given Reuleaux model is listed in the 
                Voigt Catalog table of contents (2. Verzeichnis). The same number is assigned to all digital 
                manifestations of the model as well as to all related expository materials
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="KMODDLType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
                      Designation of K-MODDL resource category. For list of categories, see KMODDL
		      Type Vocabulary.
                </xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="kmoddl:KMODDLType"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="KMODDL-ID">
		<xs:annotation>
			<xs:documentation xml:lang="en">
                ID assigned by K-MODDL. To see list of resources with KMODDL identifiers
                </xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="dc:SimpleLiteral">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute ref="xml:lang" use="prohibited"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<!-- This type is from the MODS name space.  -->
	<xs:complexType name="sourceType">
		<xs:annotation>
			<xs:documentation xml:lang="en">
                	KMODDL physical location.  based on MOD, but that type was not
			compatible with our type definitions.
                </xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="dc:SimpleLiteral">
				<xs:attribute name="authority" use="optional">
					<xs:annotation>
						<xs:documentation>Value of this attribute is from 
                   list at: http://www.loc.gov/marc/sourcecode/organization/organizationsource.html. 
                   If the value is "marcorg", see: http://www.loc.gov/marc/organizations
                  </xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>
