Compartir a través de


Compatibilidad con enlaces del elemento Appinfo

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 de enlace para el elemento <appinfo>.

Cuando se genera código fuente a partir de un documento de esquema XML, Xsd.exe omite el elemento <appinfo> y su contenido.

Explicación

Cuando se genera código fuente a partir de un documento de esquema XML, Xsd.exe omite el elemento <appinfo> y su contenido. Lo mismo se aplica al elemento primario del elemento <appinfo>, <annotation>.

La correspondencia que existe entre las dos entidades que se muestran a continuación constituye una excepción:

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.

Ejemplo

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

de origen

Como .NET Framework no enlaza el elemento <appinfo>, tampoco enlaza el atributo source de dicho elemento.

Posibles elementos primarios: <annotation>

Posibles elementos secundarios: unlimited

Vea también

Referencia

XmlSchemaAppInfo