Duplicar posibles:
Should I use Elements or Attributes in XML?elementos XML vs Atributos
que nunca han sido capaces de averiguar cuándo utilizar atributos XML. I siempre elementos de uso. Acabo de leer this w3schools article. El artículo afirma que es una mala práctica de utilizar atributos porque:
- atributos no pueden contener múltiples valores (elementos secundarios lata)
- atributos no son fácilmente ampliable (por cambios futuros)
- atributos no pueden describir las estructuras (elementos secundarios puede)
- atributos son más difíciles de manipular por el código del programa
- valores de atributos no son fáciles de probar con una DTD
La única excepción que indica es cuando está asignando una identificación a una etiqueta.
¿Es esto correcto? ¿Por qué los atributos incluso existen entonces? ¿Fue un error de diseño con xml? ¿Hay algo que me falta aquí?
La única razón por la que podría pensar para usar atributos sería para las relaciones uno a uno. es decir: nombre. Pero tendría que ser una relación de uno a uno con algo que es primitivo (o cadena). Porque sería importante que en el futuro no desee dividirlo en varias secciones diferentes. es decir:
<date> May 23, 2001 </date>
a:
<date>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</date>
Debido a que este no sería posible con un atributo.
Bono pregunta: En el ejemplo, la fecha sería posible hacer algo como esto:
<date>
<default> May 23, 200 </default>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</date>
dar a las aplicaciones futuras más información (o diferente), mientras que todavía ofrece apps mismo formato existente? ¿O usted tiene que hacer esto:
<date> May 23, 2001 </date>
<NEWdate>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</NEWdate>
month, d, yr son convenciones de nomenclatura TERRIBLE, o la falta de ellas –
@skaffman: Creo que no es un duplicado exacto. Aunque el ejemplo es similar, la pregunta es ligeramente diferente. Las respuestas a la pregunta me parecieron algo útiles, mientras que la respuesta de @ Guffa (y otras) a esta pregunta me resultó muy útil. – sixtyfootersdude