have and not-have test for a registered feature. A registered feature is simply an opaque string that has been registered with a <meta:provides feature="something" /> tag. Use it to flag that something has been included without tying it to a particular implementation. Example:
<configure zcml:condition="have apidoc">
<!-- only when the apidoc feature has been provided -->
</configure>
installed and not-installed simply try to import the named package; if the import succeeds so does the installed test. Example:
<configure zcml:condition="installed sqlalchemy">
<!-- only when the sqlalchemy module can be imported -->
</configure>
I always have to look this up too. The syntax is very simple, and
oris not part of the syntax, I am afraid.As you can see from the documentation in the zope.configuration source code, the syntax is always of the form
verb arguments, where verb is one ofhave,not-have,installedandnot-installed.haveandnot-havetest for a registered feature. A registered feature is simply an opaque string that has been registered with a<meta:provides feature="something" />tag. Use it to flag that something has been included without tying it to a particular implementation. Example:installedandnot-installedsimply try to import the named package; if the import succeeds so does theinstalledtest. Example: