Latest web development tutorials

elementos y atributos XML comparación

En XML, y no existen disposiciones cuándo utilizar atributos, y cuándo utilizar elementos secundarios.


Utilizar elementos vs. atributos

Los datos pueden ser almacenados en elementos o atributos hijo.

Veamos estos ejemplos:

<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

En el primer ejemplo, "sexo" es un atributo. En un ejemplo, de nuevo, "sexo" es un sub-elemento. Pero ambos proporcionan la misma información.

No hay disposiciones especiales para cuándo utilizar atributos, y cuándo utilizar elementos secundarios. Mi experiencia es que el uso de múltiples atributos en HTML pesado, pero en XML, el uso de sub-elementos, que se siente más como datos.


Me gusta la forma

Me gusta para almacenar datos en elementos secundarios

Los siguientes tres documentos XML contienen exactamente la misma información:

En este ejemplo se utiliza un atributo "fecha":

<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

En este ejemplo se utiliza un elemento de "fecha":

<note>
<date>12/11/2002</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

En este ejemplo se utiliza el elemento de extensión "fecha": (Esta es mi forma favorita):

<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Evitar el uso de atributos?

Usted debe evitar el uso de atributos?

Algunos atributo tiene los siguientes problemas:

  • Los atributos no pueden contener varios valores (elementos secundarios pueden)
  • Los atributos no son fácilmente ampliable (para cambiar las necesidades futuras)
  • Los atributos no pueden describir las estructuras (elementos secundarios puede)
  • Los atributos son más difíciles de manipular el código del programa
  • Los valores de atributo no son fáciles de probar la DTD

Si se utiliza la propiedad como un contenedor de datos, el documento XML resultante será difícil de leer y mantener. Trate de usarlos elementos para describir los datos.para describir los datos. Los datos sólo se proporciona información irrelevante cuando se recomienda el uso de la propiedad.

No terminar así (que no se debe utilizar XML):

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>


Excepción a la regla de la propiedad

Siempre hay otra regla

Normas sobre la propiedad que tienen una excepción.

A veces uso elementos de identificación especificados. Estas aplicaciones se pueden utilizar como identificación atributo nombre o ID para acceder a los elementos XML en HTML en la misma situación mucho. El siguiente ejemplo ilustra este enfoque:

<messages>
<note id="p501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

<note id="p502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>

documentos XML en los ejemplos anteriores, el ID de un solo contador, o un identificador único para identificar las diferentes notas, en lugar de como parte de los datos.

Quiero decir aquí es que los metadatos (datos sobre los datos) deben ser almacenados como atributos, y que los datos deben almacenarse en sí como elementos.