forked from Gerstep/EDCI-Data-Model
-
Notifications
You must be signed in to change notification settings - Fork 0
/
edci_presentation_alt1.xsd
88 lines (88 loc) · 4.59 KB
/
edci_presentation_alt1.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?xml version="1.0" encoding="UTF-8"?>
<!-- xsd version '0.3.0' based on edci model version '0.3.0' -->
<xs:schema xmlns="http://data.europa.eu/europass/model/credentials#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:eup="http://data.europa.eu/europass/model/credentials#" xmlns:cred="http://data.europa.eu/europass/model/credentials/w3c#" targetNamespace="http://data.europa.eu/europass/model/credentials#" elementFormDefault="qualified" version="0.3.0">
<xs:include schemaLocation="edci_credential.xsd"/>
<xs:element name="verifiablePresentation" type="VerifiablePresentationType">
<xs:annotation>
<xs:documentation>A verifiable presentation of a set of europass credentials.</xs:documentation>
</xs:annotation>
<xs:key name="credentialKey">
<xs:selector xpath="eup:verifiableCredentials/eup:verifiableCredential/eup:europassCredential"/>
<xs:field xpath="@id"/>
</xs:key>
<xs:keyref name="credentialKeyReference" refer="credentialKey">
<xs:selector xpath="eup:verification/eup:subject"/>
<xs:field xpath="@idref"/>
</xs:keyref>
</xs:element>
<xs:complexType name="VerifiablePresentationType">
<xs:annotation>
<xs:documentation>A verifiable presentation of a set of europass credentials.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="verifiableCredentials" type="VerifiableCredentialsType">
<xs:annotation>
<xs:documentation>Container element that records all the verifiable credentials that are presented in this presentation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verification" type="VerificationType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="proof"/>
</xs:sequence>
<xs:attribute name="id" type="IdType" use="optional">
<xs:annotation>
<xs:documentation>A portable identifier of the presentation (i.e. a urn in the uuid namespace, urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="xsdVersion" use="optional" default="0.3.0">
<xs:annotation>
<xs:documentation>used xsd version</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="0.3.0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="VerifiableCredentialsType">
<xs:annotation>
<xs:documentation>Container element that records all the verifiable credentials that are presented in this presentation.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="verifiableCredential" type="VerifiableCredentialDefinedAsEuropassCredentialType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Element that contains a europass credential</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VerifiableCredentialDefinedAsEuropassCredentialType">
<xs:annotation>
<xs:documentation>Element that contains a europass credential.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="europassCredential">
<xs:annotation>
<xs:documentation>A europass credential element as defined in the credential xsd schema. The xml content will be validated against the credential xsd schema. This makes the presentation xsd schema hardly dependant on the credential xsd schema. Credentials according an older or newer version of the credential xsd schema than the one used by this presentation xsd schema cannot be included. Also the xml header from the original credential xml document cannot be included (i.e. <![CDATA[<?xml version="1.0" encoding="UTF-8"?>]]> ).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VerificationType">
<xs:sequence>
<xs:element name="subject" type="IdReferenceType">
<xs:annotation>
<xs:documentation>The credential which is the subject of this set of verification checks. It must refer to an existing 'europassCredential'-record in the 'verifiableCredentials'-section of this presentation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verificationCheck" type="VerificationCheckType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VerificationCheckType">
<xs:sequence>
<xs:element name="type" type="VerificationCheckCodeType"/>
<xs:element name="status" type="VerificationStatusCodeType" minOccurs="0" maxOccurs="1"/>
<xs:element name="description" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>