Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 atributo de tipo XmlNamespaceDeclarationsAttribute se aplicó a un campo o propiedad de tipo XmlSerializerNamespaces.
Elemento XML específico de .NET Framework denominado <keepNamespaceDeclarations> y contenido en el elemento <appinfo>.
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>