Latest web development tutorials

XML-Elemente und Attribute Vergleich

In XML, und es gibt keine Vorschriften, wenn Attribute zu verwenden, und wenn Kind-Elemente zu verwenden.


Verwenden Sie Elemente vs. Attribute

Die Daten können in untergeordneten Elemente oder Attribute gespeichert werden.

Lassen Sie uns diese Beispiele an:

<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

Im ersten Beispiel, "Sex" ist ein Attribut. In einem Beispiel wieder an, "Sex" ist ein Teilelement. Aber beide bieten die gleichen Informationen.

Keine besonderen Regelungen für, wenn Attribute zu verwenden, und wenn Kind-Elemente zu verwenden. Meine Erfahrung ist, dass die Verwendung von Multi-Attribut in HTML schwer, aber in XML, die Verwendung von Unterelementen, wird es mehr wie Daten fühlen.


Ich mag die Art und Weise

Ich mag Daten in Child - Elemente zu speichern,

Die folgenden drei XML-Dokumente enthalten genau die gleichen Informationen:

In diesem Beispiel wird ein "Datum" Attribut:

<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

In diesem Beispiel wird ein "Datum" Element:

<note>
<date>12/11/2002</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

In diesem Beispiel wird die Erweiterung "Datum" Element: (Das ist mein Lieblings-Weg):

<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Vermeiden Sie Attribute verwenden?

Sie sollten mit Hilfe von Attributen zu vermeiden?

Einige Attribut hat die folgenden Probleme:

  • Attribute können nicht mehrere Werte (Child-Elemente können) enthalten
  • Attribute sind nicht leicht erweiterbar (für die zukünftigen Anforderungen ändern)
  • Attribute können nicht beschreiben Strukturen (Child-Elemente können)
  • Attribute sind schwieriger, den Programmcode zu manipulieren
  • Attributwerte sind nicht leicht für DTD testen

Wenn Sie die Eigenschaft als Datencontainer verwenden, wird das resultierende XML-Dokument nur schwer zu lesen und zu pflegen. Versuchen SieElemente zu verwenden , um Daten zu beschreiben.zu beschreiben Daten. Die Daten werden nur irrelevante Informationen liefern, wenn wir die Verwendung von Eigentum empfehlen.

Nicht so enden (das sollte nicht XML verwendet werden):

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>


Ausnahme von der Regel von Eigentum

Es gibt immer eine andere Regel

Regeln für die Eigenschaft Ich habe eine Ausnahme.

Manchmal benutze ich Elemente angegebenen ID. Diese Anwendungen können als ID-Attribut NAME oder ID verwendet werden, um XML-Elemente in HTML in der gleichen Situation Zugriff auf eine Menge. Das folgende Beispiel verdeutlicht diesen Ansatz:

<messages>
<note id="p501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

<note id="p502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>

XML-Dokumente in den obigen Beispielen die ID nur ein Zähler oder eine eindeutige Kennung, die verschiedenen Töne, und nicht als Teil der Daten zu identifizieren.

Ich möchte hier zu sagen ist, dass Metadaten (Daten über Daten) als Attribute gespeichert werden, und die Daten selbst sollte als Elemente gespeichert werden.