Soll ich Elemente oder Attribute in XML verwenden? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

XML-Attribut vs XML-Element 20 Antworten

Ich lerne überXML-Attribute von W3Schools.

Der Autor erwähnt Folgendes (Hervorhebung von mir):

XML-Elemente vs. Attribute
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

Im ersten Beispiel ist Geschlecht ein Attribut. Im letzten ist Sex ein Element. Beide Beispiele enthalten dieselben Informationen.

Es gibt keine Regeln, wann Attribute und wann Elemente verwendet werden sollen. Attribute sind in HTML praktisch.In XML ist mein Rat, sie zu vermeiden. Verwenden Sie stattdessen Elemente.

XML-Attribute vermeiden?

Einige der Probleme bei der Verwendung von Attributen sind:

Attribute dürfen nicht mehrere Werte enthalten (Elemente können)Attribute dürfen keine Baumstrukturen enthalten (Elemente dürfen)Attribute sind nicht leicht erweiterbar (für zukünftige Änderungen)

Attribute sind schwer zu lesen und zu pflegen. Verwenden Sie Elemente für Daten. Verwenden Sie Attribute für Informationen, die für die Daten nicht relevant sind.

Ist die Ansicht des Autors eine berühmte, oder ist dies die beste Vorgehensweise in XML?

Sollten Attribute in XML vermieden werden?

W3Schools erwähnte auch Folgendes (Schwerpunkt meiner):

XML-Attribute für Metadaten

Manchmal werden ID-Referenzen Elementen zugewiesen. Diese IDs können verwendet werden, um XML-Elemente ähnlich wie das ID-Attribut in HTML zu identifizieren. Dieses Beispiel zeigt dies:

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

Die ID oben ist nur eine Kennung, um die verschiedenen Noten zu identifizieren. Es ist nicht Teil der Notiz.

Ich versuche hier zu sagen, dass Metadaten (Daten zu Daten) als Attribute und Daten selbst als Elemente gespeichert werden sollten.

Antworten auf die Frage(13)

Ihre Antwort auf die Frage