diff options
author | Ben McGinnes <[email protected]> | 2016-03-25 16:59:14 +0000 |
---|---|---|
committer | Ben McGinnes <[email protected]> | 2016-03-25 16:59:14 +0000 |
commit | b18f6a51249f05de5a96c973b001a5cb95b6df2c (patch) | |
tree | f27d33d2203f8d46513faa6e774dd644a6f298f9 | |
parent | Fix possible _SC_OPEN_MAX max problem on AIX. (diff) | |
download | gpgme-b18f6a51249f05de5a96c973b001a5cb95b6df2c.tar.gz gpgme-b18f6a51249f05de5a96c973b001a5cb95b6df2c.zip |
XML Schemas
* Generated XML schemas in all four schema types (Relax-NG, Relax-NG
Compact, W3C XSD and DTD) for the GPGME keylist XML output.
-rw-r--r-- | lang/README | 1 | ||||
-rw-r--r-- | lang/xml-schemas/gpgmekeys.dtd | 132 | ||||
-rw-r--r-- | lang/xml-schemas/gpgmekeys.rnc | 75 | ||||
-rw-r--r-- | lang/xml-schemas/gpgmekeys.rng | 137 | ||||
-rw-r--r-- | lang/xml-schemas/gpgmekeys.xsd | 167 |
5 files changed, 512 insertions, 0 deletions
diff --git a/lang/README b/lang/README index da54c78b..8dfaa54f 100644 --- a/lang/README +++ b/lang/README @@ -10,3 +10,4 @@ sub-directory. Directory Language cl Common Lisp +xml-schemas XML (schema files for Relax-NG, RNG compact, W3C XSD and DTD) diff --git a/lang/xml-schemas/gpgmekeys.dtd b/lang/xml-schemas/gpgmekeys.dtd new file mode 100644 index 00000000..08c0402f --- /dev/null +++ b/lang/xml-schemas/gpgmekeys.dtd @@ -0,0 +1,132 @@ +<?xml encoding="UTF-8"?> + +<!ELEMENT gpgme (keylist)> +<!ATTLIST gpgme + xmlns CDATA #FIXED ''> + +<!ELEMENT keylist (key)+> +<!ATTLIST keylist + xmlns CDATA #FIXED ''> + +<!ELEMENT key (revoked,expired,disabled,invalid,can-encrypt,can-sign, + can-certify,can-authenticate,is-qualified,secret, + protocol,issuer,chain-id,owner-trust,subkeys,uids)> +<!ATTLIST key + xmlns CDATA #FIXED ''> + +<!ELEMENT revoked EMPTY> +<!ATTLIST revoked + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT expired EMPTY> +<!ATTLIST expired + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT disabled EMPTY> +<!ATTLIST disabled + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT invalid EMPTY> +<!ATTLIST invalid + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT can-encrypt EMPTY> +<!ATTLIST can-encrypt + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT can-sign EMPTY> +<!ATTLIST can-sign + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT can-certify EMPTY> +<!ATTLIST can-certify + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT can-authenticate EMPTY> +<!ATTLIST can-authenticate + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT is-qualified EMPTY> +<!ATTLIST is-qualified + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT protocol (#PCDATA)> +<!ATTLIST protocol + xmlns CDATA #FIXED '' + value CDATA #REQUIRED> + +<!ELEMENT issuer (serial,name)> +<!ATTLIST issuer + xmlns CDATA #FIXED ''> + +<!ELEMENT chain-id EMPTY> +<!ATTLIST chain-id + xmlns CDATA #FIXED ''> + +<!ELEMENT owner-trust (#PCDATA)> +<!ATTLIST owner-trust + xmlns CDATA #FIXED '' + value CDATA #REQUIRED> + +<!ELEMENT subkeys (subkey)+> +<!ATTLIST subkeys + xmlns CDATA #FIXED ''> + +<!ELEMENT uids (uid)+> +<!ATTLIST uids + xmlns CDATA #FIXED ''> + +<!ELEMENT serial EMPTY> +<!ATTLIST serial + xmlns CDATA #FIXED ''> + +<!ELEMENT subkey (keyid,fpr,secret,is_cardkey,curve?)> +<!ATTLIST subkey + xmlns CDATA #FIXED ''> + +<!ELEMENT keyid (#PCDATA)> +<!ATTLIST keyid + xmlns CDATA #FIXED ''> + +<!ELEMENT fpr (#PCDATA)> +<!ATTLIST fpr + xmlns CDATA #FIXED ''> + +<!ELEMENT is_cardkey EMPTY> +<!ATTLIST is_cardkey + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT curve (#PCDATA)> +<!ATTLIST curve + xmlns CDATA #FIXED ''> + +<!ELEMENT secret EMPTY> +<!ATTLIST secret + xmlns CDATA #FIXED '' + value NMTOKEN #REQUIRED> + +<!ELEMENT name (#PCDATA)> +<!ATTLIST name + xmlns CDATA #FIXED ''> + +<!ELEMENT uid (#PCDATA|name|uid|comment|email)*> +<!ATTLIST uid + xmlns CDATA #FIXED ''> + +<!ELEMENT comment (#PCDATA)> +<!ATTLIST comment + xmlns CDATA #FIXED ''> + +<!ELEMENT email (#PCDATA)> +<!ATTLIST email + xmlns CDATA #FIXED ''> diff --git a/lang/xml-schemas/gpgmekeys.rnc b/lang/xml-schemas/gpgmekeys.rnc new file mode 100644 index 00000000..ef669a68 --- /dev/null +++ b/lang/xml-schemas/gpgmekeys.rnc @@ -0,0 +1,75 @@ +default namespace = "" + +start = + element gpgme { + element keylist { + element key { + element revoked { + attribute value { xsd:NMTOKEN } + }, + element expired { + attribute value { xsd:NMTOKEN } + }, + element disabled { + attribute value { xsd:NMTOKEN } + }, + element invalid { + attribute value { xsd:NMTOKEN } + }, + element can-encrypt { + attribute value { xsd:NMTOKEN } + }, + element can-sign { + attribute value { xsd:NMTOKEN } + }, + element can-certify { + attribute value { xsd:NMTOKEN } + }, + element can-authenticate { + attribute value { xsd:NMTOKEN } + }, + element is-qualified { + attribute value { xsd:NMTOKEN } + }, + secret, + element protocol { + attribute value { xsd:integer }, + xsd:NCName + }, + element issuer { + element serial { empty }, + name + }, + element chain-id { empty }, + element owner-trust { + attribute value { xsd:integer }, + xsd:NCName + }, + element subkeys { + element subkey { + element keyid { xsd:NMTOKEN }, + element fpr { text }, + secret, + element is_cardkey { + attribute value { xsd:NMTOKEN } + }, + element curve { xsd:NCName }? + }+ + }, + element uids { uid+ } + }+ + } + } +secret = + element secret { + attribute value { xsd:NMTOKEN } + } +name = element name { text } +uid = + element uid { + (text + | name + | uid + | element comment { text } + | element email { xsd:anyURI })+ + } diff --git a/lang/xml-schemas/gpgmekeys.rng b/lang/xml-schemas/gpgmekeys.rng new file mode 100644 index 00000000..f8fad916 --- /dev/null +++ b/lang/xml-schemas/gpgmekeys.rng @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="gpgme"> + <element name="keylist"> + <oneOrMore> + <element name="key"> + <element name="revoked"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="expired"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="disabled"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="invalid"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="can-encrypt"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="can-sign"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="can-certify"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="can-authenticate"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <element name="is-qualified"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <ref name="secret"/> + <element name="protocol"> + <attribute name="value"> + <data type="integer"/> + </attribute> + <data type="NCName"/> + </element> + <element name="issuer"> + <element name="serial"> + <empty/> + </element> + <ref name="name"/> + </element> + <element name="chain-id"> + <empty/> + </element> + <element name="owner-trust"> + <attribute name="value"> + <data type="integer"/> + </attribute> + <data type="NCName"/> + </element> + <element name="subkeys"> + <oneOrMore> + <element name="subkey"> + <element name="keyid"> + <data type="NMTOKEN"/> + </element> + <element name="fpr"> + <text/> + </element> + <ref name="secret"/> + <element name="is_cardkey"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + <optional> + <element name="curve"> + <data type="NCName"/> + </element> + </optional> + </element> + </oneOrMore> + </element> + <element name="uids"> + <oneOrMore> + <ref name="uid"/> + </oneOrMore> + </element> + </element> + </oneOrMore> + </element> + </element> + </start> + <define name="secret"> + <element name="secret"> + <attribute name="value"> + <data type="NMTOKEN"/> + </attribute> + </element> + </define> + <define name="name"> + <element name="name"> + <text/> + </element> + </define> + <define name="uid"> + <element name="uid"> + <oneOrMore> + <choice> + <text/> + <ref name="name"/> + <ref name="uid"/> + <element name="comment"> + <text/> + </element> + <element name="email"> + <data type="anyURI"/> + </element> + </choice> + </oneOrMore> + </element> + </define> +</grammar> diff --git a/lang/xml-schemas/gpgmekeys.xsd b/lang/xml-schemas/gpgmekeys.xsd new file mode 100644 index 00000000..9efd94e7 --- /dev/null +++ b/lang/xml-schemas/gpgmekeys.xsd @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:element name="gpgme"> + <xs:complexType> + <xs:sequence> + <xs:element ref="keylist"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="keylist"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="key"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="key"> + <xs:complexType> + <xs:sequence> + <xs:element ref="revoked"/> + <xs:element ref="expired"/> + <xs:element ref="disabled"/> + <xs:element ref="invalid"/> + <xs:element ref="can-encrypt"/> + <xs:element ref="can-sign"/> + <xs:element ref="can-certify"/> + <xs:element ref="can-authenticate"/> + <xs:element ref="is-qualified"/> + <xs:element ref="secret"/> + <xs:element ref="protocol"/> + <xs:element ref="issuer"/> + <xs:element ref="chain-id"/> + <xs:element ref="owner-trust"/> + <xs:element ref="subkeys"/> + <xs:element ref="uids"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="revoked"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="expired"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="disabled"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="invalid"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="can-encrypt"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="can-sign"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="can-certify"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="can-authenticate"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="is-qualified"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="protocol"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NCName"> + <xs:attribute name="value" use="required" type="xs:integer"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="issuer"> + <xs:complexType> + <xs:sequence> + <xs:element ref="serial"/> + <xs:element ref="name"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="serial"> + <xs:complexType/> + </xs:element> + <xs:element name="chain-id"> + <xs:complexType/> + </xs:element> + <xs:element name="owner-trust"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NCName"> + <xs:attribute name="value" use="required" type="xs:integer"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="subkeys"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="subkey"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="subkey"> + <xs:complexType> + <xs:sequence> + <xs:element ref="keyid"/> + <xs:element ref="fpr"/> + <xs:element ref="secret"/> + <xs:element ref="is_cardkey"/> + <xs:element minOccurs="0" ref="curve"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="keyid" type="xs:NMTOKEN"/> + <xs:element name="fpr" type="xs:string"/> + <xs:element name="is_cardkey"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="curve" type="xs:NCName"/> + <xs:element name="uids"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="uid"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="secret"> + <xs:complexType> + <xs:attribute name="value" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <xs:element name="name" type="xs:string"/> + <xs:element name="uid"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="name"/> + <xs:element ref="uid"/> + <xs:element ref="comment"/> + <xs:element ref="email"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="comment" type="xs:string"/> + <xs:element name="email" type="xs:anyURI"/> +</xs:schema> |