Hello Alex,

I wrote a Schema a while ago for ACL documents in our WebDAV
implementation. It can be found below. I would suggest to create an
official set of XML Schemas for all input and output documents possible
in the respecitive specifications (especially for WebDAV SEARCH a schema
validation for the input would be recommendable).

Regards,
   Heiko

----

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="DAV:" 
 attributeFormDefault="qualified" 
 elementFormDefault="qualified" 
 xmlns:DAV="DAV:"
 xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  <xs:element name="acl">
    <xs:complexType>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ace">
          <xs:complexType>
            <xs:sequence>
              <xs:choice>
                <xs:element ref="DAV:principal"/>
                <xs:element name="invert">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element ref="DAV:principal"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
              <xs:choice>
                <xs:element name="grant">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element ref="DAV:privilege"
maxOccurs="unbounded"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="deny">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element ref="DAV:privilege"
maxOccurs="unbounded"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
              <xs:element name="protected" minOccurs="0">
                <xs:complexType/>
              </xs:element>
              <xs:element name="inherited" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element ref="DAV:href"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="href" type="xs:anyURI"/>
  <xs:element name="principal">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="DAV:href"/>
        <xs:element name="all">
          <xs:complexType/>
        </xs:element>
        <xs:element name="authenticated">
          <xs:complexType/>
        </xs:element>
        <xs:element name="unauthenticated">
          <xs:complexType/>
        </xs:element>
        <xs:element name="property">
          <xs:complexType>
            <xs:sequence>
              <xs:any processContents="skip"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="self">
          <xs:complexType />
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="privilege">
    <xs:complexType>
      <xs:sequence>
        <xs:any processContents="skip"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to