4 de noviembre de 2015

Elementos XML VS Atributos XML



He encontrado un artículo bastante bueno donde hablan del tema:

http://www.ibm.com/developerworks/library/x-eleatt/

A continuación paso a resumir el artículo:

Principio de DTD (invención mía)

- Usa elementos con CDATA.
- Usa atributos cuando necesites ID, IDREF o ENTITY.

Principio del contenido básico

- Si consideras que los datos son parte esencial del XML, ponlos en un elemento.
- Si consideras que los datos son secundarios, o solo útiles para se usados por programas, ponlos en los atributos.

Ejemplo dudoso: Ejemplo de como lo haría yo:
<persona>
  <id>1</id>
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
</persona>
<persona id="1">
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
</persona>

Principio de la información estructurada

- Si quieres que la información se exprese de una forma estructurada, utiliza elementos.
- Si quieres que la información se exprese de forma abreviada, utiliza atributos.

Ejemplo con información estructurada Ejemplo con información abreviada
<persona id="1">
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
  <direccion>
    <calle>mi casa</calle>
    <numero>1</numero>
    <ciudad>Madrid</ciudad>
  </direccion>
</persona>
<persona id="1">
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
  <direccion calle="mi casa" numero="1" ciudad="Madrid"></direccion>
</persona>

Principio de la legibilidad

- Si la información va a ser procesada por una persona, utiliza elementos.
- Si la información va a ser procesada por un programa, utiliza atributos.

Ejemplo con información para personas Ejemplo con información para programas

<persona id="1">
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
  <direccion>
    <calle>mi casa</calle>
    <numero>1</numero>
    <ciudad>Madrid</ciudad>
  <direccion>
<persona>
<persona id="1" nombre="Adolfo" apellidos="Sanz de Diego"
calle="mi casa" numero="1" ciudad="Madrid"></persona>

Principio de conexión entre elemento y atributo

- Utiliza elementos si su valor va a ser modificado en función del valor de uno de sus atributos.
- Nunca uses atributos que modifiquen otros atributos.

Ejemplo donde 1 elemento modifica otro elemento Ejemplo donde 1 atributo modifica otro atributo Ejemplo donde 1 atributo modifica otro elemento
<persona>
  <saldo>200</saldo>
  <moneda>EUR</moneda>
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
</persona>
<persona saldo="200" moneda="EUR">
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
</persona>
<persona>
  <saldo moneda="EUR">200</saldo>
  <nombre>Adolfo</nombre>
  <apellidos>Sanz de Diego</apellidos>
</persona>

Comparte:    Facebook Twitter

1 comentario: