diff options
Diffstat (limited to 'myrpki.rototill/myrpki.rng')
-rw-r--r-- | myrpki.rototill/myrpki.rng | 322 |
1 files changed, 250 insertions, 72 deletions
diff --git a/myrpki.rototill/myrpki.rng b/myrpki.rototill/myrpki.rng index 1fa2cd86..2202f4d2 100644 --- a/myrpki.rototill/myrpki.rng +++ b/myrpki.rototill/myrpki.rng @@ -8,6 +8,9 @@ run the compact syntax through trang to get XML syntax. --> <grammar ns="http://www.hactrn.net/uris/rpki/myrpki/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="version"> + <value>2</value> + </define> <define name="base64"> <data type="base64Binary"> <param name="maxLength">512000</param> @@ -48,57 +51,159 @@ <param name="pattern">[\-,0-9/:a-fA-F]*</param> </data> </define> - <start> + <start combine="choice"> + <ref name="myrpki_pdu"/> + </start> + <start combine="choice"> + <ref name="identity_pdu"/> + </start> + <start combine="choice"> + <ref name="parent_pdu"/> + </start> + <start combine="choice"> + <ref name="repository_pdu"/> + </start> + <define name="myrpki_pdu"> <element name="myrpki"> <attribute name="version"> - <value>2</value> + <ref name="version"/> </attribute> <attribute name="handle"> <ref name="object_handle"/> </attribute> <zeroOrMore> - <ref name="roa_request_elt"/> + <element name="roa_request"> + <attribute name="asn"> + <data type="positiveInteger"/> + </attribute> + <attribute name="v4"> + <ref name="ipv4_list"/> + </attribute> + <attribute name="v6"> + <ref name="ipv6_list"/> + </attribute> + </element> </zeroOrMore> <zeroOrMore> - <ref name="child_elt"/> + <element name="child"> + <attribute name="handle"> + <ref name="object_handle"/> + </attribute> + <attribute name="valid_until"> + <data type="dateTime"> + <param name="pattern">.*Z</param> + </data> + </attribute> + <optional> + <attribute name="asns"> + <ref name="asn_list"/> + </attribute> + </optional> + <optional> + <attribute name="v4"> + <ref name="ipv4_list"/> + </attribute> + </optional> + <optional> + <attribute name="v6"> + <ref name="ipv6_list"/> + </attribute> + </optional> + <optional> + <element name="bpki_certificate"> + <ref name="base64"/> + </element> + </optional> + </element> </zeroOrMore> <zeroOrMore> - <ref name="parent_elt"/> + <element name="parent"> + <attribute name="handle"> + <ref name="object_handle"/> + </attribute> + <optional> + <attribute name="service_uri"> + <ref name="uri"/> + </attribute> + </optional> + <optional> + <attribute name="myhandle"> + <ref name="object_handle"/> + </attribute> + </optional> + <optional> + <attribute name="sia_base"> + <ref name="uri"/> + </attribute> + </optional> + <optional> + <element name="bpki_cms_certificate"> + <ref name="base64"/> + </element> + </optional> + <optional> + <element name="bpki_https_certificate"> + <ref name="base64"/> + </element> + </optional> + </element> </zeroOrMore> <zeroOrMore> - <ref name="repository_elt"/> + <element name="repository"> + <attribute name="handle"> + <ref name="object_handle"/> + </attribute> + <optional> + <attribute name="service_uri"> + <ref name="uri"/> + </attribute> + </optional> + <optional> + <element name="bpki_certificate"> + <ref name="base64"/> + </element> + </optional> + </element> </zeroOrMore> <optional> - <ref name="bpki_ca_certificate_elt"/> + <element name="bpki_ca_certificate"> + <ref name="base64"/> + </element> </optional> <optional> - <ref name="bpki_crl_elt"/> + <element name="bpki_crl"> + <ref name="base64"/> + </element> </optional> <optional> - <ref name="bpki_bsc_certificate_elt"/> + <element name="bpki_bsc_certificate"> + <ref name="base64"/> + </element> </optional> <optional> - <ref name="bpki_bsc_pkcs10_elt"/> + <element name="bpki_bsc_pkcs10"> + <ref name="base64"/> + </element> </optional> </element> - </start> - <define name="roa_request_elt"> - <element name="roa_request"> - <attribute name="asn"> - <data type="positiveInteger"/> - </attribute> - <attribute name="v4"> - <ref name="ipv4_list"/> + </define> + <define name="identity_pdu"> + <element name="identity"> + <attribute name="version"> + <ref name="version"/> </attribute> - <attribute name="v6"> - <ref name="ipv6_list"/> + <attribute name="handle"> + <ref name="object_handle"/> </attribute> + <element name="bpki_ta"> + <ref name="base64"/> + </element> </element> </define> - <define name="child_elt"> - <element name="child"> - <attribute name="handle"> - <ref name="object_handle"/> + <define name="parent_pdu"> + <element name="parent"> + <attribute name="version"> + <ref name="version"/> </attribute> <attribute name="valid_until"> <data type="dateTime"> @@ -106,96 +211,169 @@ </data> </attribute> <optional> - <attribute name="asns"> - <ref name="asn_list"/> + <attribute name="service_uri"> + <ref name="uri"/> </attribute> </optional> + <attribute name="child_handle"> + <ref name="object_handle"/> + </attribute> + <attribute name="parent_handle"> + <ref name="object_handle"/> + </attribute> <optional> - <attribute name="v4"> - <ref name="ipv4_list"/> - </attribute> + <element name="bpki_resource_ta"> + <ref name="base64"/> + </element> </optional> <optional> - <attribute name="v6"> - <ref name="ipv6_list"/> - </attribute> + <element name="bpki_server_ta"> + <ref name="base64"/> + </element> </optional> <optional> - <element name="bpki_certificate"> + <element name="bpki_child_ta"> <ref name="base64"/> </element> </optional> + <optional> + <element name="repository"> + <choice> + <attribute name="type"> + <value>offer</value> + </attribute> + <group> + <attribute name="type"> + <value>hint</value> + </attribute> + <attribute name="proposed_sia_base"> + <ref name="uri"/> + </attribute> + <element name="contact_info"> + <data type="string"/> + </element> + </group> + </choice> + </element> + </optional> </element> </define> - <define name="parent_elt"> - <element name="parent"> - <attribute name="handle"> + <define name="repository_pdu" combine="choice"> + <element name="repository"> + <attribute name="version"> + <ref name="version"/> + </attribute> + <attribute name="type"> + <value>confirmed</value> + </attribute> + <attribute name="parent_handle"> + <ref name="object_handle"/> + </attribute> + <attribute name="client_handle"> + <ref name="pubd_handle"/> + </attribute> + <attribute name="service_uri"> + <ref name="uri"/> + </attribute> + <attribute name="sia_base"> + <ref name="uri"/> + </attribute> + <attribute name="repository_handle"> <ref name="object_handle"/> </attribute> <optional> - <attribute name="service_uri"> - <ref name="uri"/> - </attribute> + <element name="bpki_server_ta"> + <ref name="base64"/> + </element> </optional> <optional> - <attribute name="myhandle"> - <ref name="object_handle"/> - </attribute> + <element name="bpki_client_ta"> + <ref name="base64"/> + </element> </optional> <optional> - <attribute name="sia_base"> - <ref name="uri"/> - </attribute> + <element name="contact_info"> + <data type="string"/> + </element> + </optional> + </element> + </define> + <define name="repository_pdu" combine="choice"> + <element name="repository"> + <attribute name="version"> + <ref name="version"/> + </attribute> + <attribute name="type"> + <value>request</value> + </attribute> + <attribute name="handle"> + <ref name="pubd_handle"/> + </attribute> + <attribute name="parent_handle"> + <ref name="object_handle"/> + </attribute> + <optional> + <element name="contact_info"> + <data type="string"/> + </element> </optional> <optional> - <element name="bpki_cms_certificate"> + <element name="bpki_ta"> <ref name="base64"/> </element> </optional> + </element> + </define> + <define name="repository_pdu" combine="choice"> + <element name="repository"> + <attribute name="version"> + <ref name="version"/> + </attribute> + <attribute name="type"> + <value>offer</value> + </attribute> + <attribute name="handle"> + <ref name="pubd_handle"/> + </attribute> + <attribute name="parent_handle"> + <ref name="object_handle"/> + </attribute> <optional> - <element name="bpki_https_certificate"> + <element name="bpki_ta"> <ref name="base64"/> </element> </optional> </element> </define> - <define name="repository_elt"> + <define name="repository_pdu" combine="choice"> <element name="repository"> + <attribute name="version"> + <ref name="version"/> + </attribute> + <attribute name="type"> + <value>hint</value> + </attribute> <attribute name="handle"> + <ref name="pubd_handle"/> + </attribute> + <attribute name="parent_handle"> <ref name="object_handle"/> </attribute> + <attribute name="proposed_sia_base"> + <ref name="uri"/> + </attribute> <optional> - <attribute name="service_uri"> - <ref name="uri"/> - </attribute> + <element name="contact_info"> + <data type="string"/> + </element> </optional> <optional> - <element name="bpki_certificate"> + <element name="bpki_ta"> <ref name="base64"/> </element> </optional> </element> </define> - <define name="bpki_ca_certificate_elt"> - <element name="bpki_ca_certificate"> - <ref name="base64"/> - </element> - </define> - <define name="bpki_crl_elt"> - <element name="bpki_crl"> - <ref name="base64"/> - </element> - </define> - <define name="bpki_bsc_certificate_elt"> - <element name="bpki_bsc_certificate"> - <ref name="base64"/> - </element> - </define> - <define name="bpki_bsc_pkcs10_elt"> - <element name="bpki_bsc_pkcs10"> - <ref name="base64"/> - </element> - </define> </grammar> <!-- Local Variables: |