Supporto dell'associazione all'elemento appinfo
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 non è incluso alcun supporto per l'associazione all'elemento <appinfo>.
Durante la generazione di codice sorgente da un documento XML Schema, Xsd.exe ignora l'elemento <appinfo> e il relativo contenuto.
Descrizione
Durante la generazione di codice sorgente da un documento XML Schema, Xsd.exe ignora l'elemento <appinfo> e il relativo contenuto. Ciò accade anche per l'elemento padre dell'elemento <appinfo>, <annotation>.
Un'eccezione è rappresentata dalla corrispondenza tra le due seguenti entità:
Un attributo di tipo XmlNamespaceDeclarationsAttribute viene applicato a un campo o una proprietà di tipo XmlSerializerNamespaces.
Un elemento XML specifico di .NET Framework denominato <keepNamespaceDeclarations> contenuto nell'elemento <appinfo>.
Per memorizzare un set di mapping tra i prefissi e gli spazi dei nomi che essi rappresentano, viene utilizzato un oggetto XmlSerializerNamespaces. Il testo dell'elemento annotation/appinfo/keepNamespaceDeclarations
corrisponde al nome del campo o della proprietà XmlSerializerNamespaces. Questa conversione viene eseguita in entrambe le direzioni, da file xsd nel codice e viceversa, in modo da poter controllare i prefissi degli spazi dei nomi.
Esempio
Classe C# di input:
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
Documento XML Schema generato da un assembly compilato dal codice sorgente C# precedente:
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MyClass" nillable="true" type="MyClass" />
<xs:complexType name="MyClass">
<xs:annotation>
<xs:appinfo>
<keepNamespaceDeclarations>xmlns</keepNamespaceDeclarations>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="xpath" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:schema>
La classe C# generata dal documento XML Schema precedente è in realtà identica alla classe C# originale dalla quale è stato generato lo schema XML.
Attributi possibili | Supporto per l'associazione |
---|---|
source |
Poiché in .NET Framework l'elemento <appinfo> non viene associato, non viene associato neanche l'attributo source di tale elemento. |
Elementi padre possibili: <annotation>
Elementi figlio possibili: illimitati