ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/browser"
    xmlns:zope="http://namespaces.zope.org/zope"
    i18n_domain="zope"
    >
<configure
    package="zope.app.rotterdam"
    >
<resource
    layer="zope.app.boston.boston"
    name="xmltree.js"
    file="xmltree.js"
    />
<resource
    layer="zope.app.boston.boston"
    name="pl.gif"
    file="pl.gif"
    />
<resource
    layer="zope.app.boston.boston"
    name="mi.gif"
    file="mi.gif"
    />
</configure>
<resource
    layer="zope.app.boston.boston"
    name="xmltree.css"
    file="xmltree.css"
    />
<viewlet
    class="zope.app.boston.BostonXMLTreeCSSViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.Public"
    name="xmltree.css"
    manager="zope.app.boston.ICSS"
    weight="0"
    />
<viewlet
    class="zope.app.boston.BostonXMLTreeJavaScriptViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.View"
    name="xmltree"
    manager="zope.app.boston.IJavaScript"
    />
<viewlet
    class="zope.app.boston.OrderedViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.View"
    name="xmltree"
    template="xmltree.pt"
    manager="zope.app.boston.ILeft"
    weight="1"
    />
<pages
    class="zope.app.rotterdam.xmlobject.ReadContainerXmlObjectView"
    layer="zope.app.boston.boston"
    for="zope.app.container.interfaces.IReadContainer"
    permission="zope.View"
    >
<page
    name="children.xml"
    attribute="children"
    />
<page
    name="singleBranchTree.xml"
    attribute="singleBranchTree"
    />
</pages>
<page
    class="zope.app.rotterdam.xmlobject.XmlObjectView"
    layer="zope.app.boston.boston"
    for="zope.interface.interface.Interface"
    permission="zope.View"
    name="singleBranchTree.xml"
    attribute="singleBranchTree"
    />
</configure>