diff options
Diffstat (limited to 'schemas/relaxng/rrdp.rng')
-rw-r--r-- | schemas/relaxng/rrdp.rng | 37 |
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: |