Supporto dell'associazione all'elemento annotation
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 <annotation>.
Durante la generazione di codice sorgente da un documento XML Schema, Xsd.exe ignora l'elemento <annotation> e il rispettivo contenuto.
Descrizione
Durante la generazione di codice sorgente da un documento XML Schema, Xsd.exe ignora l'elemento <annotation> e il rispettivo contenuto. Di conseguenza, gli elementi figlio <appinfo> e <documentation> non sono supportati.
L'unica volta in cui Xsd.exe utilizza l'elemento <annotation> riguarda la corrispondenza tra le due entità seguenti:
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.
Example
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 |
---|---|
id |
L'utilità Xsd.exe ignora l'attributo id che fornisce un identificatore univoco. |
Elementi padre possibili: molti
Elementi figlio possibili: <appinfo>, <documentation>