Condividi tramite


Supporto dell'associazione all'attributo name

Questo argomento è specifico di una tecnologia legacy. Servizi Web XML e client di servizi Web XML devono essere creati attualmente tramite Windows Communication Foundation.

In .NET Framework è incluso un supporto per l'associazione all'attributo name.

Il valore dell'attributo name corrisponde al nome di un campo o di una classe pubblica, a seconda dell'elemento a cui si applica l'attributo. È possibile applicare una proprietà ***Name appropriata per eseguire l'override del nome prodotto durante la generazione di un documento XSD.

Generazione di codice sorgente da documenti XSD

L'attributo name viene utilizzato come descritto di seguito per gli elementi per i quali Xsd.exe fornisce associazioni di tipi durante la generazione di codice sorgente da un documento XML Schema.

<attribute>: fornisce il nome del campo della classe pubblica che rappresenta l'attributo in questione. Il campo appare con un attributo System.Xml.Serialization.XmlAttributeAttribute.

<complexType>: fornisce il nome della classe che corrisponde al tipo complesso.

<element>: fornisce il nome del campo della classe pubblica che rappresenta l'elemento in questione. Se l'elemento <element> contiene una definizione <complexType> anonima, il nome diventa il nome della classe corrispondente al tipo complesso.

<simpleType>: fornisce il nome della classe che corrisponde al tipo semplice. .NET Framework consente la derivazione dei tipi semplici solo mediante (a) l'enumerazione dei tipi basati su stringa e (b) la creazione di elenchi utilizzati come attributi.

Non viene eseguito alcun tentativo di modifica della combinazione di lettere maiuscole/minuscole al fine di rispettare le convenzioni di codifica. Se, ad esempio, il valore dell'attributo name di un elemento <complexType> è testInfo, la classe risultante verrà denominata testInfo, non TestInfo. Se un nome è in conflitto con una parola chiave riservata, il nome risultante sarà preceduto dal simbolo @.

.NET Framework non presenta associazioni agli elementi del linguaggio XSD (XML Schema definition) utilizzati per la definizione dell'univocità e dell'integrità referenziale seguenti: <key>, <keyref> e <unique>. Di conseguenza l'aspetto dell'attributo name in tali elementi viene ignorato. Analogamente, non sono presenti associazioni di tipi per l'elemento <notation>, pertanto l'attributo name viene ignorato al suo interno.

Dal momento che Xsd.exe non supporta direttamente gli elementi <group> e <attributeGroup>, mentre espande il contenuto di ogni riferimento nella classe che corrisponde a ogni tipo complesso che contiene un riferimento, il nome del gruppo o del gruppo di attributi viene ignorato.

Generazione di documenti XSD dalle classi

Quando Xsd.exe genera un documento XSD da un set di classi in un assembly, utilizza i costrutti di codice descritti precedentemente per fornire valori per gli attributi name corrispondenti.

Inoltre, dal momento che oltre ai campi, anche le proprietà pubbliche vengono convertite negli elementi <element> e <attribute>, i nomi delle proprietà vengono resi per impostazione predefinita valori degli attributi name.

È possibile specificare un nome alternativo, ovvero il valore dell'attributo name, mediante le proprietà di attributo seguenti:

Elementi contenitore possibili: <attribute>, <attributeGroup>, <complexType>, <element>, <group>, <key>, <keyref>, <notation>, <simpleType>, <unique>

Vedere anche

Riferimento

System.Xml.Schema.XmlSchemaAttribute.Name
System.Xml.Schema.XmlSchemaAttributeGroup.Name
System.Xml.Schema.XmlSchemaElement.Name
System.Xml.Schema.XmlSchemaGroup.Name
System.Xml.Schema.XmlSchemaType.Name
XmlSchemaComplexType
XmlSchemaSimpleType
System.Xml.Schema.XmlSchemaIdentityConstraint.Name
XmlSchemaKey
XmlSchemaKeyref
XmlSchemaUnique
System.Xml.Schema.XmlSchemaNotation.Name