Commit 82280dca authored by Antoine Burckard's avatar Antoine Burckard
Browse files

Upload New File

parent bf133284
Loading
Loading
Loading
Loading
+173 −0
Original line number Original line 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" elementFormDefault="qualified"
    xmlns:ts19478="http://uri.etsi.org/19478/v1.1.1#"
    xmlns:xml="http://www.w3.org/XML/1998/namespace"
    targetNamespace="http://uri.etsi.org/19478/v1.1.1#" vc:minVersion="1.1">

    <xs:import namespace="http://www.w3.org/XML/1998/namespace"
        schemaLocation="http://www.w3.org/2001/xml.xsd"/>
    
    <xs:include schemaLocation="19478-pid-schema.xsd"/>

    <xs:element name="VerificationQueryDetails" type="ts19478:VerificationQueryDetailsType"/>

    <xs:complexType name="VerificationQueryDetailsType">
        <xs:sequence>
            <xs:element name="AttributeVerificationQuery"
                type="ts19478:AttributeVerificationQueryType" minOccurs="1" maxOccurs="unbounded"
            />
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="AttributeVerificationQueryType">
        <xs:sequence>
            <xs:element name="AttributeIdentifier" type="xs:anyURI"/>
            <xs:sequence minOccurs="0">
                <xs:element name="Schema" type="xs:anyURI"/>
                <xs:element name="SchemaMediaType" type="xs:string"/>
            </xs:sequence>
            <xs:choice minOccurs="1">
                <xs:element ref="ts19478:TextValue" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="ts19478:XMLValue" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="ts19478:AttributeProperties" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="VerificationResponseDetails" type="ts19478:VerificationResponseDetailsType"/>

    <xs:complexType name="VerificationResponseDetailsType">
        <xs:sequence>
            <xs:element name="AttributeVerificationResponse"
                type="ts19478:AttributeVerificationResponseType" minOccurs="1" maxOccurs="1"
            />
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="AttributeVerificationResponseType">
        <xs:sequence>
            <xs:element name="AttributeIdentifier" type="xs:anyURI"/>
            <xs:sequence minOccurs="0">
                <xs:element name="Schema" type="xs:anyURI"/>
                <xs:element name="SchemaMediaType" type="xs:anyURI"/>
            </xs:sequence>
            <xs:choice minOccurs="0">
                <xs:element ref="ts19478:TextValue" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="ts19478:XMLValue" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="ts19478:AttributeProperties" minOccurs="1" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:element name="AuthenticSource" type="ts19478:PersonType" minOccurs="0" maxOccurs="1"
            />
            <xs:element name="VerificationResult" type="ts19478:VerificationResultType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="VerificationResultType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="http://uri.etsi.org/19478/VerificationResultTypes/Match"/>
            <xs:enumeration value="http://uri.etsi.org/19478/VerificationResultTypes/NoMatch"/>
            <xs:enumeration value="http://uri.etsi.org/19478/VerificationResultTypes/Unknown"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="RetrieveQueryDetails" type="ts19478:RetrieveQueryDetailsType"/>

    <xs:complexType name="RetrieveQueryDetailsType">
        <xs:sequence>
            <xs:element name="AttributeRetrieveQuery" type="ts19478:AttributeRetrieveQueryType"
                minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="AttributeRetrieveQueryType">
        <xs:sequence>
            <xs:element name="AttributeIdentifier" type="xs:anyURI"/>
            <xs:sequence minOccurs="0">
                <xs:element name="Schema" type="xs:anyURI" minOccurs="1"/>
                <xs:element name="SchemaMediaType" type="xs:anyURI" minOccurs="1"/>
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="RetrieveResponseDetails" type="ts19478:RetrieveResponseDetailsType"/>

    <xs:complexType name="RetrieveResponseDetailsType">
        <xs:sequence>
            <xs:element name="AttributeRetrieveResponse"
                type="ts19478:AttributeRetrieveResponseType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="AttributeRetrieveResponseType">
        <xs:sequence>
            <xs:element name="AttributeIdentifier" type="xs:anyURI"/>
            <xs:sequence minOccurs="0">
                <xs:element name="Schema" type="xs:anyURI" minOccurs="1"/>
                <xs:element name="SchemaMediaType" type="xs:anyURI" minOccurs="1"/>
            </xs:sequence>
            <xs:choice minOccurs="0">
                <xs:element ref="ts19478:TextValue"/>
                <xs:element ref="ts19478:XMLValue"/>
            </xs:choice>
            <xs:element name="RetrieveResult" type="ts19478:RetrieveResultType"/>
        </xs:sequence>
    </xs:complexType>


    <xs:simpleType name="RetrieveResultType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="http://uri.etsi.org/19478/RetrieveResultTypes/Success"/>
            <xs:enumeration value="http://uri.etsi.org/19478/RetrieveResultTypes/Failure"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:element name="TextValue">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="ts19478:non-empty-string">
                    <xs:attribute name="encoding" type="ts19478:non-empty-string" use="optional"
                        fixed="base64"/>
                    <xs:attribute ref="xml:lang"  use="optional" />                    
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="XMLValue" type="xs:anyType"/>

    <xs:element name="AttributeProperties">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ts19478:ExpressionLanguage"/>
                <xs:element ref="ts19478:AttributeProperty" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>


    <xs:element name="AttributeProperty">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="QueryExpression" type="xs:string" minOccurs="1" maxOccurs="1"/>
                <xs:choice minOccurs="1" maxOccurs="1">
                    <xs:element ref="ts19478:TextValue"/>
                    <xs:element ref="ts19478:XMLValue"/>
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="ExpressionLanguage" type="xs:anyURI"/>

    <xs:simpleType name="non-empty-string">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>

</xs:schema>