blob: 50d9eff06b614fe650513689f6893a959216c0a9 (
plain) (
tree)
44'>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
83
84
85
86
87
88
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: up-down-schema.rnc 1798 2008-05-17 08:21:50Z sra $
RelaxNG Scheme for up-down protocol, extracted from APNIC Wiki.
libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so
run the compact syntax through trang to get XML syntax.
-->
<grammar ns="http://www.apnic.net/specs/rescerts/up-down/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="message">
<attribute name="version">
<data type="positiveInteger">
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="sender">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
<attribute name="recipient">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
<ref name="payload"/>
</element>
</start>
<define name="payload" combine="choice">
<attribute name="type">
<value>list</value>
</attribute>
<ref name="list_request"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>list_response</value>
</attribute>
<ref name="list_response"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>issue</value>
</attribute>
<ref name="issue_request"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>issue_response</value>
</attribute>
<ref name="issue_response"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>revoke</value>
</attribute>
<ref name="revoke_request"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>revoke_response</value>
</attribute>
<ref name="revoke_response"/>
</define>
<define name="payload" combine="choice">
<attribute name="type">
<value>error_response</value>
</attribute>
<ref name="error_response"/>
</define>
<define name="list_request">
<empty/>
</define>
<define name="list_response">
<zeroOrMore>
<ref name="class"/>
</zeroOrMore>
</define>
<define name="class">
<element name="class">
<attribute name="class_name">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
<attribute name="cert_url">
<data type="string">
<param name="maxLength">4096</param>
</data>
</attribute>
<attribute name="resource_set_as">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9]*</param>
</data>
</attribute>
<attribute name="resource_set_ipv4">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/.0-9]*</param>
</data>
</attribute>
<attribute name="resource_set_ipv6">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/:0-9a-fA-F]*</param>
</data>
</attribute>
<optional>
<attribute name="resource_set_notafter">
<data type="dateTime">
<param name="pattern">.*Z</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="suggested_sia_head">
<data type="anyURI">
<param name="maxLength">1024</param>
<param name="pattern">rsync://.+</param>
</data>
</attribute>
</optional>
<zeroOrMore>
<element name="certificate">
<attribute name="cert_url">
<data type="string">
<param name="maxLength">4096</param>
</data>
</attribute>
<optional>
<attribute name="req_resource_set_as">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9]*</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="req_resource_set_ipv4">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/.0-9]*</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="req_resource_set_ipv6">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/:0-9a-fA-F]*</param>
</data>
</attribute>
</optional>
<data type="base64Binary">
<param name="maxLength">512000</param>
</data>
</element>
</zeroOrMore>
<element name="issuer">
<data type="base64Binary">
<param name="maxLength">512000</param>
</data>
</element>
</element>
</define>
<define name="issue_request">
<element name="request">
<attribute name="class_name">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
<optional>
<attribute name="req_resource_set_as">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9]*</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="req_resource_set_ipv4">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/.0-9]*</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="req_resource_set_ipv6">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,/:0-9a-fA-F]*</param>
</data>
</attribute>
</optional>
<data type="base64Binary">
<param name="maxLength">512000</param>
</data>
</element>
</define>
<define name="issue_response">
<ref name="class"/>
</define>
<define name="revoke_request">
<ref name="revocation"/>
</define>
<define name="revoke_response">
<ref name="revocation"/>
</define>
<define name="revocation">
<element name="key">
<attribute name="class_name">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
<attribute name="ski">
<data type="token">
<param name="maxLength">1024</param>
</data>
</attribute>
</element>
</define>
<define name="error_response">
<element name="status">
<data type="positiveInteger">
<param name="maxInclusive">999999999999999</param>
</data>
</element>
<optional>
<element name="description">
<attribute name="xml:lang">
<data type="language"/>
</attribute>
<data type="string">
<param name="maxLength">1024</param>
</data>
</element>
</optional>
</define>
</grammar>
<!--
Local Variables:
indent-tabs-mode: nil
End:
-->
|