<?xml version="1.0" encoding="UTF-8"?>
<!-- edecSignatureValidatorReport XML Schema -->
<!-- Name of schema: edecSignatureValidationReport -->
<!-- Scope of schema: Report for e-dec digital signature validation -->
<!-- Organization: Swiss Customs Administration -->
<!-- Author: Matthias Rueedlinger -->
<!-- Documentation: http://www.e-dec.ch/ -->
<xs:schema xmlns:edecSignatureValidationReport="http://www.e-dec.ch/xml/schema/edecSignatureValidationReport/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.e-dec.ch/xml/schema/edecSignatureValidationReport/v1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">
	<xs:element name="signatureValidationReport">
		<xs:annotation>
			<xs:documentation>Root Element des Signaturprüfungsprotokoll und Beleg der Signaturprüfung</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="edecSignatureValidationReport:documentDetails"/>
				<xs:element ref="edecSignatureValidationReport:validationSummary"/>
				<xs:element ref="edecSignatureValidationReport:validationDetails"/>
			</xs:sequence>
			<xs:attribute name="schemaVersion" type="edecSignatureValidationReport:SchemaVersionType" use="required">
				<xs:annotation>
					<xs:documentation>Attribut zur Angabe der benutzten Schema Version</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:element name="documentDetails" type="edecSignatureValidationReport:DocumentDetailsType">
		<xs:annotation>
			<xs:documentation>Details zum überprüften Dokument</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="validationSummary" type="edecSignatureValidationReport:ValidationSummaryType">
		<xs:annotation>
			<xs:documentation>Informationen zur Signaturprüfung</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="validationDetails" type="edecSignatureValidationReport:ValidationDetailsType">
		<xs:annotation>
			<xs:documentation>Zusammenfassungen aller durchgeführten Prüfungen</xs:documentation>
		</xs:annotation>
	</xs:element>


	<xs:complexType name="DocumentDetailsType">
		<xs:sequence>
			<xs:element ref="edecSignatureValidationReport:documentDetail" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>


	<xs:element name="documentDetail" type="edecSignatureValidationReport:DocumentDetailType">
		<xs:annotation>
			<xs:documentation>Detailinformation zum überprüften Dokument; ein einzelens Detail besteht aus einem Namen und einem Wert.</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:complexType name="DocumentDetailType">
		<xs:sequence>
			<xs:element name="name" type="xs:string">
			</xs:element>
			<xs:element name="value" type="xs:string">
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:element name="validationDetail" type="edecSignatureValidationReport:ValidationDetailType">
		<xs:annotation>
			<xs:documentation>Durchgeführte Überprüfung und Ergebnis</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:complexType name="ValidationDetailsType">
		<xs:sequence>
			<xs:element ref="edecSignatureValidationReport:validationDetail" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ValidationDetailType">
		<xs:annotation>
			<xs:documentation>Durchgeführte Überprüfung und Ergebnis</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="validation" type="xs:string">
				<xs:annotation>
					<xs:documentation>Beschreibung der durchgeführten Überprüfung</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="status" type="edecSignatureValidationReport:StatusCodeType">
				<xs:annotation>
					<xs:documentation>Ergebnis der Überprüfung</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ValidationSummaryType">
		<xs:sequence>
			<xs:element name="validationDate" type="xs:date">
				<xs:annotation>
					<xs:documentation>Datum der Siganturprüfung; das Format ist yyyy-mm-dd</xs:documentation>
				</xs:annotation>
			</xs:element>

			<xs:element name="validationTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Uhrzeit der Signaturprüfung; das Format ist hh:mm:ss</xs:documentation>
				</xs:annotation>
			</xs:element>

			<xs:element name="validationResult" type="edecSignatureValidationReport:StatusCodeType">
				<xs:annotation>
					<xs:documentation>Resultat der Siganturprüfung; falls eine Überpfung aus der Liste aller Prüfungen fehlgeschlagen ist, wird die Signatur als ungültig betrachtet.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="StatusCodeType">
		<xs:annotation>
			<xs:documentation>Simple Type mit Werteliste für OK/not OK/not validated Flags:
			OK: Die Überprüfung war erfolgreich
			not OK: Die Überprüfung war ungültig
			not validated: Es wurde keine Überprüfung durchgeführt.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OK"/>
			<xs:enumeration value="not OK"/>
			<xs:enumeration value="not validated"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="SchemaVersionType">
		<xs:annotation>
			<xs:documentation>Schema Versionsnummer</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>

</xs:schema>