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>
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
Sus enlaces al código fuente de Zope ahora están rotos – scarba05
@ scarba05: gracias por el aviso, corrigió el enlace. –