<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:rss10="http://purl.org/rss/1.0/"
	targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	elementFormDefault="qualified">

	<xs:annotation>
		<xs:documentation>
			Based on dcmes-rdf.xsd from www.dublincore.org and modified to allow processing
			with Castor.
		</xs:documentation>
	</xs:annotation>

	<xs:import namespace="http://purl.org/rss/1.0/" schemaLocation="rss10.xsd" />

	<xs:element name="RDF">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="rss10:channel"  minOccurs="1" />
					<xs:element ref="rss10:image" minOccurs="0" />
					<xs:element ref="rss10:item" minOccurs="1" maxOccurs="unbounded" />
					<xs:element ref="rss10:textinput"  minOccurs="0" />
					<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Extensibility element.</xs:documentation>
					</xs:annotation>
				</xs:any>
				</xs:choice>
			</xs:sequence>
			<xs:anyAttribute namespace="##any"/>
		</xs:complexType>
	</xs:element>
	
	<!-- this is horrible. Description belongs to the RDF namespace, so that element is in the right
		place here. But the references to stuff from the DC namespace are awful. If substitutionGroups
		worked, the DC stuff could be encapsulated in the DC schema -->
	<xs:element name="li">
		<xs:complexType>
			<xs:attribute name="resource" use="required" />
		</xs:complexType>
	</xs:element>
	<xs:element name="Seq">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="rdf:li" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:attribute name="about" type="xs:anyURI" />
	<xs:attribute name="resource" type="xs:anyURI" />

</xs:schema>
