aboutsummaryrefslogtreecommitdiff
path: root/myrpki.rototill/myrpki.rng
diff options
context:
space:
mode:
Diffstat (limited to 'myrpki.rototill/myrpki.rng')
-rw-r--r--myrpki.rototill/myrpki.rng322
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: