通过配置节点上的包含属性,可以指定订阅中将包含或排除该节点。
例如,可以使用此包含属性在源视点中添加节点,而无需立即将其添加到目标视点。然后,当准备将节点添加到目标视点时,可以更改源视点中的包含属性值,以生成订阅请求操作,从而将该节点添加到任何订阅目标视点。
Note:
包含属性必须是节点级别属性。包含属性是布尔或列表数据类型属性,用于控制源视点中的节点是否作为订阅的一部分发送到目标视点。
在源视点中设置包含属性以包含节点时(即,布尔值为 True
或包含列表的包含值),订阅将为目标视点生成节点的请求操作。如果节点尚不存在于目标视点中,则添加或插入该节点。
在源视点中设置包含属性以排除节点时(即,布尔值为 False
或不包含列表的包含值),如果节点存在于目标视点中,则移除或删除该节点。如果节点不存在,则不为排除的节点生成请求操作。
最佳做法
如果要保留将从目标视点排除的节点的属性值和子关系,最佳做法是从订阅上的包含的操作筛选器中移除“删除”操作,以便仅移除该节点。请参阅“按操作筛选”。
注意事项
Note:
您可以将现有属性配置为包含属性,也可以创建新属性来用作此订阅的包含属性。请参阅“手动创建属性”。无
、派生和存储
或指定
。
“指定”默认类型在以下情况下非常有用:
True
或包含列表的包含值),然后仅更改要排除的节点的属性。False
或不包含列表的包含值),然后仅更改要包含的节点的属性。当您要使用派生表达式来确定订阅中包含哪些节点时,“派生和存储”默认类型可能很有用。
如果具有默认类型无
,则必须为每个节点指定包含属性值。
默认类型不能为派生
或继承
。将属性指定为包含属性后,不能将该属性的默认类型更改为派生或继承。
Note:
您可以将派生和存储
属性指定为包含属性。源视点中的某些请求操作将转换为目标视点中的等效操作:
将源视点中的包含值从 False 修改为 True 时(或对于列表则含有包含值),如果节点尚不存在,则在目标视点中添加该节点(或在层次集中则插入)。
将源视点中的包含值从 True 修改为 False 时(或对于列表则不含有包含值),如果节点存在于目标视点中,则删除该节点(或在层次集中则移除)。
不修改源视点中的包含值时,如果包含属性设置为 True(或对于列表则含有包含值),则在源视点中执行的请求操作将传播到目标视点。
例如,假设在源视点中的父节点 A、B 和 C 下有一个共享节点。
Tip:
具有多个订阅视点时,如果只有一个用户(例如服务管理员)将确定哪些视点将接收哪些节点,则可以使用列表数据类型包含属性。如果有不同的用户各自确定是否将属性发送到其管理的视点,则可以设置多个布尔数据类型包含属性,并使用属性级数据访问来控制哪些用户可以查看或编辑其视点的布尔属性。
例如,您可以配置数据访问,以便只有 Planning 管理员能够编辑源视点中的“包含在 Planning 中?”属性,只有 Consolidation 管理员能够编辑源视点中的“包含在 Consolidation 中?”属性。请参阅“包含属性示例”中的布尔数据类型包含属性示例。
Note:
如果已使用节点条件根据布尔值或列表数据类型节点级属性的值从订阅中筛选掉节点(请参阅“定义节点条件”),您应使用包含属性筛选器替换节点条件筛选器。
如果对关系级别属性使用节点条件筛选器,则应保留现有节点条件筛选器,因为无法对关系级别属性创建包含属性筛选器。
配置包含属性
Note:
如果属性具有“允许的值”的应用程序或节点类型覆盖,则可以选择所有覆盖中所有允许值作为包含值。