diff options
author | Rob Austein <sra@hactrn.net> | 2007-06-20 20:31:29 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-06-20 20:31:29 +0000 |
commit | 5d7a59678cf41ce89b63cced41f9b8e903905eb9 (patch) | |
tree | 253ffd6b23c3ec63df30448109967c238894ff08 /scripts/up-down-tighter-schema.rnc | |
parent | acae35e2b972c65b6b698f3559049fc064b93fcd (diff) |
Fun with RelaxNG regexps!
svn path=/scripts/up-down-protocol-samples/Makefile; revision=679
Diffstat (limited to 'scripts/up-down-tighter-schema.rnc')
-rw-r--r-- | scripts/up-down-tighter-schema.rnc | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/scripts/up-down-tighter-schema.rnc b/scripts/up-down-tighter-schema.rnc new file mode 100644 index 00000000..bffcc41a --- /dev/null +++ b/scripts/up-down-tighter-schema.rnc @@ -0,0 +1,72 @@ +# $Id$ +# Automatically generated from up-down-tighter-schema.pl + + default namespace = "http://www.apnic.net/specs/rescerts/up-down/" + + grammar { + start = element message { + attribute version { xsd:positiveInteger { maxInclusive="1" } }, + attribute sender { xsd:token { maxLength="1024" } }, + attribute recipient { xsd:token { maxLength="1024" } }, + attribute msg_ref { xsd:positiveInteger { maxInclusive="999999999999999" } }, + payload + } + + payload |= attribute type { "list" }, list_request + payload |= attribute type { "list_response"}, list_response + payload |= attribute type { "issue" }, issue_request + payload |= attribute type { "issue_response"}, issue_response + payload |= attribute type { "revoke" }, revoke_request + payload |= attribute type { "revoke_response"}, revoke_response + payload |= attribute type { "error_response"}, error_response + + list_request = empty + list_response = class* + + class = element class { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute cert_url { xsd:anyURI { maxLength="1024" } }, + attribute cert_ski { xsd:token { maxLength="1024" } }, + attribute resource_set_as { xsd:string { maxLength="512000" pattern="[0-9]+(,[0-9]+)?" } }, + attribute resource_set_ipv4 { xsd:string { maxLength="512000" pattern="([0-9]+\.){3}[0-9]+/[0-9]+|([0-9]+\.){3}[0-9]+-([0-9]+\.){3}[0-9]+" } }, + attribute resource_set_ipv6 { xsd:string { maxLength="512000" } }, + attribute suggested_sia_head { xsd:string { maxLength="1024" } }?, + element certificate { + attribute cert_url { xsd:anyURI { maxLength="1024" } }, + attribute cert_ski { xsd:token { maxLength="1024" } }, + attribute cert_aki { xsd:token { maxLength="1024" } }, + attribute cert_serial { xsd:positiveInteger }, + attribute resource_set_as { xsd:string { maxLength="512000" pattern="[0-9]+(,[0-9]+)?" } }, + attribute resource_set_ipv4 { xsd:string { maxLength="512000" pattern="([0-9]+\.){3}[0-9]+/[0-9]+|([0-9]+\.){3}[0-9]+-([0-9]+\.){3}[0-9]+" } }, + attribute resource_set_ipv6 { xsd:string { maxLength="512000" } }, + attribute req_resource_set_as { xsd:string { maxLength="512000" pattern="[0-9]+(,[0-9]+)?" } }?, + attribute req_resource_set_ipv4 { xsd:string { maxLength="512000" pattern="([0-9]+\.){3}[0-9]+/[0-9]+|([0-9]+\.){3}[0-9]+-([0-9]+\.){3}[0-9]+" } }?, + attribute req_resource_set_ipv6 { xsd:string { maxLength="512000" } }?, + attribute status { "undersize" | "match" | "oversize" }, + xsd:base64Binary { maxLength="512000" } + }*, + element issuer { xsd:base64Binary { maxLength="512000" } } + } + + issue_request = element request { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute req_resource_set_as { xsd:string { maxLength="512000" pattern="[0-9]+(,[0-9]+)?" } }?, + attribute req_resource_set_ipv4 { xsd:string { maxLength="512000" pattern="([0-9]+\.){3}[0-9]+/[0-9]+|([0-9]+\.){3}[0-9]+-([0-9]+\.){3}[0-9]+" } }?, + attribute req_resource_set_ipv6 { xsd:string { maxLength="512000" } }?, + xsd:base64Binary { maxLength="512000" } + } + issue_response = class + + revoke_request = revocation + revoke_response = revocation + + revocation = element key { + attribute class_name { xsd:token { maxLength="1024" } }, + attribute ski { xsd:token { maxLength="1024" } } + } + + error_response = + element status { xsd:positiveInteger { maxInclusive="999999999999999" } }, + element last_msg_processed { xsd:positiveInteger { maxInclusive="999999999999999" } }?, + element description { attribute xml:lang { xsd:language }, xsd:string { maxLength="1024" } }? + } |