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>

 

Anuncios