XML: atributos o hijos? [duplicar]
-
05-07-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
- atributo XML vs elemento XML 20 respuestas
En XSD, SOAP y otras convenciones de XML, a menudo verá cosas como:
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
</book>
Ahora me pregunto, ¿qué pasó con los atributos? Para mí tiene más sentido escribir esto como:
<book title="Harry Potter" author="J.K. Rowling" />
Pero al parecer, por alguna razón, las personas más inteligentes que yo eligieron lo contrario. ¿Alguien podría explicar por qué y cuáles son los atributos para entonces?
Solución
Algunas personas consideran la diferencia como una cuestión de preferencia personal. Hay algunas guías que puedes seguir.
Otros consejos
No hay una regla dura y rápida. Tiendo a usar atributos para metadatos sobre los datos contenidos en los elementos. por ejemplo,
<book author="JK Rowling" published="September 2001">Harry Potter</book>
aunque el uso / los requisitos particulares determinarán esto más que cualquier otra cosa.
Otro problema es el procesamiento posterior. Si está utilizando un procesador SAX, este formato dará como resultado una devolución de llamada de un método con la estructura atteribute completada. Poner los datos en múltiples elementos resultará en el número correspondiente de llamadas de método (esto puede ser una optimización demasiado lejos, pero puede valer la pena considerarla dependiendo de la cantidad de datos)