Zope zcml:condition的有效条件是什么?
ZCML可以包括以下形式的条件指令Zope zcml:condition的有效条件是什么?,zope,zcml,Zope,Zcml,ZCML可以包括以下形式的条件指令 <configure zcml:condition="installed some.python.package"> (conditional configuration directives) </configure> (条件配置指令) 条件的表达式语法是什么?“或”是允许的吗?我也总是要查这个。语法非常简单,或恐怕不是语法的一部分 从中可以看出,语法总是采用动词参数的形式,其中动词是have、not have、inst
<configure zcml:condition="installed some.python.package">
(conditional configuration directives)
</configure>
(条件配置指令)
条件的表达式语法是什么?“或”是允许的吗?我也总是要查这个。语法非常简单,或
恐怕不是语法的一部分
从中可以看出,语法总是采用动词参数的形式,其中动词是have
、not have
、installed
和not installed
中的一种
有
和没有
测试已注册的功能。已注册的功能只是一个不透明的字符串,它已使用
标记注册。使用它来标记已包含的内容,而不将其绑定到特定的实现。例如:
<configure zcml:condition="have apidoc">
<!-- only when the apidoc feature has been provided -->
</configure>
<configure zcml:condition="installed sqlalchemy">
<!-- only when the sqlalchemy module can be imported -->
</configure>
我编写了一个组件,它可以根据安装的加密函数使用多种实现。对于“或”,我可能可以将相同的
放在两个zcml:condition块中,然后在第三个块中注册我的组件。谢谢那么多重条件呢?这是如何工作的?@b4oshany:没有一个工具可以在一个标签上指定多个条件。您必须找到一种嵌套标记的方法,在这些标记上放置zcml:condition
属性(您不能在XML中的单个标记上重复属性)。我猜zcml:condition
不支持and-condition。确切地说,这里没有布尔运算符,只有我在回答中记录的语法。