Esta documentación está archivada y no tiene mantenimiento.

Elementos, atributos y tipos XML (Diseñador XML)

.NET Framework 2.0

NoteNota

En versiones anteriores a Visual Studio 2005, el Diseñador XML es el diseñador para conjuntos de datos con tipo y esquema XML. El Diseñador XML todavía se puede utilizar para crear y editar los archivos de esquema XML. Sin embargo, en la versión actual, el diseñador para crear y editar los conjuntos de datos con tipo es el Diseñador de DataSet. Para obtener más información, vea Diseñador de DataSet.

En esta página se supone que está trabajando con el Diseñador XML. Para abrir un archivo de conjunto de datos con tipo mediante el Diseñador XML, haga clic con el botón secundario del mouse (ratón) en el Explorador de soluciones, elija Abrir con y, a continuación, haga clic en el Esquemas XML - Editor.

Las unidades de creación básicas de los esquemas XML son los elementos y los atributos. Los tipos de datos definen el contenido válido de los elementos y atributos. Cuando se crean esquemas XML, se definen los elementos y los atributos individuales y se les asignan tipos válidos. Los elementos describen datos, mientras que los atributos son como las propiedades de un elemento, ya que proporcionan información adicional sobre el elemento de la misma forma que las propiedades describen las características de objetos y clases.

Elementos

Un elemento describe los datos que contiene. Los elementos también pueden contener otros elementos y atributos. Para obtener más información, vea <xsd:all> Element.

Cuando una definición de elemento contiene elementos o atributos adicionales, se trata de un tipo complejo. Para obtener más información sobre los tipos complejos, vea la sección "Tipos", más adelante en este tema.

La definición básica de un elemento consta de un nombre y un tipo de datos. En el siguiente ejemplo se muestra cómo definir un elemento denominado quantity, con un tipo de valor entero simple.

<xs:element name="quantity" type="xs:integer" />

El elemento clasifica los datos, en este caso como una cantidad. El tipo define el contenido válido que contiene el elemento, en este caso un entero.

En el ejemplo siguiente se muestra una instancia válida de datos XML que son compatibles con el elemento quantity definido en el ejemplo anterior:

<quantity>63</quantity>

En el ejemplo siguiente se muestra una instancia no válida del elemento quantity:

<quantity>sixty three</quantity>

Atributos

Un atributo es una definición de tipo simple con nombre que no puede contener otros elementos. Los atributos también pueden asignarse a un valor predeterminado opcional y deben aparecer en la parte inferior de las definiciones de tipo complejo. Además, si se declaran varios atributos, se pueden producir en cualquier pedido. Para obtener más información, vea <xsd:attribute> Element.

El siguiente código muestra cómo declarar un atributo denominado OrderDiscount que está definido con el tipo simple number. El uso de un atributo aquí tiene sentido ya que los atributos son opcionales. Si no se proporciona OrderDiscount, los datos XML seguirán siendo válidos.

   <xs:element name="OrderInfo">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="CustomerName" type="xs:string" />
            <xs:element name="OrderNumber" type="xs:positiveInteger" />
            <xs:element name="OrderTotal" type="xs:number" />
         </xs:sequence>
         <xs:attribute name="OrderDiscount" type="xs:number" />
      </xs:complexType>
   </xs:element>

Dar nombre a elementos y atributos

A continuación, se muestran algunos detalles importantes relacionados con elementos y atributos:

  • XML distingue entre mayúsculas y minúsculas. Así, un elemento denominado "statecode" es distinto de un elemento denominado "stateCode."

  • Los valores de atributos deben estar siempre entre comillas.

  • Los nombres de elementos no pueden empezar por un número o un signo de subrayado ni por las letras "XML".

  • Los nombres de elementos no pueden contener espacios.

¿Se debe utilizar un elemento o un atributo?

Los elementos se utilizan para encapsular porciones de datos, y los atributos generalmente se utilizan para proporcionar información adicional sobre un elemento, en vez de encapsular los propios datos sin formato. En realidad, el uso de un elemento o un atributo depende de las necesidades de la aplicación.

Utilice los atributos, si la información requiere datos de tipo simple y:

  • La información requiere un valor predeterminado o fijo.

  • La información requiere datos que son metadatos de un elemento existente.

  • Si el tamaño del archivo XML es un problema, los atributos tienden a ocupar menos bytes que los elementos.

En la lista siguiente se describen las diferencias principales entre elementos y atributos desde la perspectiva del esquema:

  • Un esquema puede definir si el orden de los elementos es significativo, sin embargo los atributos pueden producirse en cualquier pedido.

  • Los elementos pueden anidarse con la etiqueta <choice>, lo que significa que sólo puede aparecer uno y sólo uno de los elementos enumerados.

  • Los elementos pueden producirse más de una vez, mientras que los atributos no.

Tipos

Los tipos en esquemas XML definen el tipo de datos válido que pueden contener los elementos o atributos, y pueden ser simples o complejos. Además, los tipos pueden ser con nombre o sin nombre. Para obtener más información, vea Comparación de tipos y grupos con nombre y sin nombre.

Tipos simples

Hay dos categorías principales de tipos simples:

  • Tipos integrados, que están definidos por la especificación de esquema XML del consorcio de World Wide Web, por ejemplo, string, boolean y float.

    Los tipos integrados incluyen tanto tipos primitivos como derivados.

    Los tipos de datos primitivos no provienen de otros tipos de datos. Por ejemplo, float es un concepto matemático que no proviene de otros tipos de datos. Para obtener más información, vea Tipos de datos XML primitivos.

    Los tipos de datos derivados se definen en función de tipos de datos existentes. Por ejemplo, un entero es un caso especial derivado del tipo de datos decimal. Para obtener más información, vea Tipos de datos XML derivados.

  • Los tipos simples definidos por el usuario provienen de los tipos integrados de W3C mediante la aplicación de valores definidos por el usuario en elementos denominados aspectos. Para obtener más información, vea Tipos simples definidos por el usuario en esquemas XML.

Aspectos

Los aspectos restringen los valores aceptables de los tipos simples. Mediante la aplicación de aspectos se pueden crear tipos simples definidos por el usuario. Para obtener más información, vea Aspectos de tipo de datos.

En el ejemplo siguiente se aplica el aspecto maxInclusive a un tipo simple denominado qtyLimiter para restringir los valores aceptables del tipo positiveInteger a cantidades de 1 a 100:

<xs:simpleType name="qtyLimiter">
   <xs:restriction base="xs:positiveInteger">
      <xs:maxInclusive value="100" />
   </xs:restriction>
</xs:simpleType>

Tipos complejos

Los tipos complejos son definiciones de elementos que puede incluir otros elementos, atributos y grupos. Una diferencia importante entre los tipos simples y complejos es que los complejos pueden incluir elementos y atributos declarados como tipos simples o complejos, mientras que los tipos simples no pueden incluir otros elementos, atributos o grupos, sino que sólo pueden incluir aspectos. Para obtener más información, vea Tipos complejos en esquemas XML.

Vea también

Mostrar: