aboutsummaryrefslogtreecommitdiff
path: root/rpkid/router-certificate-schema.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/router-certificate-schema.rnc')
-rw-r--r--rpkid/router-certificate-schema.rnc19
1 files changed, 12 insertions, 7 deletions
diff --git a/rpkid/router-certificate-schema.rnc b/rpkid/router-certificate-schema.rnc
index eade85f0..8ec5f84a 100644
--- a/rpkid/router-certificate-schema.rnc
+++ b/rpkid/router-certificate-schema.rnc
@@ -29,27 +29,32 @@
default namespace = "http://www.hactrn.net/uris/rpki/router-certificate/"
version = "1"
-
base64 = xsd:base64Binary { maxLength="512000" }
router_id = xsd:unsignedInt
asn_list = xsd:string { maxLength="512000" pattern="[\-,0-9]*" }
timestamp = xsd:dateTime { pattern=".*Z" }
-# Core PDU used in this schema.
+# Core payload used in this schema.
-router_certificate_request = element router_certificate_request {
+payload = (
attribute router_id { router_id },
attribute asn { asn_list },
attribute valid_until { timestamp }?,
base64
-}
+)
-start |= router_certificate_request
+# 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.
-# Wrapper element to support multiple requests in a single document.
+start |= element router_certificate_request {
+ attribute version { version },
+ payload
+}
start |= element router_certificate_requests {
- router_certificate_request*
+ attribute version { version },
+ element router_certificate_request { payload }*
}
# Local Variables: