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.
.NET Framework proporciona compatibilidad parcial con enlaces para el elemento <simpleContent> .
La extensión de contenido simple se expresa siempre totalmente a través de definiciones de clase en .NET Framework. No se reconoce la restricción de contenido simple.
Explicación
El lenguaje de definición de esquemas XML utiliza el elemento <simpleContent> para definir un tipo complejo que no contiene elementos secundarios. Un tipo complejo con contenido simple (ya se trate de atributos, texto principal o ambos) deriva de un tipo base a través de extensión o restricción, mediante un elemento <extension> o un elemento <restriction> bajo el elemento <simpleContent>.
Xsd.exe no reconoce la restricción de contenido simple. La extensión de contenido simple se expresa siempre totalmente a través de definiciones de clase en .NET Framework. Al generar código fuente de un documento de esquema XML, Xsd.exe crea un campo público de un tipo correspondiente al tipo base, que especifica el atributo base del elemento <extension>. Para obtener información sobre enlaces entre los tipos simples integrados del esquema XML y los tipos de .NET Framework, consulte "Compatibilidad de tipos de datos entre tipos de esquema XML (XSD) y tipos de .NET Framework” en la .NET Framework Developer's Guide.
La restricción y la extensión de contenido simple se representan en el Modelo de objetos de esquemas a través de las clases XmlSchemaSimpleContentExtension y XmlSchemaSimpleContentRestriction, respectivamente, así como de la clase XmlSchemaSimpleContent.
Los objetos de estas clases se pueden usar para crear mediante programación un modelo de objetos de esquemas, que se corresponde con un documento XSD, que defina tipos complejos con contenido simple.
Ejemplo
Documento de esquema XML de entrada:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.org/" xmlns="http://example.org/" elementFormDefault="qualified">
<xsd:element name="Distance">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:float">
<xsd:attribute name="units" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
La clase de C# generada a partir del documento del esquema XML anterior:
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://example.org/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://example.org/", IsNullable=false)]
public class Distance {
[System.Xml.Serialization.XmlAttributeAttribute()]
public string units;
[System.Xml.Serialization.XmlTextAttribute()]
public System.Single Value;
}
Tipo complejo y elemento de esquema XML generados a partir de un ensamblado compilado en el código fuente de C# anterior:
<xs:element name="Distance" type="tns:Distance" />
<xs:complexType name="Distance">
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="units" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
| 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: <complexType>
Posibles elementos secundarios: <annotation>, <extension>, <restriction>
Consulte también
Referencia
.gif)
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.