aboutsummaryrefslogtreecommitdiff
path: root/schemas/relaxng/publication.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'schemas/relaxng/publication.rnc')
-rw-r--r--schemas/relaxng/publication.rnc26
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