Condividi tramite


Derivazione di tipi semplici mediante il meccanismo Restriction

Panoramica

Quando si esegue la derivazione di un nuovo tipo semplice da un tipo semplice esistente utilizzando il meccanismo Restriction, si limitano i valori consentiti in un messaggio di istanza per quel valore di attributo o di elemento a un sottoinsieme dei valori consentiti dal tipo semplice di base. È ad esempio possibile limitare un tipo di stringa in modo che corrisponda a una di varie stringhe enumerate.

Per informazioni complete sulla derivazione di nuovi tipi semplici mediante il meccanismo Restriction, vedere il sito Web W3C. Per vari collegamenti a questo e altri siti Web, vedere Risorse XSD sul Web.

Elemento field e attributo field

Per derivare un tipo semplice usando la restrizione, selezionare il nodo Elemento campo pertinente o Il nodo Attributo campo nell'albero dello schema e quindi, nel Finestra Proprietà, selezionare un tipo semplice dall'elenco a discesa per la proprietà Tipo di dati di base. Non appena è stato selezionato un valore per questa proprietà, la proprietà Derivata by cambia automaticamente dal valore predefinito a Restrizione, che funge da valore predefinito per la derivazione del tipo. Inoltre, un'intera nuova categoria di proprietà, denominata Restrizione, diventa disponibile nel Finestra Proprietà.

Sono disponibili proprietà diverse per l'impostazione in questa nuova categoria a seconda del tipo di dati di base selezionato. Ad esempio, se il tipo di dati di base è numerico, le proprietà MaxFacet Type (quando è impostato MaxFacet Value), MaxFacet Value, MinFacet Type (quando MinFacet Value è impostato) e MinFacet Value sono disponibili per definire un intervallo inclusivo o esclusivo di valori consentiti. Se il tipo di dati di base è un tipo di stringa, le proprietà Length, Maximum Length e Minimum Length sono disponibili per limitare la lunghezza della stringa.

Per altre informazioni sulle varie proprietà di restrizione dei nodi di campo, vedere Le proprietà del nodo elemento campo nella guida per l'interfaccia utente e i riferimenti agli spazi dei nomi delle API per sviluppatori.

Quando si modifica prima un nodo Elemento campo o un nodo Attributo campo dall'avere un tipo di dati di base per avere un tipo di dati di base (avviando così il processo di derivazione di tipo semplice), lasciare la proprietà Derivata by impostata su Restrizione e fornire una restrizione basata sull'enumerazione ai valori stringa consentiti, è possibile osservare le modifiche seguenti nel frammento corrispondente nella visualizzazione XSD:

  • In precedenza, con un nodo Field Element appena inserito denominato WestCoastStates.

    <xs:element name="ContainingRecord">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="WestCoastStates" type="xs:string" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    
  • Dopo aver impostato la proprietà Tipo di dati di base su "xs:string" e lasciando la derivazione predefinita di Restrizione per la proprietà Derivata by .

    <xs:element name="ContainingRecord">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="WestCoastStates" >  
                    <xs:simpleType>  
                        <xs:restriction base="xs:string" />  
                    </xs:simpleType>  
                </xs:element>  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    
  • Dopo aver impostato la proprietà Enumeration nella categoria Restrizione sui nomi dei tre stati sulla costa occidentale della Stati Uniti continentale.

    <xs:element name="ContainingRecord">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="WestCoastStates">  
                    <xs:simpleType>  
                        <xs:restriction base="xs:string" />  
                            <xs:enumeration value="Washington" />  
                            <xs:enumeration value="Oregon" />  
                            <xs:enumeration value="California" />  
                        </xs:restriction>  
                    </xs:simpleType>  
                </xs:element>  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    

Vedere anche

Derivazione di tipi semplici