aboutsummaryrefslogtreecommitdiff
path: root/rpkid/router-certificate-schema.rng
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/router-certificate-schema.rng')
-rw-r--r--rpkid/router-certificate-schema.rng48
1 files changed, 30 insertions, 18 deletions
diff --git a/rpkid/router-certificate-schema.rng b/rpkid/router-certificate-schema.rng
index bd0a70d2..afd14d5e 100644
--- a/rpkid/router-certificate-schema.rng
+++ b/rpkid/router-certificate-schema.rng
@@ -51,31 +51,43 @@
<param name="pattern">.*Z</param>
</data>
</define>
- <!-- Core PDU used in this schema. -->
- <define name="router_certificate_request">
- <element name="router_certificate_request">
- <attribute name="router_id">
- <ref name="router_id"/>
- </attribute>
- <attribute name="asn">
- <ref name="asn_list"/>
+ <!-- Core payload used in this schema. -->
+ <define name="payload">
+ <attribute name="router_id">
+ <ref name="router_id"/>
+ </attribute>
+ <attribute name="asn">
+ <ref name="asn_list"/>
+ </attribute>
+ <optional>
+ <attribute name="valid_until">
+ <ref name="timestamp"/>
</attribute>
- <optional>
- <attribute name="valid_until">
- <ref name="timestamp"/>
- </attribute>
- </optional>
- <ref name="base64"/>
- </element>
+ </optional>
+ <ref name="base64"/>
</define>
+ <!--
+ We allow two forms, one with a wrapper to allow multiple requests in
+ a single file, one without for brevity; the version attribute goes
+ in the outermost element in either case.
+ -->
<start combine="choice">
- <ref name="router_certificate_request"/>
+ <element name="router_certificate_request">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <ref name="payload"/>
+ </element>
</start>
- <!-- Wrapper element to support multiple requests in a single document. -->
<start combine="choice">
<element name="router_certificate_requests">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
<zeroOrMore>
- <ref name="router_certificate_request"/>
+ <element name="router_certificate_request">
+ <ref name="payload"/>
+ </element>
</zeroOrMore>
</element>
</start>