diff options
Diffstat (limited to 'schemas/relaxng/publication.rnc')
-rw-r--r-- | schemas/relaxng/publication.rnc | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/schemas/relaxng/publication.rnc b/schemas/relaxng/publication.rnc index 3a519543..8c129546 100644 --- a/schemas/relaxng/publication.rnc +++ b/schemas/relaxng/publication.rnc @@ -44,10 +44,16 @@ version = "3" # Top level PDU is either a query or a reply. -start = element msg { - attribute version { version } , - ( ( attribute type { "query" }, query_elt* ) | - ( attribute type { "reply" }, reply_elt* ) ) +start |= element msg { + attribute version { version }, + attribute type { "query" }, + query_elt* +} + +start |= element msg { + attribute version { version }, + attribute type { "reply" }, + reply_elt* } # PDUs allowed in queries and replies. @@ -67,19 +73,23 @@ base64 = xsd:base64Binary uri = attribute uri { xsd:anyURI { maxLength="4096" } } +# Digest of objects being withdrawn + +hash = attribute hash { xsd:string { pattern = "[0-9a-fA-F]+" } } + # Error codes. error = xsd:token { maxLength="1024" } # <publish/> element -publish_query |= element publish { tag?, uri, base64 } -publish_reply |= element publish { tag?, uri } +publish_query = element publish { tag?, uri, hash?, base64 } +publish_reply = element publish { tag?, uri } # <withdraw/> element -withdraw_query |= element withdraw { tag?, uri } -withdraw_reply |= element withdraw { tag?, uri } +withdraw_query = element withdraw { tag?, uri, hash } +withdraw_reply = element withdraw { tag?, uri } # <report_error/> element |