<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xkms="http://www.w3.org/2002/03/xkms#" xmlns:xkmsEU="http://www.lsp.eu/2009/04/xkmsExt#" targetNamespace="http://www.lsp.eu/2009/04/xkmsExt#" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="EN">
	<xs:annotation>
		<xs:documentation xml:lang="en">This schema serves the reqirements of EU Large Scale Pilot Projects regarding certificate validation as an extension to XKMS2 XKISS ValidateResult</xs:documentation>
		<xs:documentation xml:lang="en">1.0 by Apitzsch/bos as of 2009-04-28</xs:documentation>
	</xs:annotation>
	<!--xs:import namespace="http://www.w3.org/2002/03/xkms#" schemaLocation="http://www.w3.org/TR/2005/REC-xkms2-20050628/Schemas/xkms.xsd"/-->
	<xs:import namespace="http://www.w3.org/2002/03/xkms#" schemaLocation="xkms.xsd"/>
	<!--ValidateResult EU LSP Extension-->
	<xs:element name="ValidateResultExtLSP" type="xkmsEU:ValidateResultExtLSPType" substitutionGroup="xkms:MessageExtension"/>
	<xs:complexType name="ValidateResultExtLSPType">
		<xs:complexContent>
			<xs:extension base="xkms:MessageExtensionAbstractType">
				<xs:sequence>
					<xs:element ref="xkmsEU:eIDQuality" minOccurs="0"/>
					<xs:element ref="xkmsEU:ValidationDetails" minOccurs="0"/>
					<xs:element ref="xkmsEU:ErrorExtension" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="xkmsEU:ResponderDetails"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- /ValidateResultext EU LSP Extension-->
	<!-- ValidationDetails -->
	<xs:element name="ValidationDetails" type="xkmsEU:ValidationDetailsType"/>
	<xs:complexType name="ValidationDetailsType">
		<xs:sequence>
			<xs:element ref="xkmsEU:ValidateScheme"/>
			<xs:element ref="xkmsEU:ValidateModel" minOccurs="0"/>
			<xs:element ref="xkmsEU:CertificateRevocationDetails" minOccurs="0"/>
			<xs:element ref="xkmsEU:ValidationTime"/>
			<xs:element ref="xkmsEU:OCSPNoCache" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!-- /ValidationDetails -->
	<!-- ValidateScheme -->
	<xs:element name="ValidateScheme" type="xkmsEU:ValidateSchemeType"/>
	<xs:simpleType name="ValidateSchemeType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/valScheme#LOCAL"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valScheme#OCSP"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valScheme#CRL"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valScheme#CRL_LDAP"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valScheme#LDAP"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- /ValidateScheme -->
	<!--ValidateModel-->
	<xs:element name="ValidateModel" type="xkmsEU:ValidateModelType"/>
	<xs:simpleType name="ValidateModelType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/valModel#PKIX"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valModel#chain"/>
			<xs:enumeration value="http://lsp.eu/2009/04/valModel#escapeRoute"/>
		</xs:restriction>
	</xs:simpleType>
	<!--/ValidateModel-->
	<!--ValidationTime-->
	<xs:element name="ValidationTime" type="xs:dateTime"/>
	<!--/ValidationTime-->
	<!-- OCSPNoCache -->
	<xs:element name="OCSPNoCache" type="xs:boolean"/>
	<!-- /OCSPNoCache -->
	<!-- CertificateRevocationDetail -->
	<xs:element name="CertificateRevocationDetails">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="RevocationTimeInstant" type="xs:dateTime"/>
				<xs:element ref="xkmsEU:RevocationReason"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="RevocationReason" type="xkmsEU:RevocationReasonType"/>
	<xs:simpleType name="RevocationReasonType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#unspecified"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#KeyCompromise"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#CACompromise"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#AffiliationChanged"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#Superseded"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#CessationOfOperation"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#CertificateHold"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#RemoveFromCRL"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#PrivilegeWithdrawn"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#AACompromise"/>
			<xs:enumeration value="http://lsp.eu/2009/04/xkmsextLSP#none"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- /CertificateRevocationDetail -->
	<!-- CertificateQuality -->
	<xs:element name="CertificateQuality" type="xkmsEU:CertificateQualityType"/>
	<xs:simpleType name="CertificateQualityType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#unknown"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#low"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#lcp"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#ncp"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#ncpplus"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#qcp"/>
			<xs:enumeration value="http://lsp.eu/2009/04/certquality#qcpplus"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- /CertificateQuality -->
	<!-- CSP independent assurance -->
	<xs:element name="CSPAssurance" type="xkmsEU:CSPAssuranceType"/>
	<xs:simpleType name="CSPAssuranceType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#none"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#IndependentDocument Review"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#lInternalComplianceAudit"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#SupervisionWithoutComplianceAudit:"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#ExternalComplianceAudit"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#ExternalComplianceAuditCertified"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#SupervisionWithExternalComplianceAudit"/>
			<xs:enumeration value="http://lsp.eu/2009/04/CSPAssurance#AccreditationWithExternalComplianceAudit"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- /CertificateQuality -->
	<xs:element name="eIDQuality" type="xkmsEU:eIDQualityType"/>
	<xs:complexType name="eIDQualityType">
		<xs:sequence>
			<xs:element ref="xkmsEU:CertificateQuality"/>
			<xs:element ref="xkmsEU:CSPAssurance"/>
		</xs:sequence>
	</xs:complexType>
	<!--ResponderDetails-->
	<xs:element name="ResponderDetails" type="xkmsEU:ResponderDetailsType"/>
	<xs:complexType name="ResponderDetailsType">
		<xs:sequence>
			<xs:element name="InstanceName" type="xs:string" minOccurs="0"/>
			<xs:element name="InstanceURI" type="xs:anyURI"/>
			<xs:element name="ConfigurationVersion" type="xs:string" minOccurs="0"/>
			<xs:element name="OCSPCacheingInterval" type="xs:duration" minOccurs="0"/>
			<xs:element name="TSL_Identifier" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="AlgPolicy_Identifier" type="xs:anyURI" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--/ResponderDetails-->
	<!-- ErrorExtension -->
	<xs:element name="ErrorExtension" type="xkmsEU:ErrorExtensionType"/>
	<xs:complexType name="ErrorExtensionType">
		<xs:sequence>
			<xs:element name="Reason" type="xkmsEU:ReasonType"/>
			<xs:element name="Detail" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ReasonType">
		<xs:restriction base="xs:anyURI">
			<xs:enumeration value="http://lsp.eu/2009/04/reason#OpaqueClientDataTooLong"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#TrustCenterNotReachable"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#WrongCertificateFormat"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#UnknownCA"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#WrongTimeInstant"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#SignatureKeyTooShort"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#Unknown"/>
			<xs:enumeration value="http://lsp.eu/2009/04/reason#NotUnderstood"/>
			<xs:enumeration value=""/>
		</xs:restriction>
	</xs:simpleType>
	<!-- /errorExtension -->
	<!-- /XKISS EU LSP Extension  End Schema -->
</xs:schema>

