Signing

Annex B: LTV-SDO Schema

131 views August 17, 2017 August 17, 2017 1

<?xml version="1.0" encoding="iso-8859-1"?>
<xs:schema xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
           xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="https://id.signicat.com/definitions/xsd/LtvSdo-1.0"
           xmlns="https://id.signicat.com/definitions/xsd/LtvSdo-1.0"
           elementFormDefault="qualified">
    <xs:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="XAdES.xsd"/>
    <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
    <xs:element name="LtvSdo" type="LtvSdoType"/>
    <xs:complexType name="LtvSdoType">
        <xs:sequence>
            <xs:element name="Description" type="DescriptionType" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="PackagingPolicyIdentifier" type="xs:string" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="NativeSignature" type="NativeSignatureType"
                        nillable="false" minOccurs="1" maxOccurs="1"/>
            <xs:element name="AdditionalInfo" type="AdditionalInfoType" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element name="SignatureContext" type="SignatureContextType"
                        nillable="false" minOccurs="0" maxOccurs="1"/>
            <xs:element name="AuditTrails" type="AuditTrailsType" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element ref="ds:Signature" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="DescriptionType">
        <xs:sequence>
            <xs:element name="SignerDescription" type="SignerDescriptionType"
                        nillable="false" minOccurs="1" maxOccurs="1"/>
            <xs:element name="DocumentDescription" type="DocumentDescriptionType"
                        nillable="false" minOccurs="1" maxOccurs="1"/>
            <xs:element name="SignatureDescription" type="SignatureDescriptionType"
                        nillable="false" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SignerDescriptionType">
        <xs:sequence>
            <xs:element name="SignerDisplayName" type="xs:string" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="SignerUniqueId" type="xs:string" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element name="SignerNationalId" type="xs:string" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element name="SignerNationality" type="xs:string" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element name="SignerNationalIdType" type="xs:string" nillable="false"
                        minOccurs="0" maxOccurs="1"/>
            <xs:element name="Attribute" type="AttributeType" nillable="false"
                        minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DocumentDescriptionType">
        <xs:sequence>
            <xs:element name="DocumentMimeType" type="xs:string" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="DocumentTitle" type="xs:string" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="DocumentDigest" type="DocumentDigestType" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DocumentDigestType">
        <xs:simpleContent>
            <xs:extension base="xs:base64Binary">
                <xs:attribute name="alg" type="xs:anyURI"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="SignatureDescriptionType">
        <xs:sequence>
            <xs:element name="SignatureTypeFriendlyName" type="xs:string"
                        nillable="false" minOccurs="1" maxOccurs="1"/>
            <xs:element name="SignatureFormatFriendlyName" type="xs:string"
                        nillable="false" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="xades:SigningTime" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NativeSignatureType">
        <xs:sequence>
            <xs:element name="NativeSdo" type="NativeSdoType" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="NativeSignatureQualifyingProperties"
                        type="NativeSignatureQualifyingPropertiesType" nillable="false" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SignatureContextType">
        <xs:sequence>
            <xs:element name="SignatureCreationContext"
                        type="SignatureCreationOrVerificationContextType" nillable="false" minOccurs="0"
                        maxOccurs="1"/>
            <xs:element name="SignatureVerificationContext"
                        type="SignatureCreationOrVerificationContextType" nillable="false" minOccurs="0"
                        maxOccurs="1"/>
            <xs:element name="ExternalContext" type="ExternalContextType"
                        nillable="false" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuditTrailsType">
        <xs:sequence>
            <xs:element name="SignatureCreationAuditTrail"
                        type="SignatureCreationOrVerificationAuditTrailType" nillable="false" minOccurs="0"
                        maxOccurs="1"/>
            <xs:element name="SignatureVerificationAuditTrail"
                        type="SignatureCreationOrVerificationAuditTrailType" nillable="false" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NativeSdoType">
        <xs:simpleContent>
            <xs:extension base="xs:base64Binary">
                <xs:attribute name="Format" type="xs:string"/>
                <xs:attribute name="MimeType" type="xs:string"/>
                <xs:attribute name="Version" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="NativeSignatureQualifyingPropertiesType">
        <xs:sequence>
            <xs:element ref="xades:SigningTime" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="xades:SigningCertificate" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="xades:CertificateValues" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="xades:RevocationValues" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SignatureCreationOrVerificationContextType">
        <xs:sequence>
            <xs:element name="Component" type="ComponentType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Type" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ExternalContextType">
        <xs:sequence>
            <xs:element name="ExternalReference" type="xs:string" minOccurs="1"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SignatureCreationOrVerificationAuditTrailType">
        <xs:sequence>
            <xs:element name="Event" type="EventType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ComponentType">
        <xs:attribute name="Name" type="xs:string"/>
        <xs:attribute name="Version" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="EventType">
        <xs:sequence>
            <xs:element name="Timestamp" type="xs:dateTime" nillable="false"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="Type" type="xs:string" nillable="false" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="Data" type="DataType" nillable="false" minOccurs="1"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataType">
        <xs:sequence>
            <xs:element name="DataEntry" type="DataEntryType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataEntryType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Name" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="AdditionalInfoType">
        <xs:sequence>
            <xs:element name="SignerAttributes" type="SignerAttributeType"
                        nillable="false" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SignerAttributeType">
        <xs:sequence>
            <xs:element name="Attribute" type="AttributeType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttributeType">
        <xs:simpleContent>
            <xs:extension base="xs:anySimpleType">
                <xs:attribute name="NameSpace" type="xs:string"/>
                <xs:attribute name="Name" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:schema>

Was this helpful?