¿Debo usar Elementos o Atributos en XML? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Atributo XML vs elemento XML 20 respuestas

Estoy aprendiendo sobreAtributos XML de W3Schools.

El autor menciona lo siguiente (énfasis mío):

Elementos XML vs. Atributos
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

En el primer ejemplo el sexo es un atributo. En el último, el sexo es un elemento. Ambos ejemplos proporcionan la misma información.

No hay reglas sobre cuándo usar atributos y cuándo usar elementos. Los atributos son útiles en HTML.En XML mi consejo es evitarlos. Use elementos en su lugar.

¿Evitar los atributos XML?

Algunos de los problemas con el uso de atributos son:

los atributos no pueden contener múltiples valores (los elementos pueden)los atributos no pueden contener estructuras de árbol (los elementos pueden)los atributos no son fácilmente expandibles (para cambios futuros)

Los atributos son difíciles de leer y mantener. Usa elementos para los datos. Use atributos para información que no es relevante para los datos.

Entonces, ¿es la vista del autor famosa o es esta la mejor práctica en XML?

¿Deberían evitarse los atributos en XML?

W3Schools también mencionó lo siguiente (énfasis mío):

Atributos XML para metadatos

A veces las referencias de ID se asignan a elementos. Estas ID se pueden usar para identificar elementos XML de la misma manera que el atributo ID en HTML. Este ejemplo demuestra esto:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

El ID anterior es solo un identificador, para identificar las diferentes notas. No es una parte de la nota en sí.

Lo que estoy tratando de decir aquí es que los metadatos (datos sobre datos) deben almacenarse como atributos, y los datos en sí deben almacenarse como elementos.