Czy powinienem używać elementów lub atrybutów w XML? [duplikować]

To pytanie ma już tutaj odpowiedź:

Atrybut XML vs element XML 20 odpowiedzi

Uczę się oAtrybuty XML z W3Schools.

Autor wspomina o następujących rzeczach (podkreślenie moje):

Elementy XML a atrybuty
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

W pierwszym przykładzie seks jest atrybutem. W końcu seks jest elementem. Oba przykłady dostarczają tych samych informacji.

Nie ma reguł dotyczących tego, kiedy używać atrybutów i kiedy używać elementów. Atrybuty są przydatne w HTML.W XML radzę unikać ich. Zamiast tego użyj elementów.

Unikaj atrybutów XML?

Niektóre problemy z używaniem atrybutów to:

atrybuty nie mogą zawierać wielu wartości (elementy mogą)atrybuty nie mogą zawierać struktur drzewa (elementy mogą)atrybuty nie są łatwo rozszerzalne (dla przyszłych zmian)

Atrybuty są trudne do odczytania i utrzymania. Użyj elementów do danych. Użyj atrybutów dla informacji, które nie są istotne dla danych.

Czy więc widok autora jest słynny, czy też jest to najlepsza praktyka w XML?

Czy należy unikać atrybutów w XML?

W3Schools wspomniało również o następujących kwestiach (podkreślenie moje):

Atrybuty XML dla metadanych

Czasami odniesienia do identyfikatorów są przypisywane do elementów. Te identyfikatory mogą być używane do identyfikacji elementów XML w taki sam sposób jak atrybut ID w HTML. Ten przykład pokazuje to:

<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>

Powyższy identyfikator jest tylko identyfikatorem, umożliwiającym identyfikację różnych notatek. Nie jest częścią samej notatki.

Próbuję tutaj powiedzieć, że metadane (dane o danych) powinny być przechowywane jako atrybuty, a same dane powinny być przechowywane jako elementy.

questionAnswers(13)

yourAnswerToTheQuestion