定义属性规则
属性规则 (<attr_rules>) 是一组可选规则,用于定义属性何时会出现在属性列表中。使用属性规则可隐藏或锁定属性,并可启用插图中属性的本地化。标准中可以包含用于控制数据源中属性可见性的规则,还可包含用于锁定不同级别属性的规则。属性规则的列表可以为空。
type - 设置属性类型。当前仅支持 schematics 类型。
<if> - 是否使用 <if> 语句是可选的。一条语句中可以包含一个或不包含 <if>,也可以只包含一个 <then> 自变量。若未定义 <if>,则 <then> 对所有项均起作用。
and|or|not - 您可以使用布尔型标记将多个条件组合在一起。
item - 仅适用于项的条件。
item 自变量
说明
type
项的类型。如果 regexpr=true,则可以使用 regexpr (可选)。
name
项的名称。如果 regexpr=true,则可以使用 regexpr (可选)。
regexpr
在条件中使用正则表达式。
equal
要使条件为真,自变量 (类型/名称) 的值必须相等。
caseins
语句为 true 时,区分大小写。
以下为应用于某个项的属性示例:
attribute - 应用于项属性的条件。
attribute 自变量
说明
name
属性的名称。如果 regexpr=true,则可以使用 regexpr (可选)。
value
属性的值。如果 regexpr=true,则可以使用 regexpr (可选)。
regexpr
在条件中使用正则表达式。
caseins
语句为 true 时,区分大小写。
then - 规则必须具有 then 自变量。仅当您想要应用规则时,才需添加该自变量。它包含此规则适用的所有对象。
then 自变量
说明
attribute
向属性中添加任意数量的效果 (可选)。
lock
将锁定属性设置为 true 可将其锁定。
visible
将属性设置为 false 可将其隐藏。
localize
启用属性本地化。
以下为自变量 then 的示例:
<attr_rules>
<rule type="schematics">
<if>
<item type="co*" name="*1*" regexpr="true"/>
</if>
<then>
<attribute visible="false"/>
</then>
</rule>
<rule type="schematics">
<if>
<attribute name="*name*" regexpr="true"/>
</if>
<then>
<attribute lock="true"/>
</then>
</rule>
<rule type="schematics">
<if>
<and>
<attribute name="name"/>
<attribute value="*2*" regexpr="true"/>
</and>
</if>
<then>
<attribute localize="true" lock="false" visible="true"/>
</then>
</rule>
</attr_rules>
继续阅读下一节,了解有关定义配置文件的信息。