aboutsummaryrefslogtreecommitdiff
path: root/schemas/relaxng/rrdp.rng
diff options
context:
space:
mode:
Diffstat (limited to 'schemas/relaxng/rrdp.rng')
-rw-r--r--schemas/relaxng/rrdp.rng37
1 files changed, 24 insertions, 13 deletions
diff --git a/schemas/relaxng/rrdp.rng b/schemas/relaxng/rrdp.rng
index 197a15b3..27ba741d 100644
--- a/schemas/relaxng/rrdp.rng
+++ b/schemas/relaxng/rrdp.rng
@@ -124,24 +124,35 @@
<ref name="serial"/>
</attribute>
<oneOrMore>
- <choice>
- <element name="publish">
- <attribute name="uri">
- <ref name="uri"/>
- </attribute>
- <ref name="base64"/>
- </element>
- <element name="withdraw">
- <attribute name="uri">
- <ref name="uri"/>
- </attribute>
- </element>
- </choice>
+ <ref name="delta_element"/>
</oneOrMore>
</element>
</oneOrMore>
</element>
</start>
+ <define name="delta_element" combine="choice">
+ <element name="publish">
+ <attribute name="uri">
+ <ref name="uri"/>
+ </attribute>
+ <optional>
+ <attribute name="hash">
+ <ref name="hash"/>
+ </attribute>
+ </optional>
+ <ref name="base64"/>
+ </element>
+ </define>
+ <define name="delta_element" combine="choice">
+ <element name="withdraw">
+ <attribute name="uri">
+ <ref name="uri"/>
+ </attribute>
+ <attribute name="hash">
+ <ref name="hash"/>
+ </attribute>
+ </element>
+ </define>
</grammar>
<!--
Local Variables: