<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.medra.org.ezproxy.stockton.edu/query" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.medra.org.ezproxy.stockton.edu/query" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<xsd:element name="QueryRequestMessage" type="_QueryRequestMessage"/>
	<xsd:complexType name="_QueryRequestMessage">
		<xsd:sequence>
			<xsd:element name="Header" type="_Header"/>
			<xsd:element name="QueryRequest" type="_QueryRequest"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_Header">
		<xsd:sequence>
			<xsd:element name="FromEmail" type="_Email"/>
			<xsd:element name="MessageReferenceNumber" type="_MessageReferenceNumber"/>
			<xsd:element name="NotificationResponse" type="_NotificationResponse" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="_Email">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:pattern value="[\p{L}\p{N}!/+\-_]+(\.[\p{L}\p{N}!/+\-_]+)*@[\p{L}\p{N}!/+\-_]+(\.[\p{L}_]+)+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="_MessageReferenceNumber">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="4"/>
			<xsd:maxLength value="100"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="_NotificationResponse">
		<xsd:restriction base="xsd:string">
			<!-- e-mail -->
			<xsd:enumeration value="01"/>
			<!-- callback -->
			<xsd:enumeration value="02"/>
			<!-- ftp -->
			<xsd:enumeration value="03"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="_QueryRequest">
		<xsd:sequence>
			<xsd:choice>
				<xsd:element name="Query" type="_Query" maxOccurs="unbounded" />
				<xsd:element name="ForwardLinkingQuery" type="_ForwardLinkingQuery" />
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="_Query">
		<xsd:choice>
			<xsd:sequence>
				<xsd:choice>
				<!--Elementi per gli article-->
					<xsd:sequence>
						<xsd:element name="JournalTitle" type="_JournalTitle" minOccurs="0"/>
						<xsd:element name="JournalVolumeNumber" type="_VolumeNumber" minOccurs="0"/>
						<xsd:element name="JournalIssueNumber" type="_JournalIssueNumber" minOccurs="0"/>
						<xsd:element name="JournalIssueDate" type="_IssueDate" minOccurs="0"/>
						<xsd:element name="ArticleTitle" type="_ArticleTitle" minOccurs="0"/>
					</xsd:sequence>
					<!--Elementi per i book-->
					<xsd:sequence>
						<xsd:element name="BookTitle" type="_BookTitle" minOccurs="0"/>
						<xsd:element name="ISBN" type="_ISBN" minOccurs="0"/>
						<xsd:element name="EditionNumber" type="_EditionNumber" minOccurs="0"/>
						<xsd:element name="PublicationDate" type="_IssueDate" minOccurs="0"/>
						<xsd:element name="ComponentNumber" type="_ComponentNumber" minOccurs="0"/>
						<xsd:element name="TitleOfSeries" type="_TitleOfSeries" minOccurs="0"/>
						<xsd:element name="NumberWithinSeries" type="_VolumeNumber" minOccurs="0"/>
					</xsd:sequence>
				</xsd:choice>
				<!--Elementi in comune-->
				<xsd:element name="ISSN" type="_ISSN" minOccurs="0"/>
				<xsd:element name="AuthorName" type="_AuthorName" minOccurs="0"/>
				<xsd:element name="FirstPageNumber" type="_FirstPageNumber" minOccurs="0"/>
			</xsd:sequence>
			<xsd:element name="DOI" type="_DOI"/>
			<xsd:element name="UnstructuredCitation" type="_UnstructuredCitation"/>
		</xsd:choice>
		<xsd:attribute name="key" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="128"/>
					<xsd:minLength value="1"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="enable-multiple-hits" default="false">
			<xsd:simpleType>
				<xsd:list>
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN"><!-- backward compatibility -->
							<xsd:enumeration value="true"/>
							<xsd:enumeration value="false"/><!-- If a rule has more than one
                                 hit it is skipped. The system returns the DOI from the first
                                 rule that has a single DOI hit. enable-multi-hits="true" simply
                                 does not stop with the first single hit DOI, it moves on to the
                                 next rule. However, hits within the same rule are not returned.

                                 enable-multiple-hits="one_hit_per_rule" is the same as enable-multiple-hits=true
                                 enable-multiple-hits="multi_hit_per_rule" will add multiple hits from the SAME rule
                                 to the result.
                            -->
							<xsd:enumeration value="one_hit_per_rule"/>
							<xsd:enumeration value="multi_hit_per_rule"/><!-- Giving enable-multiple-hits="exact" causes the query engine to run
                                 a vanilla exact matching query. Any matching hints given on the individual
                                 elements of the query itself (e.g. match="fuzzy") are ignored. The result
                                 is capped at a maximum (default=40)-->
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:list>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="forward-match" default="false">
			<xsd:simpleType>
				<xsd:restriction base="xsd:boolean"/>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="list-components" use="optional" default="false">
			<xsd:simpleType>
				<xsd:restriction base="xsd:boolean"/>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="expanded-results" use="optional" default="false">
			<xsd:simpleType>
				<xsd:restriction base="xsd:boolean"/>
			</xsd:simpleType>
		</xsd:attribute><!-- The    combination    of (SubmitterID,doi_batch_id,key) must be unique
              if the attribute 'forward-match' is set to true
         -->
	</xsd:complexType>
	<xsd:complexType name="_ForwardLinkingQuery">
		<xsd:sequence>
			<xsd:element name="DOI" type="_DOI"/>
		</xsd:sequence>
		<xsd:attribute name="alert" default="false">
			<xsd:simpleType>
				<xsd:restriction base="xsd:boolean"/>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="start_date">
			<xsd:simpleType>
				<xsd:restriction base="xsd:date"/>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="end_date">
			<xsd:simpleType>
				<xsd:restriction base="xsd:date"/>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="_ISSN">
		<xsd:simpleContent>
			<xsd:extension base="issn_t">
				<xsd:attribute name="match" default="optional">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="optional"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="issn_t">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="9"/>
			<xsd:minLength value="8"/>
			<xsd:pattern value="\d{4}-?\d{3}[\dX]"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="_ISBN">
		<xsd:simpleContent>
			<xsd:extension base="isbn_t">
				<xsd:attribute name="match" default="optional">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="optional"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="isbn_t">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="17"/>
			<xsd:minLength value="10"/>
			<xsd:pattern value="\d[\d\-]+[\dX]"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="_JournalTitle">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="fuzzy"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_TitleOfSeries">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="fuzzy"/>
									<xsd:enumeration value="null"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_AuthorName">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="fuzzy"/>
									<xsd:enumeration value="null"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attribute name="search-all-authors" use="optional" default="false">
					<xsd:simpleType>
						<xsd:restriction base="xsd:boolean"/>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_JournalIssueNumber">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="exact"/>
									<xsd:enumeration value="fuzzy"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_VolumeNumber">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="fuzzy"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_EditionNumber">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="fuzzy">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="fuzzy"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_ComponentNumber">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="fuzzy">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="fuzzy"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_FirstPageNumber">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="null"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_IssueDate">
		<xsd:simpleContent>
			<xsd:extension base="_stringYear">
				<xsd:attribute name="match" default="optional">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="optional"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="_stringYear">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="4"/>
			<xsd:minLength value="4"/>
			<xsd:pattern value="\d{4}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="_ArticleTitle">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="fuzzy">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="fuzzy"/>
							<xsd:enumeration value="exact"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="_BookTitle">
		<xsd:simpleContent>
			<xsd:extension base="_string256">
				<xsd:attribute name="match" default="optional fuzzy">
					<xsd:simpleType>
						<xsd:list>
							<xsd:simpleType>
								<xsd:restriction base="xsd:NMTOKEN">
									<xsd:enumeration value="optional"/>
									<xsd:enumeration value="fuzzy"/>
									<xsd:enumeration value="exact"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:list>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="faces" mixed="true">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:group ref="face_markup"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:group name="face_markup">
		<xsd:choice>
			<xsd:element ref="b"/>
			<xsd:element ref="i"/>
			<xsd:element ref="u"/>
			<xsd:element ref="ovl"/>
			<xsd:element ref="sup"/>
			<xsd:element ref="sub"/>
			<xsd:element ref="scp"/>
			<xsd:element ref="tt"/>
		</xsd:choice>
	</xsd:group>
	<xsd:element name="b" type="faces"/>
	<xsd:element name="i" type="faces"/>
	<xsd:element name="u" type="faces"/>
	<xsd:element name="ovl" type="faces"/>
	<xsd:element name="sup" type="faces"/>
	<xsd:element name="sub" type="faces"/>
	<xsd:element name="scp" type="faces"/>
	<xsd:element name="tt" type="faces"/>
	<xsd:complexType name="_UnstructuredCitation" mixed="true">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:group ref="face_markup"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:simpleType name="_string256">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="256"/>
		</xsd:restriction>
	</xsd:simpleType><!--	<xsd:simpleType name="_string4">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="4"/>
		</xsd:restriction>
	</xsd:simpleType>-->
	<xsd:simpleType name="_DOI">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="6"/>
			<xsd:maxLength value="2048"/>
			<xsd:pattern value="10\.\d*/\S*"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
