XML Schemas
[gpgme.git] / lang / xml-schemas / gpgmekeys.rng
1 <?xml version="1.0" encoding="UTF-8"?>
2 <grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3   <start>
4     <element name="gpgme">
5       <element name="keylist">
6         <oneOrMore>
7           <element name="key">
8             <element name="revoked">
9               <attribute name="value">
10                 <data type="NMTOKEN"/>
11               </attribute>
12             </element>
13             <element name="expired">
14               <attribute name="value">
15                 <data type="NMTOKEN"/>
16               </attribute>
17             </element>
18             <element name="disabled">
19               <attribute name="value">
20                 <data type="NMTOKEN"/>
21               </attribute>
22             </element>
23             <element name="invalid">
24               <attribute name="value">
25                 <data type="NMTOKEN"/>
26               </attribute>
27             </element>
28             <element name="can-encrypt">
29               <attribute name="value">
30                 <data type="NMTOKEN"/>
31               </attribute>
32             </element>
33             <element name="can-sign">
34               <attribute name="value">
35                 <data type="NMTOKEN"/>
36               </attribute>
37             </element>
38             <element name="can-certify">
39               <attribute name="value">
40                 <data type="NMTOKEN"/>
41               </attribute>
42             </element>
43             <element name="can-authenticate">
44               <attribute name="value">
45                 <data type="NMTOKEN"/>
46               </attribute>
47             </element>
48             <element name="is-qualified">
49               <attribute name="value">
50                 <data type="NMTOKEN"/>
51               </attribute>
52             </element>
53             <ref name="secret"/>
54             <element name="protocol">
55               <attribute name="value">
56                 <data type="integer"/>
57               </attribute>
58               <data type="NCName"/>
59             </element>
60             <element name="issuer">
61               <element name="serial">
62                 <empty/>
63               </element>
64               <ref name="name"/>
65             </element>
66             <element name="chain-id">
67               <empty/>
68             </element>
69             <element name="owner-trust">
70               <attribute name="value">
71                 <data type="integer"/>
72               </attribute>
73               <data type="NCName"/>
74             </element>
75             <element name="subkeys">
76               <oneOrMore>
77                 <element name="subkey">
78                   <element name="keyid">
79                     <data type="NMTOKEN"/>
80                   </element>
81                   <element name="fpr">
82                     <text/>
83                   </element>
84                   <ref name="secret"/>
85                   <element name="is_cardkey">
86                     <attribute name="value">
87                       <data type="NMTOKEN"/>
88                     </attribute>
89                   </element>
90                   <optional>
91                     <element name="curve">
92                       <data type="NCName"/>
93                     </element>
94                   </optional>
95                 </element>
96               </oneOrMore>
97             </element>
98             <element name="uids">
99               <oneOrMore>
100                 <ref name="uid"/>
101               </oneOrMore>
102             </element>
103           </element>
104         </oneOrMore>
105       </element>
106     </element>
107   </start>
108   <define name="secret">
109     <element name="secret">
110       <attribute name="value">
111         <data type="NMTOKEN"/>
112       </attribute>
113     </element>
114   </define>
115   <define name="name">
116     <element name="name">
117       <text/>
118     </element>
119   </define>
120   <define name="uid">
121     <element name="uid">
122       <oneOrMore>
123         <choice>
124           <text/>
125           <ref name="name"/>
126           <ref name="uid"/>
127           <element name="comment">
128             <text/>
129           </element>
130           <element name="email">
131             <data type="anyURI"/>
132           </element>
133         </choice>
134       </oneOrMore>
135     </element>
136   </define>
137 </grammar>