1

我知道 TranslateBrowsePathsToNodeIds() 服务可用于针对类型定义进行编程,并通过扩展检索节点的组件/属性的 NodeId。

我有两个问题。

1)RelativePath 结构的最后一个元素是否需要有效的targetName,即不能为null?

2)当路径可以成功解析到两个不同的分支时,是否有任何规定的行为,即程序可以在中间路径选择不同的节点并且仍然成功地遵循下一个路径序列?

谢谢

4

1 回答 1

2

1) 是的,最终元素可以有一个的targetName。根据规范:

最后一个元素可能有一个空的 targetName。在这种情况下,由referenceTypeId 标识的引用的所有目标都是RelativePath 的目标。

应为所有其他元素指定目标名称。

2)同样,从规范:

如果一个节点有多个具有相同 BrowseName 的目标,则服务器应返回一个 NodeId 列表。但是,由于该服务的主要目的之一是支持针对类型定义的编程,因此基于起始节点的类型定义的节点的 NodeId 作为列表中的第一个 NodeId 返回。

我意识到您在询问中间重复浏览名称,但我认为这仍然适用;您最终会从调用中返回多个目标。

于 2017-01-29T16:26:43.880 回答