ZCML File
classes.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    >
<class
    class=".catalog.Catalog"
    >
<factory
    id="zope.app.catalog"
    />
<require
    permission="zope.Public"
    interface="zope.app.catalog.interfaces.ICatalogQuery"
    />
<require
    permission="zope.ManageServices"
    interface="zope.app.catalog.interfaces.ICatalogEdit"
    />
<require
    permission="zope.ManageServices"
    interface="zope.app.container.interfaces.IContainer"
    />
</class>
<class
    class=".catalog.ResultSet"
    >
<require
    permission="zope.Public"
    attributes="__iter__ __len__"
    />
</class>
<class
    class=".field.FieldIndex"
    >
<require
    permission="zope.ManageServices"
    interface="        "
    set_schema=".interfaces.IAttributeIndex"
    />
</class>
<class
    class=".text.TextIndex"
    >
<require
    permission="zope.ManageServices"
    interface="        "
    set_schema=".interfaces.IAttributeIndex"
    />
</class>
<interface
    interface="zope.index.text.interfaces.ISearchableText"
    />
</configure>