2009-10-20 9 views

Antwort

13

Ich muss immer auch das nachschlagen. Die Syntax ist sehr einfach, und or ist nicht Teil der Syntax, fürchte ich.

Wie Sie aus the documentation in the zope.configuration source code sehen können, ist die Syntax immer von der Form verb arguments, wo Verb eines von have, not-have, installed und not-installed.

have und not-have Test für eine registrierte Funktion. Ein registriertes Feature ist einfach eine undurchsichtige Zeichenfolge, die mit einem <meta:provides feature="something" />-Tag registriert wurde. Verwenden Sie es, um zu kennzeichnen, dass etwas enthalten ist, ohne es an eine bestimmte Implementierung zu binden. Beispiel:

<configure zcml:condition="have apidoc"> 
    <!-- only when the apidoc feature has been provided --> 
</configure> 

installed und not-installed einfach versuchen, den Namen versehenes Paket zu importieren; Wenn der Import erfolgreich ist, wird auch der installed Test durchgeführt. Beispiel:

+1

Ich schrieb eine Komponente, die mehrere Implementierungen einer Crypto-Funktion verwenden kann, je nachdem, welche installiert ist. Für meine 'oder' kann ich wahrscheinlich das gleiche setzen ' 'in zwei zcml: condition Blöcken und dann meine Komponente in einem dritten registrieren. Vielen Dank! – joeforker

+0

Ihre Links zum Zope-Quellcode sind jetzt gebrochen – scarba05

+0

@ scarba05: Danke für den Heads-Up, den Link repariert. –

Verwandte Themen