[git] GPGME - branch, ben/xml, created. gpgme-1.6.0-15-g37b563a
by Ben McGinnes
cvs at cvs.gnupg.org
Fri Mar 25 18:13:07 CET 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".
The branch, ben/xml has been created
at 37b563a6aae4865d44e6d1184a95720d5f11a8a3 (commit)
- Log -----------------------------------------------------------------
commit 37b563a6aae4865d44e6d1184a95720d5f11a8a3
Author: Ben McGinnes <ben at adversary.org>
Date: Sat Mar 26 04:10:52 2016 +1100
Schema licensing
* All the same as GPG/GPGME, plus added Apache 2.0.
diff --git a/lang/xml-schemas/README.txt b/lang/xml-schemas/README.txt
new file mode 100644
index 0000000..70975d8
--- /dev/null
+++ b/lang/xml-schemas/README.txt
@@ -0,0 +1,29 @@
+===========
+XML Schemas
+===========
+
+The XML schemas in this directory are available under the same terms
+as GPGME (i.e. the GPL 2 or later or the LGPL 2.1 or later), or
+alternatively the Apache 2.0 license.
+
+The schemas were generated with oXygenXML Editor 17.1 (mentioning that
+isn't necessary, but might be helpful).
+
+
+--------------
+Apache license
+--------------
+
+Copyright © Benjamin D. McGinnes, 2016
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
commit b18f6a51249f05de5a96c973b001a5cb95b6df2c
Author: Ben McGinnes <ben at adversary.org>
Date: Sat Mar 26 03:59:14 2016 +1100
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.
diff --git a/lang/README b/lang/README
index da54c78..8dfaa54 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 0000000..08c0402
--- /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 0000000..ef669a6
--- /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 0000000..f8fad91
--- /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 0000000..9efd94e
--- /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>
-----------------------------------------------------------------------
hooks/post-receive
--
GnuPG Made Easy
http://git.gnupg.org
More information about the Gnupg-commits
mailing list