ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    i18n_domain="zope"
    >
<browser:addMenuItem
    title="SQL Script"
    description="A content-based script to execute dynamic SQL."
    permission="zope.ManageContent"
    class="zope.app.sqlscript.SQLScript"
    view="zope.app.sqlscript.SQLScript"
    />
<browser:addform
    name="zope.app.sqlscript.SQLScript"
    schema="zope.app.sqlscript.interfaces.ISQLScript"
    permission="zope.ManageContent"
    template="add.pt"
    class=".sqlscript.SQLScriptAdd"
    label="Add a SQL Script"
    content_factory="..sqlscript.SQLScript"
    keyword_arguments="connectionName source arguments"
    />
<browser:editform
    name="edit.html"
    schema="zope.app.sqlscript.interfaces.ISQLScript"
    permission="zope.ManageContent"
    template="edit.pt"
    class=".sqlscript.SQLScriptEdit"
    label="Edit an SQL script"
    menu="zmi_views"
    />
<browser:pages
    class=".sqlscript.SQLScriptTest"
    for="zope.app.sqlscript.interfaces.ISQLScript"
    permission="zope.View"
    >
<browser:page
    name="test.html"
    template="test.pt"
    menu="zmi_views"
    title="[test-page-title] Test"
    />
<browser:page
    name="testResults.html"
    template="testresults.pt"
    />
</browser:pages>
<browser:pages
    class="zope.app.cache.browser.cacheable.CacheableView"
    for="zope.app.sqlscript.interfaces.ISQLScript"
    permission="zope.ManageBindings"
    >
<browser:page
    name="Caching.html"
    attribute="form"
    menu="zmi_views"
    title="Caching"
    />
<browser:page
    name="ChangeCaching.html"
    attribute="action"
    />
<browser:page
    name="InvalidateCache.html"
    attribute="invalidate"
    />
</browser:pages>
</configure>