forked from Gerstep/EDCI-Data-Model
-
Notifications
You must be signed in to change notification settings - Fork 0
/
edci_presentation_alt2.xsd
82 lines (82 loc) · 4.13 KB
/
edci_presentation_alt2.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
<?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_simpleContentTypes.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:element>
<xs:complexType name="VerifiablePresentationType">
<xs:annotation>
<xs:documentation>A verifiable presentation of a set of 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="VerifiableCredentialDefinedAsEncodedStringType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>An original credential document encoded using Base64. The actual (encoded) binary data (the actual bytes) of the xml document.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VerifiableCredentialDefinedAsEncodedStringType">
<xs:annotation>
<xs:documentation>An original credential document encoded using Base64. The actual (encoded) binary data (the actual bytes) of the xml document. The original credential xml document can be extracted and validated against its own xsd schema.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute name="id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>Random and unique id within the scope of this document. Can be used to link to this verifiableCredential record from other places in the presentation document</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="VerificationType">
<xs:sequence>
<xs:element name="verififcationCheck" type="VerificationCheckType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="subject" type="xs:IDREF" use="required">
<xs:annotation>
<xs:documentation>ID reference to a verifiableCredential record in this document</xs:documentation>
</xs:annotation>
</xs:attribute>
</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>