<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
	targetNamespace="http://www.dublincore.org/documents/dcmi-period/"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:dcmi-period="http://www.dublincore.org/documents/dcmi-period/"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified">

	<xs:annotation>
		<xs:documentation xml:lang="en">
			DCSV encoding for DCMI Period

			Created by Tom Habing, thabing@uiuc.edu

		</xs:documentation>

		<xs:appinfo xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:title>DCSV encoding for DCMI Period</dc:title>
			<dc:creator>Tom Habing, thabing@uiuc.edu</dc:creator>
			<dc:date>2002-07-09</dc:date>
			<dc:relation>http://www.dublincore.org/documents/dcmi-period/</dc:relation>
		</xs:appinfo>
	</xs:annotation>

	<xs:simpleType name="DCSV">
		<xs:union>
  		<xs:simpleType>
      	<xs:restriction base="xs:string">
      		<xs:annotation>
      			<xs:documentation xml:lang="en">
      				Regular expression allowing only the DCSV syntax allowed in http://www.dublincore.org/documents/dcmi-period/, including
      				the requirement that .;=\ must be escaped with \ when used in values.  Only the labels start, end, scheme, and name are permitted
      				in any order.  There must be at least one component, up to a max of four components.  The only limitation is that components
      				may be illegally repeated -- don't think there is a way to prevent this using only regular expressions unless we restrict the
      				sequence of components.
    				</xs:documentation>
      		</xs:annotation>
      		<xs:pattern value="\s*(start\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|end\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|scheme\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|name\s*=\s*(\\[\.=;\\]|[^\.=;\\])+)\s*(;\s*(start\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|end\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|scheme\s*=\s*(\\[\.=;\\]|[^\.=;\\])+|name\s*=\s*(\\[\.=;\\]|[^\.=;\\])+)){0,3}\s*;?\s*"/>
      	</xs:restriction>
      	</xs:simpleType>
  	</xs:union>
  </xs:simpleType>

	<!--	<xs:element name="Period">
			<xs:complexType>
				<xs:sequence minOccurs="0">
					<xs:element name="start" minOccurs="0">
						<xs:complexType>
							<xs:simpleContent>
								<xs:restriction base="xs:string">
									<xs:attribute name="scheme" type="xs:string" default="W3C-DTF"/>
								</xs:restriction>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
					<xs:element name="end" minOccurs="0">
						<xs:complexType>
							<xs:simpleContent>
								<xs:restriction base="xs:string">
									<xs:attribute name="scheme" type="xs:string" default="W3C-DTF"/>
								</xs:restriction>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="name" type="xs:string"/>
			</xs:complexType>
		</xs:element>-->

</xs:schema>
