Compartir a través de


Compatibilidad con enlaces del elemento Annotation

Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.

.NET Framework no proporciona compatibilidad con enlaces para el elemento <annotation>.

Al generar el código fuente de un documento del esquema XML, Xsd.exe omite el elemento <annotation> y su contenido.

Explicación

Al generar el código fuente de un documento del esquema XML, Xsd.exe omite el elemento <annotation> y su contenido. De igual manera, los elementos secundarios <appinfo> y <documentation> no se admiten.

La única vez que Xsd.exe utiliza el elemento <annotation> implica la correspondencia entre las siguientes dos entidades:

Un objeto XmlSerializerNamespaces se usa para almacenar un conjunto de asignaciones entre prefijos y los espacios de nombres que representan. El texto del elemento annotation/appinfo/keepNamespaceDeclarations corresponde al nombre de la propiedad o del campo XmlSerializerNamespaces. Esta traducción se realiza en ambos sentidos (de archivo XSD a código y viceversa), de manera que puedan controlarse los prefijos de espacios de nombres.

Example

Clase de C# de entrada:

public class MyClass {
    [XmlAttribute]
    public string name;
    
    public string xpath;
    
    [XmlNamespaceDeclarationsAttribute]
    public XmlSerializerNamespaces xmlns;
}

El documento del esquema XML que se ha generado a partir de un ensamblado compilado con el anterior código fuente C#:

<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 clase de C# generada a partir del documento de esquema XML anterior es, en la práctica, la misma que la clase de C# original a partir de la cual se ha generado el esquema XML.

Atributos posibles Compatibilidad de enlace

id

La utilidad Xsd.exe omite el atributo id, que está pensado para proporcionar un identificador único.

Posibles elementos primarios: varios

Posibles elementos secundarios: <appinfo>, <documentation>

Vea también

Referencia

XmlSchemaAnnotation
XmlSchemaAnnotation