﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.webs.idu.de/eApwDiagramme"
				elementFormDefault="qualified"
				xmlns="http://schemas.webs.idu.de/eApwDiagramme"
				xmlns:mstns="http://schemas.webs.idu.de/eApwDiagramme"
				xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:annotation>
		<xs:documentation>
			<![CDATA[
		
			XML-Schema-Definition für Diagramme in der eAPW
		
		]]>
		</xs:documentation>
	</xs:annotation>

	<xs:element name="Diagramme">
		<xs:annotation>
			<xs:documentation>
				eine Liste von Diagrammkonfigurationen
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Diagramm" minOccurs="0" maxOccurs="unbounded" type="DiagrammType" />
			</xs:sequence>
		</xs:complexType>
		<xs:key name="UniqueDiagrammKey">
			<xs:annotation>
				<xs:documentation>
					der Schlüssel eines Diagramms muss eindeutig sein
				</xs:documentation>
			</xs:annotation>
			<xs:selector xpath="mstns:Diagramm" />
			<xs:field xpath="@schluessel" />
		</xs:key>
	</xs:element>

	<xs:complexType name="DiagrammType">
		<xs:annotation>
			<xs:documentation>Typ mit den zu konfigurierenden Eigenschaften für ein Diagramm</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" minOccurs="1" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						die Bezeichnung dieses Diagramms - der Platzhalter "$PARAMETERNAME$" ist möglich, um dem aktuellen Parameter in den Titel einfließen zu lassen
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Beschreibung" minOccurs="1" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						eine Beschreibung zu diesem Diagramm - es ist die Verwendung von HTML möglich
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NameYAchse" minOccurs="0" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						ggf. die Vorgabe für die Benennung der Y-Achse. Es sind die Platzhalter "$PARAMETERNAME$", "$PARAMETERNAMEZUSATZ$", "$PARAMETEREINHEIT$" möglich. Weiterhin können Metadaten zur Messstelle verwendet werden. Dazu sind die Platzhalter zu bilden über "$MD${MdTitel}$", wobei "{MdTitel}" dann durch die Bezeichnung des Metadatums zu ersetzen ist. Damit können auch mehrere Metadaten-Platzhalter verwendet werden. Sollte zur Messstelle das Metadatum mit dem angegebenen Titel nicht vorhanden sein, wird die Stelle durch einen Leerstring - also nichts - belegt. Standardmäßig wird der Name gebildet aus "$PARAMETERNAME$ ($PARAMETEREINHEIT$)".
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Farbe" minOccurs="1" maxOccurs="1" type="FarbeType">
				<xs:annotation>
					<xs:documentation>
						die Farbe, mit der dieser Parameter in diesem Diagramm dargestellt werden soll
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ZweiteYAchse" minOccurs="0" maxOccurs="1" type="ZweiteYAchseType">
				<xs:annotation>
					<xs:documentation>
						die Möglichkeit eine zweite Y-Achse, welche aber direkt von den Werten der ersten Achse abhängig sein muss, anzeigen zu lassen
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Trendlinie" minOccurs="0" maxOccurs="1" type="TrendType">
				<xs:annotation>
					<xs:documentation>
						hier kann ggf. eine Trendlinie konfiguriert werden, die im Diagramm auftauchen soll
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Markierung" minOccurs="0" maxOccurs="unbounded" type="SimpleMarkerType">
				<xs:annotation>
					<xs:documentation>
						hier können beliebig viele einfache Markierungen (horizontale Linien) hinterlegt werden
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MetadatenMarkierung" minOccurs="0" maxOccurs="unbounded" type="MetadataMarkerType">
				<xs:annotation>
					<xs:documentation>
						hier können beliebig viele Markierungen (horizontale Linien) hinterlegt werden, die ihren Wert aus den Metadaten der konkreten Meßstelle beziehen
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AufrufMarkierung" minOccurs="0" maxOccurs="unbounded" type="RequestMarkerType">
				<xs:annotation>
					<xs:documentation>
						hier können beliebig viele Markierungen (horizontale Linien) hinterlegt werden, die ihren Wert beim Diagrammaufruf im QueryString übergeben bekommen
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Zusatzparameter" minOccurs="0" maxOccurs="unbounded" type="ParameterMarkerType">
				<xs:annotation>
					<xs:documentation>
						hier können beliebig viele Markierungen auf Basis von Parametern hinterlegt werden
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Parameterauswahl" minOccurs="0" maxOccurs="1" type="ParameterAuswahlType">
				<xs:annotation>
					<xs:documentation>
						hiermit kann gesteuert werden, dass auch andere Parameter zu der Meßstelle aus dem Diagramm heraus aufgerufen werden können
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Zeitraumfilter" minOccurs="0" maxOccurs="1" type="ZeitraumType">
				<xs:annotation>
					<xs:documentation>
						Hier kann optional der Zeitraum vorgegeben werden, für den Daten im Diagramm dargestellt werden. Dieser Zeitraum schränkt die in der DB vorhandenen Daten für die Anzeige weiter ein.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Initialzeitraum" minOccurs="0" maxOccurs="1" type="ZeitraumType">
				<xs:annotation>
					<xs:documentation>
						Hier kann optional der Zeitraum vorgegeben werden, der initial im Haupt-Diagramm dargestellt werden soll. Wenn nichts angegeben wird, werden die letzten 30 Tage angezeigt.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="schluessel" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>
					jede Diagrammkonfiguration muss einen eindeutigen Schlüssel haben - über diesen wird das Diagramm dann auch aufgerufen
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="parameterId" type="xs:int" use="required">
			<xs:annotation>
				<xs:documentation>
					die Id des Parameters, der in diesem Diagramm angezeigt werden soll
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="koordiatenAnzeigen" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>
					ob die Koordinaten der Meßstelle in den Metadaten mit ausgegeben werden sollen - Standard ist 'ja'
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uhrzeitAnzeigen" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					ob die Uhrzeit zu den Messwerten mit ausgegeben werden soll - Standard ist 'nein'
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zeitraumBisJetzt" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					standardmäßig wird der Gesamtzeitraum des Diagramms durch den Zeitraum bestimmt, in dem Daten vorliegen. Ggf. gefiltert über den Zeitraum-Filter. Wird diese Einstellung hier auf 'ja' gesetzt, dann ist der Endzeitpunkt des Diagramms der aktuelle Tag bzw. die aktuelle Uhrzeit der Diagrammerstellung. - Standard ist 'nein'
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zeitraumBisGestern" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					standardmäßig wird der Gesamtzeitraum des Diagramms durch den Zeitraum bestimmt, in dem Daten vorliegen. Ggf. gefiltert über den Zeitraum-Filter. Wird diese Einstellung hier auf 'ja' gesetzt, dann ist der Endzeitpunkt des Diagramms der gestrige Tag bzw. die aktuelle Uhrzeit der Diagrammerstellung am Vortag. - Standard ist 'nein'. Nicht zusammen mit 'zeitraumBisJetzt' auf 'ja' stellen! Achtung: im Gegensatz zu zeitraumBisJetzt führt das zeitraumBisGestern dazu, dass generell keine Werte mit größerem Datum mehr angezeigt werden - d.h. die Zeitreihe wird beschnitten.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="yAchseAbsteigend" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					standardmäßig werden auf der Y-Achse kleine Werte unten dargestellt und große Werte oben. Durch Einstellung dieses Attributs auf 'ja' kann die Achse gedreht werden. D.h. große Werte stehen unten und kleine Werte oben. Diese Einstellung wirkt sowohl auf das Hauptdiagramm als auch auf das Übersichtsdiagramm unten. - Standard ist 'nein'
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="yAchseNegativ" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					standardmäßig werden keine negativen Werte auf der y-Achse gezeigt. Durch Einstellung dieses Attributs auf 'ja' werden auch negative Werte angezeigt. Wichtig: es wird zu dem Wertevorrat noch ein Offset auf die Enden der Achse ermittelt. Dies kann hier dazu führen dass eine Achse im negativen beginnt, auch wenn die Werte nie negativ werden.  - Standard ist 'nein'
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="einzelDateiExportOhneHinweise" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>
					standardmäßig wird der Einzeldatei-Export (der auch der NichtExpertenExport ist) mit Hinweisen ausgegeben. Durch Einstellung dieses Attributs auf 'ja' , werden auch hier keine Hinweise ausgegeben
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nachkommastellenAuffuellen" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>
					ob die Nachkommastellen bei der Anzeige der Werte mit Nullen nach hinten aufgefüllt werden sollen
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>


	<xs:complexType name="MarkeriungBaseType" abstract="true">
		<xs:annotation>
			<xs:documentation>Basistyp für Markerungen</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" minOccurs="1" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						die Bezeichnung dieser Markierung
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Beschreibung" minOccurs="0" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						eine optionale Beschreibung dieser Markierung - es ist die Verwendung von HTML möglich
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Farbe" minOccurs="1" maxOccurs="1" type="FarbeType">
				<xs:annotation>
					<xs:documentation>
						die Farbe, mit der diese Markierung dargestellt werden soll
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="sichtbarkeit" type="SichtbarkeitType" use="optional" default="NichtSichtbar">
			<xs:annotation>
				<xs:documentation>
					die Sichtbarkeitseinstellung - standardmäßig ist eine Markerung zuschaltbar
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="TrendType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung zu Trendlinien</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="MarkeriungBaseType">
				<xs:attribute name="berechnung" type="TrendBerechnungType" use="required">
					<xs:annotation>
						<xs:documentation>
							Angabe, nach welcher Methode die Trendlinie berechnet werden soll
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="polynomialeRegressionGrad" type="xs:int" use="optional">
					<xs:annotation>
						<xs:documentation>
							Bei Verwendung der Polynomialen Regression ist der Grad anzugeben
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="SimpleMarkerType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung von einfachen (also horizontalen) Markeriungen</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="MarkeriungBaseType">
				<xs:attribute name="wert" type="xs:double" use="required">
					<xs:annotation>
						<xs:documentation>
							der Wert, an dem die Linie eingezeichnet werden soll - muss von der Einheit zu der des Parameters passen!
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="MetadataMarkerType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung von einfachen (also horizontalen) Markeriungen, deren Wert jedoch nicht konstant ist, sondern sich aus einem Metadatum der konkreten Meßstelle ergibt</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="MarkeriungBaseType">
				<xs:attribute name="metadatum" type="xs:string" use="required">
					<xs:annotation>
						<xs:documentation>
							Name des Metadatums, aus dem der Wert, an dem sich die Markierung befinden soll, ausgelesen werden soll. Achtung: der Wert muss von der Einheit her passen! Ist das Metadatum nicht vorhanden, wird die Markierung im Diagramm nicht angezeigt und ein Hinweis ausgegeben.
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="RequestMarkerType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung von einfachen (also horizontalen) Markeriungen, deren Wert jedoch nicht konstant ist, sondern sich aus dem QueryString des Aufrufs ergibt</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="MarkeriungBaseType">
				<xs:attribute name="querystringkey" type="xs:string" use="required">
					<xs:annotation>
						<xs:documentation>
							Name des Parameters im Querystring (nach dem festen Prefix 'QURPRM_'), aus dem der Wert, an dem sich die Markierung befinden soll, ausgelesen werden soll. Achtung: der Wert muss von der Einheit her passen! Ist der QueryString-Parameter nicht vorhanden, wird die Markierung im Diagramm nicht angezeigt und ein Hinweis ausgegeben.
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ParameterMarkerType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung von Markeriungen, die sich aus Zusatz-Parametern ergeben</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="MarkeriungBaseType">
				<xs:attribute name="parameterId" type="xs:int" use="required">
					<xs:annotation>
						<xs:documentation>
							die Id des Parameters, dessen Daten für die Markierung herangezogen werden sollen. Ist der Parameter an der Meßstelle nicht vorhanden, wird die Markierung nicht im Diagramm angezeigt und ein Hinweis ausgegeben.
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="linienTyp" type="ParameterMarkerLineType" use="required">
					<xs:annotation>
						<xs:documentation>
							Art der Linie, die durch die Werte des Zusatzparameters gelegt werden soll
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ParameterAuswahlType">
		<xs:annotation>
			<xs:documentation>Typ für die Einstellung, dass auf andere Parameter der Meßstelle umschaltbar ist</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="1" maxOccurs="1">
			<xs:element name="Alle">
				<xs:annotation>
					<xs:documentation>
						dann werden alle Parameter angeboten, die an dieser Meßstelle hinterlegt sind
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Auswahl">
				<xs:annotation>
					<xs:documentation>
						dann werden nur die nachfolgenden Parameter angeboten
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:choice minOccurs="1" maxOccurs="1">
							<xs:element name="Parameter" minOccurs="1" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>
										Angabe eines oder mehrerer Parameter für den Umschalter
									</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="parameterId" use="required" type="xs:int">
										<xs:annotation>
											<xs:documentation>
												die Id des gewünschten Parameters
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="Stoffgruppe" minOccurs="1" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>
										Angabe einer oder mehrerer Stoffgruppen für den Umschalter
									</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="stoffgruppeId" use="required" type="xs:int">
										<xs:annotation>
											<xs:documentation>
												die Id der gewünschten Stoffgruppe
											</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
				<xs:key name="UniqueParameter">
					<xs:annotation>
						<xs:documentation>
							ein Parameter darf nicht mehrfach angegeben werden
						</xs:documentation>
					</xs:annotation>
					<xs:selector xpath="mstns:Parameter" />
					<xs:field xpath="@parameterId" />
				</xs:key>
				<xs:key name="UniqueStoffgruppe">
					<xs:annotation>
						<xs:documentation>
							eine Stoffgruppe darf nicht mehrfach angegeben werden
						</xs:documentation>
					</xs:annotation>
					<xs:selector xpath="mstns:Stoffgruppe" />
					<xs:field xpath="@stoffgruppeId" />
				</xs:key>
			</xs:element>
		</xs:choice>
		<xs:attribute name="stoffgruppenAuswahl" type="xs:boolean" default="false" use="optional">
			<xs:annotation>
				<xs:documentation>
					ob die Stoffgruppen im Parameter-Umschalter zur Vorauswahl angezeigt werden - gleichzeitig ist im erweiterten Export dann auch die Möglichkeit gegeben, alle Parameter der aktuellen Stoffgruppe zu exportieren
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="kompartimentAuswahl" type="xs:boolean" default="false" use="optional">
			<xs:annotation>
				<xs:documentation>
					ob die Kompartimente im Parameter-Umschalter zur Vorauswahl angezeigt werden - gleichzeitig ist im erweiterten Export dann auch die Möglichkeit gegeben, alle Parameter des aktuellen Kompartiments zu exportieren
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mehrereExportieren" use="optional">
			<xs:annotation>
				<xs:documentation>
					ob eine Exportmöglichkeit für mehrerer / alle Parameter der Auswahlliste zur Verfügung stehen soll - wenn ja, ist mindestens eine der Varianten anzugeben - wenn nein, dann ist die Einstellung weg zu lassen
				</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:list itemType="ExportMultiParameterVersionType">
				</xs:list>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="ZeitraumType">
		<xs:annotation>
			<xs:documentation>Typ für die Angabe von Zeiträumen</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="1" maxOccurs="1">
			<xs:element name="VonBis">
				<xs:annotation>
					<xs:documentation>
						eine Angabe mit Von-Datum + Bis-Datum
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="von" type="xs:date" use="optional">
						<xs:annotation>
							<xs:documentation>
								Beginn des Zeitraums - wenn leer, dann bis zum ersten Datensatz
							</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="bis" type="xs:date" use="optional">
						<xs:annotation>
							<xs:documentation>
								Ende des Zeitraums - wenn leer, dann bis zum letzten Datensatz
							</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="LetzteZeitspanne">
				<xs:annotation>
					<xs:documentation>
						eine Angabe von einer Zeitspanne mit Zahl und Einheit - gerechnet ab dem aktuellen Zeitpunkt
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="anzahl" type="xs:int" use="required">
						<xs:annotation>
							<xs:documentation>
								Anzahl der Tage / Wochen / Monate / Jahre
							</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="einheit" type="ZeitspanneEinheitType" use="required">
						<xs:annotation>
							<xs:documentation>
								Ende des Zeitraums
							</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="LetzteDatensaetze">
				<xs:annotation>
					<xs:documentation>
						eine Angabe von einer Anzahl von Datensätzen - gerechnet ab dem letzten; wenn weniger Datensätze vorhanden sind, werden alle angezeigt
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="anzahl" type="xs:int" use="required">
						<xs:annotation>
							<xs:documentation>
								Anzahl der Datensätze
							</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="FarbeType">
		<xs:annotation>
			<xs:documentation>Typ für die Angabe von Farben im RGB-Format</xs:documentation>
		</xs:annotation>
		<xs:attribute name="R" type="xs:unsignedByte" use="required">
			<xs:annotation>
				<xs:documentation>Der Rot-Anteil als Zahl von 0 bis 255</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="G" type="xs:unsignedByte" use="required">
			<xs:annotation>
				<xs:documentation>Der Grün-Anteil als Zahl von 0 bis 255</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="B" type="xs:unsignedByte" use="required">
			<xs:annotation>
				<xs:documentation>Der Blau-Anteil als Zahl von 0 bis 255</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="ZweiteYAchseType">
		<xs:annotation>
			<xs:documentation>Zum Definieren einer zweiten Y-Achse, die direkt von der ersten abhängt</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" minOccurs="1" maxOccurs="1" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						der Titel dieser zweiten Achse
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Faktor" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						der Faktor, mit dem der eigentliche Wert zu multiplizieren ist in der Formel y2 = (y * Faktor) + Versatz - der Standardwert beträgt 1
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice minOccurs="1" maxOccurs="1">
						<xs:element name="Wert" type="xs:double">
							<xs:annotation>
								<xs:documentation>
									der Faktor als feste Zahl
								</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Metadatum" type="xs:string">
							<xs:annotation>
								<xs:documentation>
									Name des Metadatums an der Meßstelle, aus dem der Faktor für die Multiplikation zu beziehen ist; fehlt das Metadatum an der Meßstelle, wird die zweite Achse nicht angezeigt
								</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Versatz" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						der Versatz, der auf den eigentlichen Wert in der Formel y2 = (y * Faktor) + Versatz aufaddiert wird (Einheit muss passen!) - der Standardwert beträgt 0
					</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice minOccurs="1" maxOccurs="1">
						<xs:element name="Wert" type="xs:double">
							<xs:annotation>
								<xs:documentation>
									der Versatz als feste Zahl
								</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Metadatum" type="ZweiteYAchseVersatzMetadatumType">
							<xs:annotation>
								<xs:documentation>
									Name des Metadatums an der Meßstelle, aus dem der Versatz für die Addition zu beziehen ist; fehlt das Metadatum, wird die zweite Achse nicht angezeigt (Einheit muss passen!)
								</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ZweiteYAchseVersatzMetadatumType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="faktor" type="xs:double" default="1" use="optional">
					<xs:annotation>
						<xs:documentation>Ggf. ein Faktor, mit dem der Wert aus dem Metadatum noch zu multiplizieren ist - der Standardwert ist 1</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="SichtbarkeitType">
		<xs:annotation>
			<xs:documentation>Liste der mögilchen Einstellungen für die Sichtbarkeit von Markeriungen</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="ImmerSichtbar">
				<xs:annotation>
					<xs:documentation>
						die Markierung ist immer zu sehen - sie kann nicht abgeschalten werden
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Sichtbar">
				<xs:annotation>
					<xs:documentation>
						die Markierung ist initial zu sehen, kann aber vom Nutzer abgeschalten werden
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NichtSichtbar">
				<xs:annotation>
					<xs:documentation>
						die Markierung ist initial nicht zu sehen, kann aber vom Nutzer zugeschalten werden
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ZeitspanneEinheitType">
		<xs:annotation>
			<xs:documentation>Liste der mögilchen Einheiten für eine Zeitspanne</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Tag">
				<xs:annotation>
					<xs:documentation>
						Tage
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Woche">
				<xs:annotation>
					<xs:documentation>
						Wochen
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Monat">
				<xs:annotation>
					<xs:documentation>
						Monate
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Jahr">
				<xs:annotation>
					<xs:documentation>
						Jahre
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TrendBerechnungType">
		<xs:annotation>
			<xs:documentation>Liste der mögilchen Einstellungen für die Berechnung der Trendlinie</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="LineareRegression">
				<xs:annotation>
					<xs:documentation>
						lineare Regression
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BeschraenktLineareRegression">
				<xs:annotation>
					<xs:documentation>
						beschränkte linieare Regression
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ExponentielleRegression">
				<xs:annotation>
					<xs:documentation>
						exponentielle Regression
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LogarithmischeRegression">
				<xs:annotation>
					<xs:documentation>
						logarithmische Regression
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PolynomialeRegression">
				<xs:annotation>
					<xs:documentation>
						polynomiale Regression - der Grad ist dann zusätzlich anzugeben
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ParameterMarkerLineType">
		<xs:annotation>
			<xs:documentation>Liste der mögilchen Einstellungen für die Darstellung der Werte von Zusatzparametern im Diagramm - also die Art und Weise wie die Linie anhand der Punkte erstellt werden soll</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OhneLinie">
				<xs:annotation>
					<xs:documentation>
						nur die Punkte werden dargestellt, keine Verbindungslinie
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DirektVerbunden">
				<xs:annotation>
					<xs:documentation>
						direkte, gradlinige Verbindung zwischen den Werten
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="StufeLinks">
				<xs:annotation>
					<xs:documentation>
						stufenartige Verbindung - Ausrichtung links (d.h. die Stufe befindet sich auf der Höhe, wo der entsprechende Wert ist; die Stufe geht vom Zeitpunkt des Wertes bis zum Zeitpunkt des nächsten Wertes; die Stufen sind dann durch senkrechte Striche miteinander verbunden)
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="StufeMitte">
				<xs:annotation>
					<xs:documentation>
						stufenartige Verbindung - Ausrichtung mitte (d.h. die Stufe befindet sich auf der Höhe, wo der entsprechende Wert ist; der Zeitpunkt des Wertes befindet sich in der Mitte der Stufe; die Stufen sind dann durch senkrechte Striche miteinander verbunden)
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="StufeRechts">
				<xs:annotation>
					<xs:documentation>
						stufenartige Verbindung - Ausrichtung rechts (d.h. die Stufe befindet sich auf der Höhe, wo der entsprechende Wert ist; die Stufe geht vom Zeitpunkt des letzten Wertes bis zum Zeitpunkt dieses Wertes; die Stufen sind dann durch senkrechte Striche miteinander verbunden)
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ExportMultiParameterVersionType">
		<xs:annotation>
			<xs:documentation>Liste der mögilchen Varianten für den gleichzeitigen Export von mehreren Parametern</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Einzeldatei">
				<xs:annotation>
					<xs:documentation>jeder Parameter wird in einer einzelnen Datei ausgegeben</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ZusammenfassungDreiSpalten">
				<xs:annotation>
					<xs:documentation>Zusammenfassung aller Parameter in einer Tabelle - dabei werden pro Parameter alle drei Spalten mit Prefix, Wert und Hinweis ausgegeben</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ZusammenfassungEineSpalte">
				<xs:annotation>
					<xs:documentation>Zusammenfassung aller Parameter in einer Tabelle - dabei wird pro Parameter eine Spalte ausgegeben. Der Prefix wird mit dem Wert verknüpft, die Hinweise entfallen</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

</xs:schema>