Commit 7c14a52e authored by Laurent Velez's avatar Laurent Velez
Browse files

v1.1.1

parent 4961c199
Loading
Loading
Loading
Loading
+98 −76
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dss="urn:oasis:names:tc:dss:1.0:core:schema" xmlns:tsl="http://uri.etsi.org/02231/v2#" xmlns:XAdES="http://uri.etsi.org/01903/v1.3.2#" xmlns:vr="http://uri.etsi.org/19102/v1.2.1#" targetNamespace="http://uri.etsi.org/19102/v1.2.1#" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.0">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dss="urn:oasis:names:tc:dss:1.0:core:schema" xmlns:tsl="http://uri.etsi.org/02231/v2#" xmlns:XAdES="http://uri.etsi.org/01903/v1.3.2#" xmlns:vr="vr" targetNamespace="vr" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
	<xs:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="http://uri.etsi.org/01903/v1.3.2/XAdES.xsd"/>
	<xs:import namespace="http://uri.etsi.org/02231/v2#" schemaLocation="http://uri.etsi.org/19612/v2.2.1/ts_119612v020201_201601xsd.xsd"/>
	<!--
	================= SignatureReference element to ease referencing from TS 119 442 =========================
-->
	<xs:element name="SignatureReference" type="vr:SignatureReferenceType"/>
	<!--
	================= Validation Report =========================
-->
	<xs:element name="ValidationReport" type="vr:ValidationReportType"/>
@@ -31,8 +27,8 @@
			<xs:element name="SignatureAttributes" type="vr:SignatureAttributesType" minOccurs="0"/>
			<xs:element name="SignerInformation" type="vr:SignerInformationType" minOccurs="0"/>
			<xs:element name="SignatureQuality" type="vr:SignatureQualityType" minOccurs="0"/>
			<xs:element name="SignatureValidationProcess" type="vr:SignatureValidationProcessType" minOccurs="0"/>
			<xs:element name="SignatureValidationStatus" type="vr:ValidationStatusType"/>
			<xs:element name="SignatureValidationProcessType" type="vr:SignatureValidationProcessType" minOccurs="0"/>
			<xs:element name="ValidationStatus" type="vr:ValidationStatusType"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
@@ -46,19 +42,19 @@
			<xs:element ref="ds:SignatureValue" minOccurs="0"/>
			<xs:element name="HashOnly" type="xs:boolean"/>
			<xs:element name="DocHashOnly" type="xs:boolean"/>
			<xs:element name="DAIdentifier" type="xs:string" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DAIdentifier" type="xs:boolean"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="optional"/>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
	<!--
	========================= SignatureValidatorType =============================
-->
	<xs:complexType name="SignatureValidatorType">
		<xs:sequence>
			<xs:element name="DigitalId" type="tsl:DigitalIdentityType" maxOccurs="unbounded"/>
			<xs:element name="TSPInformation" type="tsl:TSPInformationType" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DigitalId" type="tsl:DigitalIdentityType" maxOccurs="unbounded"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -67,8 +63,8 @@
	<xs:complexType name="ValidationStatusType">
		<xs:sequence>
			<xs:element name="MainIndication" type="xs:anyURI"/>
			<xs:element name="SubIndication" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AssociatedValidationReportData" type="vr:ValidationReportDataType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SubIndication" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="AssociatedValidationReportData" type="vr:ValidationReportDataType" minOccurs="0" maxOccurs="Unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -76,13 +72,13 @@
-->
	<xs:complexType name="ValidationConstraintsEvaluationReportType">
		<xs:sequence>
			<xs:element name="SignatureValidationPolicy" type="vr:SignatureValidationPolicyType" minOccurs="0"/>
			<xs:element name="SignatureValidationPolicyType" minOccurs="0"/>
			<xs:element name="ValidationConstraint" type="vr:IndividualValidationConstraintReportType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SignatureValidationPolicyType">
		<xs:sequence>
			<xs:element name="SignaturePolicyIdentifier" type="XAdES:SignaturePolicyIdentifierType"/>
			<xs:element name="SignaturePolicyId" type="XAdES:SignaturePolicyIdentifierType" minOccurs="0"/>
			<xs:element name="PolicyName" type="xs:string" minOccurs="0"/>
			<xs:element name="FormalPolicyURI" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="ReadablePolicyURI" type="xs:anyURI" minOccurs="0"/>
@@ -116,22 +112,15 @@
	<xs:complexType name="ValidationTimeInfoType">
		<xs:sequence>
			<xs:element name="ValidationTime" type="xs:dateTime"/>
			<xs:element name="BestSignatureTime" type="vr:POEType"/>
			<xs:element name="BestSignatureTime" type="xs:dateTime"/>
		</xs:sequence>
	</xs:complexType>
	<!--
	========================= SignersDocumentType =============================
-->
	<xs:complexType name="SignersDocumentType">
		<xs:sequence>
			<xs:choice>
		<xs:sequence>
			<xs:element name="DigestAlgAndValue" type="XAdES:DigestAlgAndValueType"/>
					<xs:element name="SignersDocumentRepresentation" type="vr:VOReferenceType" 
						minOccurs="0"/>
				</xs:sequence>
				<xs:element name="SignersDocumentRepresentation" type="vr:VOReferenceType"/>
			</xs:choice>
			<xs:element name="SignersDocumentRef" type="vr:VOReferenceType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
@@ -139,6 +128,7 @@
	========================= A.1 SignatureAttributesType =============================
-->
	<xs:complexType name="SignatureAttributesType">
		<xs:sequence>
			<xs:choice maxOccurs="unbounded">
				<xs:element name="SigningTime" type="vr:SASigningTimeType"/>
				<xs:element name="SigningCertificate" type="vr:SACertIDListType"/>
@@ -146,7 +136,7 @@
				<xs:element name="CommitmentTypeIndication" type="vr:SACommitmentTypeIndicationType"/>
				<xs:element name="AllDataObjectsTimeStamp" type="vr:SATimestampType"/>
				<xs:element name="IndividualDataObjectsTimeStamp" type="vr:SATimestampType"/>
			<xs:element name="SigPolicyIdentifier" type="vr:SASigPolicyIdentifierType"/>
				<xs:element name="SignaturePolicyIdentifier" type="vr:SASignaturePolicyIdentifierType"/>
				<xs:element name="SignatureProductionPlace" type="vr:SASignatureProductionPlaceType"/>
				<xs:element name="SignerRole" type="vr:SASignerRoleType"/>
				<xs:element name="CounterSignature" type="vr:SACounterSignatureType"/>
@@ -163,7 +153,7 @@
				<xs:element name="AttributeRevocationValues" type="vr:AttributeBaseType"/>
				<xs:element name="TimeStampValidationData" type="vr:AttributeBaseType"/>
				<xs:element name="ArchiveTimeStamp" type="vr:SATimestampType"/>
			<xs:element name="RenewedDigests" type="vr:SAListOfIntegersType"/>
				<xs:element name="RenewedDigests" type="vr:SAListOfIntegers"/>
				<xs:element name="MessageDigest" type="vr:SAMessageDigestType"/>
				<xs:element name="DSS" type="vr:SADSSType"/>
				<xs:element name="VRI" type="vr:SAVRIType"/>
@@ -172,10 +162,11 @@
				<xs:element name="Name" type="vr:SANameType"/>
				<xs:element name="ContactInfo" type="vr:SAContactInfoType"/>
				<xs:element name="SubFilter" type="vr:SASubFilterType"/>
			<xs:element name="ByteRange" type="vr:SAListOfIntegersType"/>
				<xs:element name="ByteRange" type="vr:SAListOfIntegers"/>
				<xs:element name="Filter" type="vr:SAFilterType"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
				<xs:any namespace="##other"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<!--
	========================= SignerInformationType =============================
@@ -193,7 +184,7 @@
-->
	<xs:complexType name="SignatureQualityType">
		<xs:sequence>
			<xs:element name="SignatureQualityInformation" type="xs:anyURI" maxOccurs="unbounded"/>
			<xs:element name="SignatureQalityInformation" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -204,6 +195,7 @@
			<xs:element name="SignatureValidationProcessID" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="SignatureValidationServicePolicy" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="SignatureValidationPracticeStatement" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="AugmentationInfo" type="xs:anyType" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
@@ -214,13 +206,21 @@
		<xs:sequence>
			<xs:element name="TrustAnchor" type="vr:VOReferenceType" minOccurs="0"/>
			<xs:element name="CertificateChain" type="vr:CertificateChainType" minOccurs="0"/>
			<xs:element name="RelatedValidationObject" type="vr:VOReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SignedDataObjects" type="vr:SignedDataObjectsType" minOccurs="0"/>
			<xs:element name="RevocationStatusInformation" type="vr:RevocationStatusInformationType" minOccurs="0"/>
			<xs:element name="CryptoInformation" type="vr:CryptoInformationType" minOccurs="0"/>
			<xs:element name="AdditionalValidationReportData" type="vr:AdditionalValidationReportDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--
	========================= SignedDataObjectsType =============================
-->
	<xs:complexType name="SignedDataObjectsType">
		<xs:sequence>
			<xs:element name="SignedDataObject" type="vr:VOReferenceType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--
	========================= CertificateChainType" =============================
-->
	<xs:complexType name="CertificateChainType">
@@ -228,7 +228,7 @@
			<xs:element name="SigningCertificate" type="vr:VOReferenceType"/>
			<xs:element name="IntermediateCertificate" type="vr:VOReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TrustAnchor" type="vr:VOReferenceType" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -240,7 +240,7 @@
			<xs:element name="RevocationTime" type="xs:dateTime"/>
			<xs:element name="RevocationReason" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="RevocationObject" type="vr:VOReferenceType" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -253,7 +253,7 @@
			<xs:element name="AlgorithmParameters" type="vr:TypedDataType" minOccurs="0"/>
			<xs:element name="SecureAlgorithm" type="xs:boolean"/>
			<xs:element name="NotAfter" type="xs:dateTime" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--
@@ -279,10 +279,10 @@
	<xs:complexType name="ValidationObjectType">
		<xs:sequence>
			<xs:element name="ObjectType" type="xs:anyURI"/>
			<xs:element name="ValidationObjectRepresentation" type="vr:ValidationObjectRepresentationType"/>
			<xs:element name="ValidationObject" type="vr:ValidationObjectRepresentationType"/>
			<xs:element name="POE" type="vr:POEType" minOccurs="0"/>
			<xs:element name="POEProvisioning" type="vr:POEProvisioningType" minOccurs="0"/>
			<xs:element name="ValidationReport" type="vr:SignatureValidationReportType" minOccurs="0"/>
			<xs:element name="ValidationReport" type="vr:SignatureValidationReportType"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="required"/>
	</xs:complexType>
@@ -314,7 +314,7 @@
		<xs:sequence>
			<xs:element name="POETime" type="xs:dateTime"/>
			<xs:element name="ValidationObject" type="vr:VOReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SignatureReference" type="vr:SignatureReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SignatureReference" type="vr:SignatureReferenceType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!-- 
@@ -338,7 +338,7 @@
			</xs:sequence>
			<xs:element ref="vr:XAdESSignaturePtr"/>
			<xs:element name="PAdESFieldName" type="xs:string"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:complexType>
	<xs:element name="XAdESSignaturePtr" type="vr:XAdESSignaturePtrType"/>
@@ -424,11 +424,11 @@
	<!-- 
	=============  A.8 SignaturePolicyIdentifier =============  
-->
	<xs:complexType name="SASigPolicyIdentifierType">
	<xs:complexType name="SASignaturePolicyIdentifierType">
		<xs:complexContent>
			<xs:extension base="vr:AttributeBaseType">
				<xs:sequence>
					<xs:element name="SigPolicyId" type="xs:anyURI"/>
					<xs:element name="SignaturePolicyID" type="xs:anyURI"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
@@ -566,7 +566,7 @@
		</xs:complexContent>
	</xs:complexType>
	<!-- 
	=============  A.32 ContactInfo =============  
	=============  A.31 ContactInfo =============  
-->
	<xs:complexType name="SAContactInfoType">
		<xs:complexContent>
@@ -590,7 +590,7 @@
		</xs:complexContent>
	</xs:complexType>
	<!-- 
	=============  A.35 Filter=============  
	=============  A.33 Filter=============  
-->
	<xs:complexType name="SAFilterType">
		<xs:sequence>
@@ -609,7 +609,7 @@
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="SAListOfIntegersType">
	<xs:simpleType name="SAListOfIntegers">
		<xs:list itemType="xs:integer"/>
	</xs:simpleType>
	<xs:complexType name="SAMessageDigestType">
@@ -621,4 +621,26 @@
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SAReferencesListType">
		<xs:complexContent>
			<xs:extension base="vr:AttributeBaseType">
				<xs:sequence>
					<xs:element name="SAReference" type="vr:SAReferenceType" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SAReferenceType">
		<xs:sequence>
			<xs:element name="DigestAlgAndValue" type="XAdES:DigestAlgAndValueType"/>
			<xs:element name="Identifier" type="vr:SAIdentifierType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SAIdentifierType">
		<xs:choice>
			<xs:element name="CertIdentifier" type="XAdES:CertIDType"/>
			<xs:element name="CRLIdentifier" type="XAdES:CRLIdentifierType"/>
			<xs:element name="OCSPIdentifier" type="XAdES:OCSPIdentifierType"/>
		</xs:choice>
	</xs:complexType>
</xs:schema>