<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://filmstandards.org/schemas/EN15907-r2"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:cw2="http://filmstandards.org/schemas/EN15907-r2" attributeFormDefault="unqualified"
	elementFormDefault="qualified">
	<xs:annotation>
		<xs:documentation>
            Element definitions for EN15907. This file can be referenced by 
            Extension schemas.
	
            Draft XML schema based on EN 15907:2010(E)  "Film identification - 
                Enhancing interoperability of metadata - Element sets and structures".
            15-Feb-2009 Detlev Balzer (db@dbalzer.net) - First draft based on WD4
            26-Feb-2009 db: Added redefinition notes for type definitions
            17-Oct-2010 db: Length and Duration subsumed under Extent; Colour updated
            20-Dec-2010 db: Adaption to final version of the standard
            11-May-2011 db: Added AgentActivityType as type definition for HasAgent/Activity
            12-May-2011 db: Cardinalities for Identifier changed to unbounded
            
            18-May-2011 db: Added Identifier and RecordSource to Item; new ItemTypeType
            20-May-2011 db: Added OtherRelationshipType so that reltype can have vocabularySource
            13-Jun-2011 db: Replaced SubjectRelationship with HasAsSubject
            15-Sep-2011 db: variantTypeType added, variantType attibute changed
            27-Nov-2017 Detlev Balzer (db@balilabs.de): Version r2.  
                        Moved RegionCodeSchemeEnum to application profile.
	        29-Nov-2017 db: ContentDescriptionType: Language now in DescriptionText.
	                        Simplified model for Term.
	        29-Nov-2017 db: Added EditorialNote element to CinematographicWork
	        01-Dec-2017 db:	Extensibility tests
	        12-Dec-2017 db: Several corrections suggested by Michael Freiberg
	        13-Dec-2017 db: Added sourceId attribute to Title element
		</xs:documentation>
	</xs:annotation>

	<xs:element name="ExchangeSet">
		<xs:annotation>
			<xs:documentation> The root element for a set of cinematographic work instances. 
				Not defined in EN 15907.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="cw2:CinematographicWork"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- 
		*********************** Description units *********************** 
	-->
	<xs:element name="CinematographicWork">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 4.1.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:Identifier" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element ref="cw2:RecordSource" maxOccurs="unbounded"/>
				<xs:element ref="cw2:EditorialNote" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Title" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:IdentifyingTitle"/>
				<xs:element ref="cw2:CountryOfReference" maxOccurs="unbounded"/>
				<xs:element ref="cw2:YearOfReference" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:ProductionEvent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Award" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:IPRRegistration" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:SubjectTerms" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:ContentDescription" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasAsSubject" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasOtherRelationship" minOccurs="0" maxOccurs="unbounded"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="cw2:Variant" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="cw2:Manifestation" maxOccurs="unbounded" minOccurs="0"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="DescriptionLevel" type="cw2:DescriptionLevelEnum" default="m"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="Variant">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 4.2.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:VariantType" minOccurs="0"/>
				<xs:element ref="cw2:RecordSource" minOccurs="0"/>
				<xs:element ref="cw2:Identifier" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Title" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Award" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:IPRRegistration" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasOtherRelationship" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Language" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:ProductionEvent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Manifestation" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sourceId" use="optional" type="xs:anySimpleType"/>
			<xs:attribute name="variantType" use="optional" type="cw2:VariantTypeType"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="Manifestation">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 4.3.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:ManifestationType" minOccurs="0"/>
				<xs:element ref="cw2:RecordSource" minOccurs="0"/>
				<xs:element ref="cw2:Identifier" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Title" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Award" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Language" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Extent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Format" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="cw2:DecisionEvent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:PublicationEvent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasOtherRelationship" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Item" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sourceId" use="optional" type="xs:anySimpleType"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="Item">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 4.4.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:ItemType" minOccurs="0"/>
				<xs:element ref="cw2:RecordSource" minOccurs="0"/>
				<xs:element ref="cw2:Identifier" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Title" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="HoldingInstitution" type="xs:string" minOccurs="1"
					maxOccurs="unbounded"/>
				<xs:element name="InventoryNumber" type="xs:anySimpleType" minOccurs="0"
					maxOccurs="unbounded"/>
				<xs:element name="CopyType" type="xs:string" minOccurs="0" maxOccurs="1"/>
				<xs:element name="VariationFromManifestation" type="xs:string" maxOccurs="1"/>
				<xs:element name="AccessConditions" type="xs:string" minOccurs="0"
					maxOccurs="unbounded"/>
				<xs:element name="CatalogueReference" type="cw2:CatalogueReferenceType"
					minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:Extent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:PreservationEvent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:HasOtherRelationship" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sourceId" use="optional" type="xs:anySimpleType"/>
			<xs:attribute name="itemType" use="optional" type="cw2:ItemTypeType"/>
		</xs:complexType>
	</xs:element>

	<!-- *********************** dependent elements *********************** -->

	<xs:element name="Identifier" type="cw2:IdentifierType">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.1.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="RecordSource">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.2.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:SourceName" minOccurs="1" maxOccurs="1"/>
				<xs:element name="SourceIdentifier" type="cw2:IdentifierType" minOccurs="0"
					maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="EditorialNote" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Not defined in EN 15907 but existent in most filmographic record schemas.
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	

	<xs:element name="Title">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.3.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="TitleText" type="cw2:TextWithLanguageAttrType" minOccurs="1"
					maxOccurs="1"/>
				<xs:element name="PartDesignation" minOccurs="0" maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="unit" type="cw2:PartUnitType" minOccurs="1" maxOccurs="1"/>
							<xs:element name="value" type="xs:anySimpleType" minOccurs="1" maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="TitleRelationship" type="cw2:TitleRelationshipType" minOccurs="1"
					maxOccurs="1"/>
				<xs:element name="TemporalScope" type="cw2:TimespanType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="RegionalScope" type="cw2:RegionType" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="sourceId" type="xs:anySimpleType" use="optional"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="IdentifyingTitle" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.4.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="CountryOfReference">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.5.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="cw2:Country" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="reference" type="cw2:CountryOfReferenceReferenceType" default="production" use="optional"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="YearOfReference">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.6.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="reference" type="cw2:YearOfReferenceReferenceType" default="production" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>


	<xs:element name="Format">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.7.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CarrierType" type="cw2:CarrierTypeType" minOccurs="0"
					maxOccurs="1"/>
				<xs:element name="Gauge" type="cw2:GaugeType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="AspectRatio" type="cw2:AspectRatioType" minOccurs="0"
					maxOccurs="1"/>
				<xs:element name="SoundSystem" minOccurs="0" maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="HasSound" type="xs:boolean" minOccurs="0"
								maxOccurs="1"/>
							<xs:element name="IsRecordingSystem" type="xs:boolean" minOccurs="0"
								maxOccurs="1"/>
							<xs:element name="SystemName" type="cw2:SoundSystemNameType" minOccurs="0"
								maxOccurs="1"/>
							<xs:element name="Method" type="xs:string" minOccurs="0" maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Colour" type="cw2:ColourType" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>

	</xs:element>

	<xs:element name="Extent">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.8.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="unit" type="xs:anySimpleType" use="required"/>
					<xs:attribute name="reference" type="xs:anySimpleType" use="optional"/>
					<xs:attribute name="frameRate" type="xs:anySimpleType" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="Language">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.10.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="cw2:LanguageTagType">
					<xs:attribute name="usage" type="cw2:LanguageUsageType" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="ProductionEvent">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.11.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="cw2:ProductionEventType">
					<xs:attribute name="sourceID" use="optional" type="xs:string"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="PublicationEvent" type="cw2:PublicationEventType">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.12.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="Award">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.13.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Date" type="cw2:TimespanType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="NominationOnly" type="xs:boolean" default="false" minOccurs="0"
					maxOccurs="1"/>
				<xs:element name="AwardName" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="Achievement" type="cw2:TextWithLanguageAttrType" minOccurs="0"
					maxOccurs="1"/>
				<xs:element name="EventRelationship" type="cw2:EventRelationshipType" minOccurs="0"
					maxOccurs="1"/>
				<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="DecisionEvent">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.14.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="DecisionType" type="cw2:DecisionTypeType" minOccurs="1"
					maxOccurs="1"/>
				<xs:element name="DecisionDate" type="cw2:TimespanType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="RegionalScope" type="cw2:RegionType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="Agency" type="xs:string" minOccurs="0" maxOccurs="1"/>
				<xs:element name="CertificateNumber" type="xs:anySimpleType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="Verdict" type="cw2:TextWithLanguageAttrType" minOccurs="0"
					maxOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="sourceId" type="xs:anySimpleType" use="optional"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="IPRRegistration">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.15.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="RegistrationDate" type="cw2:TimespanType" minOccurs="1"
					maxOccurs="1"/>
				<xs:element name="RegistrationAgency" type="xs:string" minOccurs="0" 
					maxOccurs="1"/>
				<xs:element name="RegionalScope" type="cw2:RegionType" minOccurs="1"
					maxOccurs="unbounded"/>
				<xs:element name="NameOfApplicant" type="xs:string" minOccurs="0"
					maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="SubjectTerms">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.16.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Term" type="cw2:TermType" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="scheme" type="xs:anySimpleType" use="optional"/>
			<xs:attribute name="language" type="cw2:LanguageTagType" use="optional"/>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="TermType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="termID" type="xs:anySimpleType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	


	<xs:element name="HasAgent">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.17.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="cw2:HasAgentType">
					<xs:attribute name="sourceID" use="optional" type="xs:string"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="HasAsSubject">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 8.5.
			</xs:documentation>		
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="RelationshipType" type="cw2:SubjectRelationshipType" 
					minOccurs="1" maxOccurs="unbounded"/>
				<xs:element name="Target" type="cw2:RelationshipTargetType" 
					minOccurs="1" maxOccurs="1" />
			</xs:sequence>
			<xs:attribute name="sourceID" type="xs:anySimpleType" use="optional"/>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="PreservationEvent">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.15.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="PreservationType" type="cw2:PreservationEventType" minOccurs="1" maxOccurs="1"/>
				<xs:element name="Date" type="cw2:TimespanType" minOccurs="0" maxOccurs="1"/>
				<xs:element name="PreservationDetail" type="xs:string" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="HasOtherRelationship">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.19.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="RelationshipType" type="cw2:OtherRelationshipType" minOccurs="1" maxOccurs="1"/>
				<xs:element name="Target" type="cw2:HasOtherRelationshipTargetType" minOccurs="1"
					maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sourceID" type="xs:anySimpleType" use="optional"/>
		</xs:complexType>
	</xs:element>

	<xs:element name="ContentDescription">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.20.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="DescriptionType" type="xs:anySimpleType" minOccurs="1" maxOccurs="1"/>
				<xs:element name="DescriptionText" type="cw2:TextWithLanguageAttrType" minOccurs="1" maxOccurs="1"/>
				<!-- <xs:element name="DescriptionText" type="xs:string" minOccurs="1" maxOccurs="1"/> 
				<xs:element name="Language" type="cw2:LanguageTagType" minOccurs="1" maxOccurs="1"/> -->
				<xs:element name="DescriptionSource" type="xs:string" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="VariantType" type="cw2:VariantTypeType"/>
	<xs:element name="ManifestationType" type="cw2:ManifestationTypeType"/>
	<xs:element name="ItemType" type="cw2:ItemTypeType"/>
	
	
	<!-- *********************** dependent elements, 2nd level *********************** -->

	<xs:element name="SourceName">
		<xs:annotation>
			<xs:documentation>
				Cf. Section 6.2.2, element "Source name"
			</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string"/>
		</xs:simpleType>
	</xs:element>

	<xs:element name="Country">
		<xs:annotation>
			<xs:documentation>
				Cf. Section 6.5.2
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="cw2:RegionType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="RegionCode" type="cw2:CodedRegionType">
		<xs:annotation>
			<xs:documentation>
				Cf. Section 7.1.2, element "code"
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="RegionName" type="cw2:PlainRegionType">
		<xs:annotation>
			<xs:documentation>
				Cf. Section 7.1.2, element "region name"
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	
<!-- 
        ************************** Types **************************** 
-->

	<xs:complexType name="IdentifierType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="scheme" type="xs:anyURI" use="required">
					<xs:annotation>
						<xs:documentation>
							Redefinable.
							Possible types:
									urn:ebu:metadata:cs:IdentifierTypeCodeCS:2006
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="numeric" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="DescriptionLevelEnum">
		<xs:annotation>
			<xs:documentation>
				Clause 4.1.1 specifies the following values: 
						a - Monographic component part
						b - Serial component part
						m - Monograph/Item
						s - Serial
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="a"/>
			<xs:enumeration value="b"/>
			<xs:enumeration value="m"/>
			<xs:enumeration value="s"/>
		</xs:restriction>
	</xs:simpleType>

	

	<xs:complexType name="RegionType">
		<xs:sequence maxOccurs="unbounded">
			<xs:choice>
				<xs:element ref="cw2:RegionCode" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="cw2:RegionName" minOccurs="0" maxOccurs="unbounded"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="CodedRegionType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    any enumerated type with values from one or more of the
					recommended controlled vocabularies. 
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="scheme" use="optional" default="ISO_3166-2"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="PlainRegionType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				The name of a region other than a country. Names may 
					be taken from a controlled vocabulary (such as a gazetteer),
					in which case the "scheme" attribute should carry the name of the
					vocabulary.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="cw2:TextWithLanguageAttrType">
				<xs:attribute name="scheme" type="cw2:RegionCodeSchemeEnum" fixed="none"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="TimespanType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					dateType from http://www.loc.gov/standards/mods/v3/mods-3-3.xsd
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="qualifier" type="cw2:TimeQualifierType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="HasAgentType">
		<xs:annotation>
			<xs:documentation>
				This defines a hybrid type that can act both as a container for, and a reference
					to an authority data record. It can also accomodate Agent statements from
					non-normalised databases (i.e. where only a name is given).
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Activity" minOccurs="1" maxOccurs="unbounded" type="cw2:AgentActivityType"/>
			<xs:element name="CreditRank" minOccurs="0" maxOccurs="1" type="xs:int"/>
			<xs:element name="AgentName" minOccurs="1" maxOccurs="unbounded" type="xs:string"/>
			<xs:element name="NameUsed" minOccurs="0" maxOccurs="1" type="xs:string"/>
			<xs:element name="AgentType" minOccurs="0" maxOccurs="1" type="xs:string"/>
			<xs:element name="AgentRef" minOccurs="0" maxOccurs="unbounded" type="xs:anyURI"/>
			<xs:element name="AgentInstance" minOccurs="0" maxOccurs="unbounded"
				type="cw2:AgentInstanceType"/>
			<xs:element name="ActivityDetail" minOccurs="0" maxOccurs="1" type="xs:string"/>
			<xs:element name="Character" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="AgentActivityType">
		<xs:annotation>
			<xs:documentation>
				The kind of activity of an Agent w.r.t. a describend entity such as
					a cinematographic work, an event, etc.
				Terms describing the activity should be taken from a controlled 
					vocabulary, preferably a publicly accessible one. If a <i>vocSource</i>
					cannot be given, then the element value is considered as originating  
					from an uncontrolled vocabulary.
				May be restricted in an application profile.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocSource" type="xs:anyURI" use="optional" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="AgentInstanceType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					AgentType from http://www.mpeg7.org/2001/MPEG-7_Schema
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any processContents="lax" minOccurs="1"/>
			<xs:element name="note" type="xs:string" minOccurs="0"/> <!-- schieben nach AppDefs -->
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ProductionEventType">
		<xs:annotation>
		<xs:documentation>
			Unfortunately, the type name collides with the name of the first sub-element as
				defined in EN 15907.
		</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ProductionEvent_Type" minOccurs="1" maxOccurs="1" type="xs:string"/>
			<xs:element name="Place" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
			<xs:element name="Region" minOccurs="0" maxOccurs="unbounded" type="cw2:RegionType"/>
			<xs:element name="Date" minOccurs="0" maxOccurs="unbounded" type="cw2:TimespanType"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="PublicationEventType">
		<xs:sequence>
			<xs:element name="PublicationType" type="cw2:PublicationTypeType" minOccurs="1"
				maxOccurs="1"/>
			<xs:element name="PublicationDate" type="cw2:TimespanType" minOccurs="0"
				maxOccurs="unbounded"/>
			<xs:element name="Region" type="cw2:RegionType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Location" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="EventName" type="cw2:TextWithLanguageAttrType" minOccurs="0"
				maxOccurs="unbounded"/>
			<xs:element name="AccessConditions" type="xs:string" minOccurs="0"
				maxOccurs="unbounded"/>
			<xs:element ref="cw2:HasAgent" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="cw2:HasOtherRelationship" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="sourceID" type="xs:anySimpleType" use="optional"/>
	</xs:complexType>
	
	<xs:complexType name="TitleRelationshipType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					titleInfoType from http://www.loc.gov/standards/mods/v3/mods-3-3.xsd
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="PartUnitType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="SubjectRelationshipType">
		<xs:annotation>
			<xs:documentation>
				Semantics of a subject relationship statement. Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="OtherRelationshipType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:simpleType name="CountryOfReferenceReferenceType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    Enumeration of item types 
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>

	<xs:simpleType name="YearOfReferenceReferenceType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				   Enumeration of item types 
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	
	<xs:simpleType name="ItemTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    Enumeration of item types 
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	

	<xs:simpleType name="ManifestationTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    Enumeration of Manifestation types 
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	
	
	<xs:simpleType name="VariantTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    Enumeration of Variant types 
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>

	<xs:complexType name="CarrierTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					urn:ebu:metadata:cs:StorageTypeCodeCS:2006
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="GaugeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="AspectRatioType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					urn:ebu:metadata:cs:VisualAspectRatioCS:2006
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="ColourType">
		<xs:annotation>
			<xs:documentation>
				Possible alternative types:
					urn:ebu:metadata:cs:ColourCodeCS:2006
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Chromatism" type="cw2:ChromatismType" />
			<xs:element name="ColourSystem" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ChromatismType">
		<xs:annotation>
			<xs:documentation>
				A name for the colour state or colour space, 
				to be selected from a suitable controlled vocabulary.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="SoundSystemNameType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="LanguageUsageType">
		<xs:annotation>
			<xs:documentation>
				Cf. clause 6.10.
				Redefinable.
				    Possible types:
						urn:ebu:metadata:cs:Language-AudioPurposeCS
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:anyURI xs:string"></xs:union>
		
	</xs:simpleType>

	<xs:complexType name="RelationshipTargetType">
		<xs:annotation>
			<xs:documentation>
				Encoding for the target end of a relationship statement.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Identifier" type="cw2:IdentifierType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="TargetName" type="xs:string" minOccurs="0" maxOccurs="1"/>
			<xs:element name="SectionID" type="cw2:SectionIDType" minOccurs="0"
				maxOccurs="unbounded"> </xs:element>
		</xs:sequence>
		<xs:attribute name="scheme" type="xs:anySimpleType" use="optional"/>
	</xs:complexType>

	<xs:complexType name="HasOtherRelationshipTargetType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					urn:ebu:metadata:cs:HowRelatedCS:2006
					urn:tva:metadata:cs:HowRelatedCS:2002
					relatedItemType from http://www.loc.gov/standards/mods/v3/mods-3-3.xsd
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Identifier" type="cw2:IdentifierType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="TargetName" type="xs:string" minOccurs="0" maxOccurs="1"/>
			<xs:element name="SectionID" type="cw2:SectionIDType" minOccurs="0"
				maxOccurs="unbounded"> </xs:element>
		</xs:sequence>
		<xs:attribute name="scheme" type="xs:anySimpleType" use="optional"/>
	</xs:complexType>

	<xs:complexType name="CatalogueReferenceType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				    root element ('holdings') of
					http://www.loc.gov/standards/iso20775/ISOholdings_V1.0.xsd 
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="SectionIDType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
					areaType with attribute BETYPE in
						http://www.loc.gov/standards/mets/mets.xsd
					VideoSegmentType in http://www.mpeg7.org/2001/MPEG-7_Schema
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="DecisionTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				     Enumeration of decision types for a given language. 
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="lang" type="cw2:LanguageTagType" use="optional"/>
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="PublicationTypeType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible types:
				     Enumeration of publication types for a given language. 
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="lang" type="cw2:LanguageTagType" use="optional"/>
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="PreservationEventType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="vocabularySource" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="EventRelationshipType">
		<xs:annotation>
			<xs:documentation>
				Redefinable.
				Possible type:
				 Enumeration of event relationships for a given language.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>				
	</xs:complexType>

	<xs:simpleType name="LanguageTagType">
		<xs:restriction base="xs:string">
			<!-- note that this is the RFC 3066 pattern as specified in 
                http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/. 
                An xml:lang pattern based on RFC 4646 is apparently not (yet) available. -->
			<xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TimeQualifierType">
		<xs:annotation>
			<xs:documentation>
				Qualifiers for relative or imprecise time points or time spans.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="after"/>
			<xs:enumeration value="before"/>
			<xs:enumeration value="between"/>
			<xs:enumeration value="circa"/>
			<xs:enumeration value="ended"/>
			<xs:enumeration value="started"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="RegionCodeSchemeEnum">
		<xs:annotation>
			<xs:documentation>
				A list of encoding schemes for geographic regions.
				To be defined in an application schema.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
		<!--
		<xs:restriction base="xs:string">
			<xs:enumeration value="ISO 3166-2"/>
			<xs:enumeration value="AFNOR XP Z44"/>
			<xs:enumeration value="MARC"/>
			<xs:enumeration value="local"/>
			<xs:enumeration value="none"/>
		</xs:restriction>
		-->
	</xs:simpleType>

	<xs:complexType name="TextWithLanguageAttrType">
		<xs:annotation>
			<xs:documentation>
				A type for strings with a language attribute.
			</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="lang" type="cw2:LanguageTagType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
		
</xs:schema>
