ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:dav="http://namespaces.zope.org/dav"
    >
<view
    for="*"
    permission="zope.ManageContent"
    allowed_attributes="PROPFIND setDepth getDepth"
    name="PROPFIND"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".propfind.PROPFIND"
    />
<view
    for="*"
    permission="zope.ManageContent"
    allowed_attributes="PROPPATCH"
    name="PROPPATCH"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".proppatch.PROPPATCH"
    />
<view
    for="zope.app.http.interfaces.INullResource"
    permission="zope.ManageContent"
    allowed_attributes="MKCOL"
    name="MKCOL"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".mkcol.NullResource"
    />
<view
    for="*"
    permission="zope.ManageContent"
    allowed_attributes="MKCOL"
    name="MKCOL"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".mkcol.MKCOL"
    />
<view
    for="zope.schema.interfaces.IText"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.TextDAVWidget"
    />
<view
    for=".interfaces.IXMLText"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.XMLDAVWidget"
    />
<view
    for="zope.schema.interfaces.IBytes"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.TextDAVWidget"
    />
<view
    for="zope.schema.interfaces.IInt"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.TextDAVWidget"
    />
<view
    for="zope.schema.interfaces.IFloat"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.TextDAVWidget"
    />
<view
    for="zope.schema.interfaces.IDatetime"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.TextDAVWidget"
    />
<view
    for="zope.schema.interfaces.ISequence"
    permission="zope.Public"
    provides="zope.app.dav.interfaces.IDAVWidget"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory="zope.app.dav.widget.SequenceDAVWidget"
    />
<adapter
    factory=".adapter.DAVSchemaAdapter"
    provides="zope.app.dav.interfaces.IDAVSchema"
    for="*"
    permission="zope.Public"
    />
<adapter
    factory=".opaquenamespaces.DAVOpaqueNamespacesAdapter"
    provides=".opaquenamespaces.IDAVOpaqueNamespaces"
    for="zope.annotation.interfaces.IAnnotatable"
    trusted="true"
    />
<class
    class=".opaquenamespaces.DAVOpaqueNamespacesAdapter"
    >
<require
    permission="zope.ManageContent"
    interface=".opaquenamespaces.IDAVOpaqueNamespaces"
    />
</class>
<dav:provideInterface
    for="http://purl.org/dc/1.1"
    interface="zope.dublincore.interfaces.IZopeDublinCore"
    />
<dav:provideInterface
    for="DAV:"
    interface="zope.app.dav.interfaces.IDAVSchema"
    />
</configure>