“选择组”节点

在 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 属性窗口中,选项组节点的 minOccursmaxOccurs 属性都已设置为 1 (1) ,因此在 XSD 表示形式中,choice 元素的 minOccursmaxOccurs 属性设置为 1 (1) 。

另请参阅