<?xml version="1.0" ?>
<!-- <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd">  -->
<xs:schema
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://sobekrepository.org/schemas/sobekcm_aggregation/"
	targetNamespace="http://sobekrepository.org/schemas/sobekcm_aggregation/"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified"
	xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd"
	version="2.0">
	<xs:annotation>
		<xs:documentation xml:lang="en">Schema defining the aggregation/collection elements used in defining data about an aggregation in UFDC</xs:documentation>
	</xs:annotation>

	<xs:element name="aggregationInfo">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="settings" type="settingsType" minOccurs="0" maxOccurs="1" />
				<xs:element name="home" type="homeType" minOccurs="1" maxOccurs="1" />
				<xs:element name="banner" type="bannersType" minOccurs="1" maxOccurs="1" />
				<xs:element name="results" type="resultsType" minOccurs="0" maxOccurs="1" />
				<xs:element name="directives" type="directivesType" minOccurs="0" maxOccurs="1" />
				<xs:element name="highlights" type="highlightsType" minOccurs="0" maxOccurs="1" />

				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element name="browse" type="browseType" minOccurs="0" maxOccurs="unbounded" />
					<xs:element name="info" type="infoType" minOccurs="0" maxOccurs="unbounded" />  <!-- LEGACY VALUE, BROWSE USED FOR ALL NOW (Version 4.0 and on) -->	
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="settingsType" >
		<xs:sequence>
			<xs:element name="webskins" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:element name="css" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:element name="customhome" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:element name="facets" type="xs:string" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="homeType">
		<xs:sequence>
			<xs:element name="body" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lang" type="xs:string"  />
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="browse" type="xs:string" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="resultsType" >
		<xs:sequence>
			<xs:element name="views" type="viewsType" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="directivesType" >
		<xs:choice>
			<xs:element name="directive" type="directiveType" minOccurs="0" maxOccurs="unbounded" />
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="bannersType" >
		<xs:sequence>
			<xs:element name="source" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lang" type="xs:string" />
							<xs:attribute name="lowbandwidth" type="xs:boolean" />
							<xs:attribute name="type" >
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKEN">
										<xs:enumeration value="STANDARD" />
										<xs:enumeration value="HIGHLIGHT" />
										<xs:enumeration value="FRONT" />
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
							<xs:attribute name="side" >
							<xs:simpleType>
								<xs:restriction base="xs:NMTOKEN">
								  <xs:enumeration value="FULL" />
									<xs:enumeration value="LEFT" />
									<xs:enumeration value="RIGHT" />
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="width" type="xs:int" />
						<xs:attribute name="height" type="xs:int" />
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="highlightsType">
		<xs:sequence>
			<xs:element name="highlight" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element	name="source" type="xs:string" minOccurs="1" maxOccurs="1" />
						<xs:element name="link" type="xs:string" minOccurs="0" maxOccurs="1" />
						<xs:element name="tooltip" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="lang" type="xs:string" />
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="text" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="lang" type="xs:string" />
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" >
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="STANDARD" />
					<xs:enumeration value="ROTATING" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="browseType" >
		<xs:choice minOccurs="1" maxOccurs="1">
			<xs:element name="metadata" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:sequence>
				<xs:element name="code" type="xs:string" minOccurs="1" maxOccurs="1" />
				<xs:element name="titles" type="titlesType" minOccurs="1" maxOccurs="1" />
				<xs:element name="content" type="contentsType" minOccurs="1" maxOccurs="1" />
			</xs:sequence>
		</xs:choice>
		<xs:attribute name="location" >  <!-- LEGACY VALUE, REPLACED BY VISIBILITY (Version 4.0 and on) -->			
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="HOME" />
					<xs:enumeration value="BROWSEBY" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>	
		<xs:attribute name="visibility" >
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="NONE" />
					<xs:enumeration value="MAIN_MENU" />
					<xs:enumeration value="BROWSEBY" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>	
		<xs:attribute name="parent" type="xs:string" />	
		<xs:attribute name="default" >
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="DEFAULT" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="directiveType" >
		<xs:sequence>
			<xs:element name="code" type="xs:string" minOccurs="1" maxOccurs="1" />
			<xs:element name="source" type="xs:string" minOccurs="1" maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="infoType" >
		<xs:sequence>
			<xs:element name="code" type="xs:string" minOccurs="1" maxOccurs="1" />
			<xs:element name="titles" type="titlesType" minOccurs="1" maxOccurs="1" />
			<xs:element name="content" type="contentsType" minOccurs="1" maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="titlesType">
		<xs:sequence>
			<xs:element name="title" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lang" type="xs:string" />
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="contentsType">
		<xs:sequence>
			<xs:element name="body" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lang" type="xs:string"  />
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="viewsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded" >
			<xs:element name="add" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" >
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKEN">
										<xs:enumeration value="BRIEF" />
										<xs:enumeration value="FULL" />
										<xs:enumeration value="MAP" />
										<xs:enumeration value="TABLE" />
										<xs:enumeration value="THUMBNAIL" />
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
							<xs:attribute name="default" >
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKEN">
										<xs:enumeration value="DEFAULT" />
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="remove" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" >
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKEN">
										<xs:enumeration value="BRIEF" />
										<xs:enumeration value="FULL" />
										<xs:enumeration value="MAP" />
										<xs:enumeration value="TABLE" />
										<xs:enumeration value="THUMBNAIL" />
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
</xs:schema>