forked from Gerstep/EDCI-Data-Model
-
Notifications
You must be signed in to change notification settings - Fork 0
/
edci_presentation.xsd
82 lines (82 loc) · 4.12 KB
/
edci_presentation.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.4.0' based on edci model version '0.5.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.4.0">
<xs:include schemaLocation="edci_simpleContentTypes.xsd"/>
<xs:element name="verifiablePresentation" type="VerifiablePresentationType">
<xs:annotation>
<xs:documentation>A verifiable presentation of a set of 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="VerifiableCredentialDefinedAsAnyType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Element that can contains any xml credential of any type and structure. It will not be validated by this schema.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VerifiableCredentialDefinedAsAnyType">
<xs:annotation>
<xs:documentation>Can contain any wellformed xml structure. Any wellformed xml content model can be included. It will not be validated by this schema. The xml header of the original credential xml document must be encoded (i.e. <![CDATA[<?xml version="1.0" encoding="UTF-8"?>]]>) </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:anyType">
<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:complexContent>
</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>