XML Attribute
XML-Elemente haben Attribute, ähnlich wie HTML.
Attribute liefern zusätzliche Informationen über Elemente.
XML-Attribute
In HTML liefern Attribute zusätzliche Informationen über Elemente:
<a href="demo.html">
Attribute liefern normalerweise Informationen, die nicht Teil der Daten sind. Im folgenden Beispiel steht der Dateityp nicht in Beziehung zu den Daten, aber er ist sehr wichtig für die Software, die dieses Element verarbeiten muss:
XML-Attribute müssen in Anführungszeichen stehen
Attributwerte müssen in Anführungszeichen eingeschlossen sein, wobei sowohl einfache als auch doppelte Anführungszeichen verwendet werden können. Zum Beispiel kann für das Geschlecht einer Person das person-Element so geschrieben werden:
Oder so:
Wenn der Attributwert selbst doppelte Anführungszeichen enthält, können Sie einfache Anführungszeichen verwenden, wie in diesem Beispiel:
Oder Sie können Zeichenentitäten verwenden:
XML-Elemente vs. Attribute
Sehen Sie sich diese Beispiele an:
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
Im ersten Beispiel ist sex ein Attribut. Im zweiten Beispiel ist sex ein Element. Beide Beispiele liefern dieselbe Information.
Es gibt keine Regeln, die uns sagen, wann Attribute und wann Elemente verwendet werden sollten. Meiner Erfahrung nach sind Attribute in HTML praktisch, aber in XML sollten Sie versuchen, die Verwendung von Attributen zu vermeiden. Wenn sich Informationen wie Daten anfühlen, verwenden Sie Elemente.
Meine bevorzugte Methode
Die folgenden drei XML-Dokumente enthalten genau dieselben Informationen:
Das erste Beispiel verwendet das Attribut date:
<to>Tove</to>
<from>Jani</from>
<heading>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht!</body>
</note>
Das zweite Beispiel verwendet das date-Element:
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht!</body>
</note>
Das dritte Beispiel verwendet ein erweitertes date-Element (das ist mein Favorit):
<date>
<day>10</day>
<month>01</month>
<year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht!</body>
</note>
XML-Attribute vermeiden?
Einige Probleme, die durch die Verwendung von Attributen entstehen:
- Attribute können nicht mehrere Werte enthalten (Elemente hingegen schon)
- Attribute können keine Baumstrukturen enthalten (Elemente hingegen schon)
- Attribute lassen sich nicht einfach erweitern (für zukünftige Änderungen)
Attribute sind schwer zu lesen und zu pflegen. Bitte versuchen Sie, Elemente zur Beschreibung von Daten zu verwenden. Verwenden Sie Attribute nur, um Informationen bereitzustellen, die nicht mit den Daten zusammenhängen.
Mach so etwas Dummes nicht (so sollte XML nicht verwendet werden):
to="Tove" from="Jani" heading="Erinnerung"
body="Vergiss mich dieses Wochenende nicht!">
</note>
XML-Attribute für Metadaten
Manchmal werden Elementen ID-Referenzen zugewiesen. Diese ID-Indizes können verwendet werden, um XML-Elemente zu identifizieren, und sie funktionieren genauso wie das id-Attribut in HTML. Dieses Beispiel veranschaulicht dies:
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Erinnerung</heading>
<body>Ich will nicht</body>
</note>
</messages>
Das obige id-Attribut ist nur eine Kennung, die verwendet wird, um verschiedene Notizen zu identifizieren. Es ist nicht Teil der Notizdaten.
Die Idee, die wir hier nachdrücklich vermitteln, ist: Metadaten (Daten über Daten) sollten als Attribute gespeichert werden, und die Daten selbst sollten als Elemente gespeichert werden.
Weitere Erweiterungen