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> |
Muy bueno
ResponderEliminar