“选择组”节点
在 BizTalk 编辑器中,可以插入 “选择组” 节点,以包含其他节点 (或) 节点的整个子树,其中只有一个可以出现在实例消息中。 给定的实例消息(如果有效)将仅显示这些选择之一。 包含的节点必须是与 XML 元素对应的节点,但不能是与 XML 属性对应的节点。
注意
在 BizTalk 编辑器中, “选择组” 节点在架构树视图中用字符串 <Choice> 表示。 如果设置对 “选择组” 节点(如 x)的引用,则它在架构树视图中表示为 <Group:x> 。
XSD 表示形式
当“选项组”节点插入到“记录”节点时,该节点将插入到“记录”节点的序列、选项或所有元素中任何其他子节点的末尾。 以下示例以粗体类型显示如何在 XML 架构定义中表示新的 Choice Group 节点, (XSD) 语言中作为选项元素插入到 Record 节点 (中的序列元素末尾,其中节点名为 以阐明其标识) 。
<xs:element name="ContainingRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="ExistingFieldElement" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
默认情况下, 向 choice 元素提供 0 (0) 的 minOccurs 属性值,指示不需要执行任何选择。 在架构树视图中选择“选项组”节点时,可以在 Visual Studio 属性窗口中更改此值。
以下示例显示了与两个从属 Record 节点对应的 XSD 元素相同的 choice 元素。
<xs:element name="ContainingRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="ExistingFieldElement" type="xs:string" />
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="usAddress">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="foreignAddress">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
在此示例中,两个同级 Record 节点用于描述实例消息将具有包含美国地址信息的记录,或包含全局地址信息的记录的事实。 此外,在 Visual Studio 属性窗口中,选项组节点的 minOccurs 和 maxOccurs 属性都已设置为 1 (1) ,因此在 XSD 表示形式中,choice 元素的 minOccurs 和 maxOccurs 属性设置为 1 (1) 。