XML Schemas
[gpgme.git] / lang / xml-schemas / gpgmekeys.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3   <xs:element name="gpgme">
4     <xs:complexType>
5       <xs:sequence>
6         <xs:element ref="keylist"/>
7       </xs:sequence>
8     </xs:complexType>
9   </xs:element>
10   <xs:element name="keylist">
11     <xs:complexType>
12       <xs:sequence>
13         <xs:element maxOccurs="unbounded" ref="key"/>
14       </xs:sequence>
15     </xs:complexType>
16   </xs:element>
17   <xs:element name="key">
18     <xs:complexType>
19       <xs:sequence>
20         <xs:element ref="revoked"/>
21         <xs:element ref="expired"/>
22         <xs:element ref="disabled"/>
23         <xs:element ref="invalid"/>
24         <xs:element ref="can-encrypt"/>
25         <xs:element ref="can-sign"/>
26         <xs:element ref="can-certify"/>
27         <xs:element ref="can-authenticate"/>
28         <xs:element ref="is-qualified"/>
29         <xs:element ref="secret"/>
30         <xs:element ref="protocol"/>
31         <xs:element ref="issuer"/>
32         <xs:element ref="chain-id"/>
33         <xs:element ref="owner-trust"/>
34         <xs:element ref="subkeys"/>
35         <xs:element ref="uids"/>
36       </xs:sequence>
37     </xs:complexType>
38   </xs:element>
39   <xs:element name="revoked">
40     <xs:complexType>
41       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
42     </xs:complexType>
43   </xs:element>
44   <xs:element name="expired">
45     <xs:complexType>
46       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
47     </xs:complexType>
48   </xs:element>
49   <xs:element name="disabled">
50     <xs:complexType>
51       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
52     </xs:complexType>
53   </xs:element>
54   <xs:element name="invalid">
55     <xs:complexType>
56       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
57     </xs:complexType>
58   </xs:element>
59   <xs:element name="can-encrypt">
60     <xs:complexType>
61       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
62     </xs:complexType>
63   </xs:element>
64   <xs:element name="can-sign">
65     <xs:complexType>
66       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
67     </xs:complexType>
68   </xs:element>
69   <xs:element name="can-certify">
70     <xs:complexType>
71       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
72     </xs:complexType>
73   </xs:element>
74   <xs:element name="can-authenticate">
75     <xs:complexType>
76       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
77     </xs:complexType>
78   </xs:element>
79   <xs:element name="is-qualified">
80     <xs:complexType>
81       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
82     </xs:complexType>
83   </xs:element>
84   <xs:element name="protocol">
85     <xs:complexType>
86       <xs:simpleContent>
87         <xs:extension base="xs:NCName">
88           <xs:attribute name="value" use="required" type="xs:integer"/>
89         </xs:extension>
90       </xs:simpleContent>
91     </xs:complexType>
92   </xs:element>
93   <xs:element name="issuer">
94     <xs:complexType>
95       <xs:sequence>
96         <xs:element ref="serial"/>
97         <xs:element ref="name"/>
98       </xs:sequence>
99     </xs:complexType>
100   </xs:element>
101   <xs:element name="serial">
102     <xs:complexType/>
103   </xs:element>
104   <xs:element name="chain-id">
105     <xs:complexType/>
106   </xs:element>
107   <xs:element name="owner-trust">
108     <xs:complexType>
109       <xs:simpleContent>
110         <xs:extension base="xs:NCName">
111           <xs:attribute name="value" use="required" type="xs:integer"/>
112         </xs:extension>
113       </xs:simpleContent>
114     </xs:complexType>
115   </xs:element>
116   <xs:element name="subkeys">
117     <xs:complexType>
118       <xs:sequence>
119         <xs:element maxOccurs="unbounded" ref="subkey"/>
120       </xs:sequence>
121     </xs:complexType>
122   </xs:element>
123   <xs:element name="subkey">
124     <xs:complexType>
125       <xs:sequence>
126         <xs:element ref="keyid"/>
127         <xs:element ref="fpr"/>
128         <xs:element ref="secret"/>
129         <xs:element ref="is_cardkey"/>
130         <xs:element minOccurs="0" ref="curve"/>
131       </xs:sequence>
132     </xs:complexType>
133   </xs:element>
134   <xs:element name="keyid" type="xs:NMTOKEN"/>
135   <xs:element name="fpr" type="xs:string"/>
136   <xs:element name="is_cardkey">
137     <xs:complexType>
138       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
139     </xs:complexType>
140   </xs:element>
141   <xs:element name="curve" type="xs:NCName"/>
142   <xs:element name="uids">
143     <xs:complexType>
144       <xs:sequence>
145         <xs:element maxOccurs="unbounded" ref="uid"/>
146       </xs:sequence>
147     </xs:complexType>
148   </xs:element>
149   <xs:element name="secret">
150     <xs:complexType>
151       <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>
152     </xs:complexType>
153   </xs:element>
154   <xs:element name="name" type="xs:string"/>
155   <xs:element name="uid">
156     <xs:complexType mixed="true">
157       <xs:choice minOccurs="0" maxOccurs="unbounded">
158         <xs:element ref="name"/>
159         <xs:element ref="uid"/>
160         <xs:element ref="comment"/>
161         <xs:element ref="email"/>
162       </xs:choice>
163     </xs:complexType>
164   </xs:element>
165   <xs:element name="comment" type="xs:string"/>
166   <xs:element name="email" type="xs:anyURI"/>
167 </xs:schema>