2009-10-20 19 views

Respuesta

13

Siempre tengo que buscar esto también. La sintaxis es muy simple, y me temo que or no es parte de la sintaxis.

Como se puede ver en the documentation in the zope.configuration source code, la sintaxis es siempre de la forma verb arguments, donde verbo es uno de have, not-have, installed y not-installed.

have y not-have prueba de una función registrada. Una característica registrada es simplemente una cadena opaca que se ha registrado con una etiqueta <meta:provides feature="something" />. Úselo para señalar que algo se ha incluido sin vincularlo a una implementación en particular. Ejemplo:

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

installed y not-installed simplemente intenta importar el paquete llamado; si la importación tiene éxito también lo hace la prueba installed. Ejemplo:

<configure zcml:condition="installed sqlalchemy"> 
    <!-- only when the sqlalchemy module can be imported --> 
</configure> 
+1

Escribí un componente que puede usar múltiples implementaciones de una función de cifrado dependiendo de cuál esté instalado. Para mi 'o' probablemente pueda poner el mismo '' en dos zcml: bloques de condición y luego registrar mi componente en un tercero. ¡Gracias! – joeforker

+0

Sus enlaces al código fuente de Zope ahora están rotos – scarba05

+0

@ scarba05: gracias por el aviso, corrigió el enlace. –

Cuestiones relacionadas