Nodi Gruppo Scelte

In Editor BizTalk è possibile inserire un nodo Gruppo di scelta per contenere altri nodi (o interi sottoalberi di nodi), solo uno dei quali può essere visualizzato in un messaggio di istanza. Un messaggio di istanza, se valido, avrà una sola delle scelte presenti. I nodi contenuti devono essere nodi che corrispondono a elementi XML, ma non possono essere nodi che corrispondono ad attributi XML.

Nota

Nell'editor BizTalk il nodo Gruppo scelta viene rappresentato con la stringa <Scelta> nella visualizzazione albero dello schema. Se si imposta un riferimento a un nodo Gruppo di scelta , ad esempio x, viene rappresentato come <Group:x> nella visualizzazione albero dello schema.

Rappresentazione XSD

Quando un nodo Gruppo di scelta viene inserito in un nodo Record , viene inserito alla fine di tutti gli altri nodi figlio all'interno della sequenza, della scelta o di tutti gli elementi nel nodo Record . Nell'esempio seguente viene illustrato, in grassetto, come viene rappresentato un nuovo nodo Gruppo di scelta nel linguaggio XSD (XML Schema Definition) come elemento di scelta inserito alla fine dell'elemento sequenza in un nodo Record (con nodi denominati per chiarire l'identità).

<xs:element name="ContainingRecord">  
    <xs:complexType>  
        <xs:sequence>  
            <xs:element name="ExistingFieldElement" type="xs:string" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:element>  

Per impostazione predefinita, l'elemento choice viene assegnato un valore di attributo minOccurs pari a zero (0), che indica che nessuna delle scelte deve verificarsi. È possibile modificare questo valore nella Finestra Proprietà di Visual Studio quando il nodo Gruppo scelta è selezionato nella visualizzazione albero dello schema.

Nell'esempio seguente viene illustrato lo stesso elemento di scelta con gli elementi dell'elemento XSD corrispondenti a due nodi Record subordinati.

<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>  

In questo esempio vengono usati due nodi Record di pari livello per descrivere il fatto che un messaggio di istanza avrà un record con informazioni sull'indirizzo Stati Uniti in esso o un record con informazioni sull'indirizzo in tutto il mondo. Inoltre, le proprietà minOccurs e maxOccurs del nodo Choice Group sono state entrambe impostate su una (1) nella Finestra Proprietà di Visual Studio, causando gli attributi minOccurs e maxOccurs dell'elemento scelto impostati su uno (1) nella rappresentazione XSD.

Vedere anche