blob: 378ce087bf0c9baa4df4302bdcedd3bb415bbf67 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<optional>
<ref name="element-acls"/>
</optional>
</start>
<define name="element-acls">
<element name="acls">
<zeroOrMore>
<choice>
<element name="acl_user">
<attribute name="id"><data type="ID"/></attribute>
<choice>
<zeroOrMore>
<element name="role_ref">
<attribute name="id"><data type="IDREF"/></attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<ref name="element-acl"/>
</zeroOrMore>
</choice>
</element>
<element name="acl_role">
<attribute name="id"><data type="ID"/></attribute>
<zeroOrMore>
<ref name="element-acl"/>
</zeroOrMore>
</element>
</choice>
</zeroOrMore>
</element>
</define>
<define name="element-acl">
<choice>
<element name="read">
<ref name="attribute-acl"/>
</element>
<element name="write">
<ref name="attribute-acl"/>
</element>
<element name="deny">
<ref name="attribute-acl"/>
</element>
</choice>
</define>
<define name="attribute-acl">
<attribute name="id"><data type="ID"/></attribute>
<choice>
<attribute name="tag"><text/></attribute>
<attribute name="ref"><data type="IDREF"/></attribute>
<group>
<attribute name="tag"><text/></attribute>
<attribute name="ref"><data type="IDREF"/></attribute>
</group>
<attribute name="xpath"><text/></attribute>
</choice>
<optional>
<attribute name="attribute"><text/></attribute>
</optional>
</define>
</grammar>