ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:apidoc="http://namespaces.zope.org/apidoc"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    i18n_domain="zope"
    >
<class
    class=".node.Node"
    >
<allow
    interface=".interfaces.INode"
    />
</class>
<utility
    factory=".utils.TreeStateEncoder"
    provides=".interfaces.ITreeStateEncoder"
    />
<adapter
    factory=".adapters.StubUniqueId"
    provides=".interfaces.IUniqueId"
    for="*"
    />
<adapter
    factory=".adapters.StubChildObjects"
    provides=".interfaces.IChildObjects"
    for="*"
    />
<adapter
    factory=".adapters.LocationUniqueId"
    provides=".interfaces.IUniqueId"
    for="zope.location.interfaces.ILocation"
    />
<adapter
    factory=".adapters.ContainerChildObjects"
    provides=".interfaces.IChildObjects"
    for="zope.app.container.interfaces.IReadContainer"
    />
<adapter
    factory=".adapters.ContainerSiteChildObjects"
    provides=".interfaces.IChildObjects"
    for="zope.app.component.interfaces.ISite"
    />
<include
    package=".browser"
    />
<configure
    zcml:condition="have apidoc"
    >
<apidoc:bookchapter
    id="tree"
    title="Zope Tree"
    doc_path="README.txt"
    />
</configure>
</configure>