<?xml version="1.0" encoding="UTF-8"?>
<!-- Erstellt mit XMLSpy v2010 rel. 2 (http://www.altova.com) -->
<!-- Copyright W. Ziegler, C. Oberle, D. Knopf -->
<!-- Version 2 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:complexType name="metaType">
		<xs:annotation>
			<xs:documentation>Metadaten zum dargestellten System. Der Metadatenblock wird im Gesamten in die einzelnen Grafiken und Grafikdaten-Dateien übernommen, sofern die Option Anonymisierung nicht aktiviert wurde.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="sysOwner" type="xs:string">
				<xs:annotation>
					<xs:documentation>Unternehmen, in dem das System läuft</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sysType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Hersteller/Version des Systems</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sysTime">
				<xs:annotation>
					<xs:documentation>Zeitpunkt des Snapshots für den statische Kennzahlen ermittelt werden oder "none"</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:union memberTypes="xs:dateTime">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:pattern value="none"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:union>
				</xs:simpleType>
			</xs:element>
			<xs:element name="sysVersion" type="xs:string">
				<xs:annotation>
					<xs:documentation>Spezifische Informationen (Produkt, Werk etc.)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="analysisType">
				<xs:complexType>
					<xs:choice>
						<xs:element name="sysChannel">
							<xs:annotation>
								<xs:documentation>Ausgewerteter Kanal (Vektor); Der ausgewertete Kanal besteht aus einem dreidimensionalen Vektor. Die Werte der Kanalattribute der Knoten müssen in der Auflistung des entsprechenden Kanalattributs von "sysChannel" enthalten sein, sofern dieses nicht "none" (keine Auswertung des Teilkanals) entspricht.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="docType" type="channelType" use="required">
									<xs:annotation>
										<xs:documentation>Kanalattribut; durch Leerzeichen getrennte Auflistung aller ausgewerteten Dokumenttypen oder "none". WICHTIG: Leerzeichen, die nicht als Trennzeichen gelten sollen, müssen in den einzelnen Werten der Liste durch "_" (Unterstriche) ersetzt werden. So werden unbeabsichtigte Trennungen vermieden.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="lang" type="langListType" use="required">
									<xs:annotation>
										<xs:documentation>Kanalattribut; durch Leerzeichen getrennte Auflistung aller ausgewerteten Sprachen oder "none" oder "all". WICHTIG: Die einzelnen Werte der Liste müssen vom Typ "langType" sein, d. h. eine Vereinigung aus dem Datentyp xs:language und den Zeichenketten "none" und "all". Leerzeichen sind innerhalb der einzelnen Werte nicht erlaubt, da sonst unbeabsichtigte Trennungen entstehen.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="mediaChannel" type="channelType" use="required">
									<xs:annotation>
										<xs:documentation>Kanalattribut; durch Leerzeichen getrennte Auflistung aller ausgewerteten Ausgabemedien oder "none". WICHTIG: Leerzeichen, die nicht als Trennzeichen gelten sollen, müssen in den einzelnen Werten der Liste durch "_" (Unterstriche) ersetzt werden. So werden unbeabsichtigte Trennungen vermieden.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="sysGlobal">
							<xs:annotation>
								<xs:documentation>Globale Analyse des gesamten Systems. Es findet keine Auswertung eines Kanals statt, weshalb alle Werte der Kanalattribute auf "all" gesetzt werden.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="docType" type="channelType" use="required" fixed="all">
									<xs:annotation>
										<xs:documentation>Kanalattribut; es findet keine Auswertung eines Kanals statt, weshalb alle Werte der Kanalattribute auf "all" gesetzt werden.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="lang" type="langListType" use="required" fixed="all">
									<xs:annotation>
										<xs:documentation>Kanalattribut; es findet keine Auswertung eines Kanals statt, weshalb alle Werte der Kanalattribute auf "all" gesetzt werden.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="mediaChannel" type="channelType" use="required" fixed="all">
									<xs:annotation>
										<xs:documentation>Kanalattribut; es findet keine Auswertung eines Kanals statt, weshalb alle Werte der Kanalattribute auf "all" gesetzt werden.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="langType">
		<xs:annotation>
			<xs:documentation>Datentyp für die Angabe der Sprache eines Knotens. Vereinigung aus dem Datentyp xs:language und den Zeichenketten "none" und "all".</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:language">
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="none|all"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="langListType">
		<xs:annotation>
			<xs:documentation>Listentyp, der eine durch Leerzeichen getrennte Sequenz von Sprachangaben enthält. Wird für Angaben zu den ausgewerteten Sprachen benötigt. Bei gemischtsprachigen Dokumenten muss es bspw. möglich sein im Attribut "lang" eine durch Leerzeichen getrennte Liste von Sprachangaben für alle Sprachen der referenzierten Module angeben zu können. WICHTIG: Die einzelnen Werte der Liste müssen vom Typ "langType" sein, d. h. eine Vereinigung aus dem Datentyp xs:language und den Zeichenketten "none" und "all". Leerzeichen sind innerhalb der einzelnen Werte nicht erlaubt, da sonst unbeabsichtigte Trennungen entstehen.</xs:documentation>
		</xs:annotation>
		<xs:list itemType="langType"/>
	</xs:simpleType>
	<xs:simpleType name="channelType">
		<xs:annotation>
			<xs:documentation>Listentyp, der eine durch Leerzeichen getrennte Sequenz von Werten enthält. Wird für die Angaben zum ausgewerteten Kanal benötigt. WICHTIG: Leerzeichen, die nicht als Trennzeichen gelten sollen, müssen in den einzelnen Werten der Liste durch "_" (Unterstriche) ersetzt werden. So werden unbeabsichtigte Trennungen vermieden.</xs:documentation>
		</xs:annotation>
		<xs:list itemType="xs:token"/>
	</xs:simpleType>
	<xs:complexType name="nodeType">
		<xs:annotation>
			<xs:documentation>Repräsention der Knoten des CMS; für jedes Element, das im CMS verwendet wird, muss ein "node"-Element vorhanden sein.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="size">
				<xs:annotation>
					<xs:documentation>Segmentanzahl W; Der Inhalt des Elements legt die Segmentgröße in verschiedenen Einheiten fest. Im Umkehrschluss bedeutet dies, dass jedes Element „node“ damit unter „size“ das entsprechende Element definiert haben muss. Legt die relevante Segmentgröße für das berechnete Attribut bzw. die berechnete Kennzahl „agg_segmentCount“ fest. 
Das Element „none“ wird nur gesetzt, wenn keine Knotengröße bekannt ist. Sofern nicht alle Knoten eine definierte Größe haben, können bestimmte Kennzahlen nicht ausgewertet werden.
WICHTIG: Für Dokumente und manche Module (die z.B. Fragmente referenzieren) gibt der Inhalt des size-Elements die Segmentgröße an, die das Dokument/das Modul zusätzlich zu den wiederverwendeten Knoten hat. Die gesamte Segmentgröße des Dokuments/des Moduls, inklusive der wiederverwendeten Knoten, wird erst für Level 2 berechnet und im Attribut "agg_segments" angegeben.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="none" type="xs:double" fixed="1">
							<xs:annotation>
								<xs:documentation>Segmentgröße unbekannt</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:sequence>
							<xs:element name="word" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Segmentgröße in Worten</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="phrase" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Segmentgröße in Sätzen</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="char" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Segmentgröße in Zeichen</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="element" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Segmentgröße in XML-Elementen</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="textElement" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Segmentgröße in XML-Elementen mit "reinem" Text als Content</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="userspecific" type="xs:double" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Benutzerdefinierte Segmentgröße</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="reuse" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Für jede Wiederverwendung eines anderen Knotens in diesem Knoten, muss ein "reuse"-Element vorhanden sein, welches eine eindeutige Zuordnung des verlinkten Elements erlaubt. Der Schlüssel besteht aus der ID, der Version und der Sprache des Knotens. Momentan wird automatisch die höchste Version eines Knotens zur Berechnung verwendet.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="id" type="xs:string" use="required">
						<xs:annotation>
							<xs:documentation>Verweis auf die ID des verlinkten "node"-Elements.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="lang" type="langListType" use="required">
						<xs:annotation>
							<xs:documentation>Verweis auf die Sprache des verlinkten "node"-Elements. Für die Angabe der Sprache eines Knotens wird eine Vereinigung aus dem Datentyp xs:language und den Zeichenketten "none" und "all" eingesetzt.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="version" type="xs:double" use="required">
						<xs:annotation>
							<xs:documentation>Verweis auf die Version des verlinkten "node"-Elements.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="node_Type" use="required">
			<xs:annotation>
				<xs:documentation>Typ des Knotens; doc=Dokument auf oberster Ebene; module=Knoten auf untergeordneten Ebenen; frag=Fragment (z.B. aus dem Reuse-Pool); graphic=Grafik; audio=Audiodatei; video=Videodatei; userspecificMedia= nutzerspezifische Mediendatei; ggf. weitere Medientypen definierbar</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="doc"/>
					<xs:enumeration value="module"/>
					<xs:enumeration value="frag"/>
					<xs:enumeration value="graphic"/>
					<xs:enumeration value="audio"/>
					<xs:enumeration value="video"/>
					<xs:enumeration value="userspecificMedia"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="id" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Id des Knotens</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lang" type="langListType" use="required">
			<xs:annotation>
				<xs:documentation>Sprache(n) des Knotens; Kanalattribut: Listentyp, der eine durch Leerzeichen getrennte Sequenz von Sprachangaben oder nur eine Sprachangabe enthalten kann. Wird für Angaben zu den ausgewerteten Sprachen benötigt. Bei gemischtsprachigen Dokumenten muss es bspw. möglich sein im Attribut "lang" eine durch Leerzeichen getrennte Liste von Sprachangaben für alle Sprachen der referenzierten Module angeben zu können. WICHTIG: Die einzelnen Werte der Liste müssen vom Typ "langType" sein, d. h. eine Vereinigung aus dem Datentyp xs:language und den Zeichenketten "none" und "all". Leerzeichen sind innerhalb der einzelnen Werte nicht erlaubt, da sonst unbeabsichtigte Trennungen entstehen.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="version" type="xs:double" use="required">
			<xs:annotation>
				<xs:documentation>Version des Knotens</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mediaChannel" type="channelType">
			<xs:annotation>
				<xs:documentation>Kanalattribut: Ausgabeformat des Knotens; durch Leerzeichen getrennte Auflistung aller ausgewerteten Ausgabemedien oder "none". WICHTIG: Leerzeichen, die nicht als Trennzeichen gelten sollen, müssen in den einzelnen Werten der Liste durch "_" (Unterstriche) ersetzt werden. So werden unbeabsichtigte Trennungen vermieden.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="docType" type="channelType">
			<xs:annotation>
				<xs:documentation>Kanalattribut: gibt die Knotenverwendung an (z.B. Benutzerhandbuch); nur in Verbindung mit node_Type="doc"; durch Leerzeichen getrennte Auflistung aller ausgewerteten Dokumenttypen oder "none". WICHTIG: Leerzeichen, die nicht als Trennzeichen gelten sollen, müssen in den einzelnen Werten der Liste durch "_" (Unterstriche) ersetzt werden. So werden unbeabsichtigte Trennungen vermieden.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dateInitial" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Datum der Erstellung</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dateFinal" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Datum der letzten Änderung</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:element name="REx1">
		<xs:annotation>
			<xs:documentation>Wurzelelement für REx-Level 1.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="meta">
					<xs:annotation>
						<xs:documentation>Metadaten zum dargestellten System. Der Metadatenblock wird im Gesamten in die einzelnen Grafiken und Grafikdaten-Dateien übernommen, sofern die Option Anonymisierung nicht aktiviert wurde.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="metaType">
								<xs:sequence>
									<xs:element name="default_segmentType" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Legt die Segmentgröße fest, die zur Berechnung verwendet wurde, (nur für REx-Level 2 mandatorisch). "none" als Wert bedeutet, dass keine Segmentgrößen zur Auswertung verwendet werden.</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:enumeration value="userspecific"/>
												<xs:enumeration value="phrase"/>
												<xs:enumeration value="word"/>
												<xs:enumeration value="char"/>
												<xs:enumeration value="element"/>
												<xs:enumeration value="textElement"/>
												<xs:enumeration value="none"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:element>
								</xs:sequence>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="raw">
					<xs:annotation>
						<xs:documentation>Rohdaten</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="node" type="nodeType" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Repräsention der Knoten des CMS; für jedes Element, das im CMS verwendet wird, muss ein "node"-Element vorhanden sein.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
					<xs:key name="nodeKey">
						<xs:annotation>
							<xs:documentation>Um einen Knoten eindeutig identifizieren zu können, wird ein dreiteiliger Schlüssel bestehend aus ID, Sprache und Version eingesetzt. Für jeden Knoten, der innerhalb des reuse-Elements referenziert wird, muss ein node-Element mit diesem dreiteiligen Schlüssel vorhanden sein.</xs:documentation>
						</xs:annotation>
						<xs:selector xpath="node"/>
						<xs:field xpath="@id"/>
						<xs:field xpath="@lang"/>
						<xs:field xpath="@version"/>
					</xs:key>
					<xs:keyref name="reuseKey" refer="nodeKey">
						<xs:selector xpath="node/reuse"/>
						<xs:field xpath="@id"/>
						<xs:field xpath="@lang"/>
						<xs:field xpath="@version"/>
					</xs:keyref>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="rexVersion" use="required">
				<xs:annotation>
					<xs:documentation>REx-Versionsnummer: das Versionsattribut erhält die erlaubten Werte mit dem Fortschreiten des Standards. Aktuell ist nur Wert "1.1" zugelassen.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:double">
						<xs:enumeration value="1.1"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="rexLevel" type="xs:double" use="required" fixed="1">
				<xs:annotation>
					<xs:documentation>REx-Level: das Levelattribut erhält die erlaubten Werte mit dem Fortschreiten des Standards. Für dieses Schema ist nur der Wert "1" zugelassen, da es sich um eine Strukturdefinition zu REx-Level 1 handelt. Für eine Beschreibung des Levels siehe Spezifikation.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
