aboutsummaryrefslogtreecommitdiff
path: root/scripts/left-right-schema.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/left-right-schema.rnc')
-rw-r--r--scripts/left-right-schema.rnc70
1 files changed, 53 insertions, 17 deletions
diff --git a/scripts/left-right-schema.rnc b/scripts/left-right-schema.rnc
index 7bc118a9..2c41da20 100644
--- a/scripts/left-right-schema.rnc
+++ b/scripts/left-right-schema.rnc
@@ -61,17 +61,25 @@ self_elt |= element self { ctl_dr, self_id }
bsc_bool = (attribute generate_keypair { "yes" },
attribute key_type { xsd:token { maxLength="1024" } }?,
attribute hash_alg { xsd:token { maxLength="1024" } }?,
- attribute key_length { xsd:token { maxLength="1024" } }?)
+ attribute key_length { xsd:token { maxLength="1024" } }?)?
bsc_id = attribute bsc_id { sql_id }
bsc_payload = (element signing_cert { base64 }*,
- element pkcs10_cert_request { base64 }?,
element public_key { base64 }?)
-bsc_elt = element bsc {
- action, type, self_id, bsc_id?, bsc_bool?, bsc_payload
-}
+bsc_pkcs10 = element pkcs10_cert_request { base64 }?
+
+bsc_elt |= element bsc { ctl_cq, self_id, bsc_bool, bsc_payload }
+bsc_elt |= element bsc { ctl_cr, self_id, bsc_id, bsc_pkcs10 }
+bsc_elt |= element bsc { ctl_sq, self_id, bsc_id, bsc_bool, bsc_payload }
+bsc_elt |= element bsc { ctl_sr, self_id, bsc_id, bsc_pkcs10 }
+bsc_elt |= element bsc { ctl_gq, self_id, bsc_id }
+bsc_elt |= element bsc { ctl_gr, self_id, bsc_id, bsc_payload }
+bsc_elt |= element bsc { ctl_lq, self_id }
+bsc_elt |= element bsc { ctl_lr, self_id, bsc_id, bsc_payload }
+bsc_elt |= element bsc { ctl_dq, self_id, bsc_id }
+bsc_elt |= element bsc { ctl_dr, self_id, bsc_id }
parent_id = attribute parent_id { sql_id }
@@ -85,9 +93,16 @@ parent_payload = (attribute peer_contact { xsd:anyURI { maxLength="1024" } }?,
attribute repository_link { xsd:token { maxLength="1024" } }?,
peer_ta?)
-parent_elt = element parent {
- action, type, self_id, parent_id?, parent_bool, parent_payload
-}
+parent_elt |= element parent { ctl_cq, self_id, parent_bool, parent_payload }
+parent_elt |= element parent { ctl_cr, self_id, parent_id }
+parent_elt |= element parent { ctl_sq, self_id, parent_id, parent_bool, parent_payload }
+parent_elt |= element parent { ctl_sr, self_id, parent_id }
+parent_elt |= element parent { ctl_gq, self_id, parent_id }
+parent_elt |= element parent { ctl_gr, self_id, parent_id, parent_payload }
+parent_elt |= element parent { ctl_lq, self_id }
+parent_elt |= element parent { ctl_lr, self_id, parent_id, parent_payload }
+parent_elt |= element parent { ctl_dq, self_id, parent_id }
+parent_elt |= element parent { ctl_dr, self_id, parent_id }
child_id = attribute child_id { sql_id }
@@ -97,9 +112,16 @@ child_payload = (attribute bsc_link { xsd:token { maxLength="1024" } }?,
attribute child_db_id { xsd:token { maxLength="1024" } }?,
peer_ta?)
-child_elt = element child {
- action, type, self_id, child_id?, child_bool, child_payload
-}
+child_elt |= element child { ctl_cq, self_id, child_bool, child_payload }
+child_elt |= element child { ctl_cr, self_id, child_id }
+child_elt |= element child { ctl_sq, self_id, child_id, child_bool, child_payload }
+child_elt |= element child { ctl_sr, self_id, child_id }
+child_elt |= element child { ctl_gq, self_id, child_id }
+child_elt |= element child { ctl_gr, self_id, child_id, child_payload }
+child_elt |= element child { ctl_lq, self_id }
+child_elt |= element child { ctl_lr, self_id, child_id, child_payload }
+child_elt |= element child { ctl_dq, self_id, child_id }
+child_elt |= element child { ctl_dr, self_id, child_id }
repository_id = attribute repository_id { sql_id }
@@ -107,9 +129,16 @@ repository_payload = (attribute peer_contact { xsd:anyURI { maxLength="1024" } }
attribute bsc_link { xsd:token { maxLength="1024" } }?,
peer_ta?)
-repository_elt = element repository {
- action, type, self_id, repository_id?, repository_payload
-}
+repository_elt |= element repository { ctl_cq, self_id, repository_payload }
+repository_elt |= element repository { ctl_cr, self_id, repository_id }
+repository_elt |= element repository { ctl_sq, self_id, repository_id, repository_payload }
+repository_elt |= element repository { ctl_sr, self_id, repository_id }
+repository_elt |= element repository { ctl_gq, self_id, repository_id }
+repository_elt |= element repository { ctl_gr, self_id, repository_id, repository_payload }
+repository_elt |= element repository { ctl_lq, self_id }
+repository_elt |= element repository { ctl_lr, self_id, repository_id, repository_payload }
+repository_elt |= element repository { ctl_dq, self_id, repository_id }
+repository_elt |= element repository { ctl_dr, self_id, repository_id }
route_origin_id = attribute route_origin_id { sql_id }
@@ -119,9 +148,16 @@ route_origin_payload = (attribute asn { xsd:token { maxLength="1024" } }?,
attribute ipv4 { xsd:token { maxLength="1024" } }?,
attribute ipv6 { xsd:token { maxLength="1024" } }?)
-route_origin_elt = element route_origin {
- action, type, self_id, route_origin_id?, route_origin_bool, route_origin_payload
-}
+route_origin_elt |= element route_origin { ctl_cq, self_id, route_origin_bool, route_origin_payload }
+route_origin_elt |= element route_origin { ctl_cr, self_id, route_origin_id }
+route_origin_elt |= element route_origin { ctl_sq, self_id, route_origin_id, route_origin_bool, route_origin_payload }
+route_origin_elt |= element route_origin { ctl_sr, self_id, route_origin_id }
+route_origin_elt |= element route_origin { ctl_gq, self_id, route_origin_id }
+route_origin_elt |= element route_origin { ctl_gr, self_id, route_origin_id, route_origin_payload }
+route_origin_elt |= element route_origin { ctl_lq, self_id }
+route_origin_elt |= element route_origin { ctl_lr, self_id, route_origin_id, route_origin_payload }
+route_origin_elt |= element route_origin { ctl_dq, self_id, route_origin_id }
+route_origin_elt |= element route_origin { ctl_dr, self_id, route_origin_id }
list_resources_payload = (attribute valid_until { xsd:token { maxLength="1024" } }?,
element resource_class {