<?xml version="1.0" encoding="UTF-8"?>
<!-- XML-Dateien werden von vielen Browsern neu formatiert und manchmal werden Teile ausgeblendet.   -->
<!-- Um alles anzuzeigen, kann man in jedem Fall den Seitenquelltext betrachten (STRG+U in Firefox). -->

<!-- Hier wird eine Entity als Abkürzung definiert -->
<!DOCTYPE xsd:schema[
		<!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
]>

<!-- Auch bei der Einführung des Namespaces hilft die Kurzschreibweise mit Entities -->
<xsd:schema xmlns:xsd="&xsd;">
	<xsd:element name="bib">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element minOccurs="0" maxOccurs="unbounded" ref="book"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="book">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="title"/>
					<xsd:choice>
						<xsd:element maxOccurs="unbounded" ref="author"/>
						<xsd:element maxOccurs="unbounded" ref="editor"/>
					</xsd:choice>
				<xsd:element ref="publisher"/>
				<xsd:element ref="price"/>
			</xsd:sequence>
			<xsd:attribute name="year" type="&xsd;string" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="author">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="last"/>
				<xsd:element ref="first"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="editor">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="last"/>
				<xsd:element ref="first"/>
				<xsd:element ref="affiliation"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="title" type="&xsd;string"/>
	<xsd:element name="last" type="&xsd;string"/>
	<xsd:element name="first" type="&xsd;string"/>
	<xsd:element name="affiliation" type="&xsd;string"/>
	<xsd:element name="publisher" type="&xsd;string"/>
	<xsd:element name="price" type="&xsd;string"/>
</xsd:schema>