XML , eine Abkürzung für eXtensible Markup Language , erscheinen auf den ersten Blick einfach, aber wohlgeformte XML müssen einer Reihe von strengen Regeln halten. Wenn diese Regeln verletzt werden, XML-Parser wie MSXML und XERXES Bericht Fehler, die oft verwirren Anfang Programmierer. Für diejenigen, die " doppelte Attribut" Fehlermeldungen auftreten , das Verständnis ein paar grundlegende Konzepte Codierung hilft veranschaulichen die Unterschiede zwischen Elementen und Attributen . Elements
Elemente bilden die Grundlage von XML. Alle XML-Dokumente enthalten einen einzigen Root-Element , das mit einem öffnenden Tag beginnt , gefolgt von untergeordneten Elemente und wird dann von einem schließenden Tag beendet.
< KURS ID = " ENG101 " NAME = " Basic- Writing Skills " > < KURS ID =" ENG102 " NAME =" englische Grammatik und Wortschatz "/>
In dem obigen Beispiel ist die Wurzel Element SCHOOL . Das Dokument beginnt mit einer Öffnung tag und endet mit einem schließenden < /SCHULE >-Tag . Innerhalb dieser Elemente sind zwei KURS Elemente , die können oder auch nicht enthalten STUDENT Elemente .
Attribute
Ein Weg, um Daten in einer XML-Datei auszudrücken, ist durch die Einbettung von Attributen innerhalb ein Element . Ein Attribut nach der Eröffnung tag mit einem Namen und Wert-Paar in der Form platziert wird :
NAME = " Wert "
Fortsetzung des Beispiels , hat die Weichen Element die Attribute "ID " und " Namen. " Durch die Auswertung der Attribute , sehen wir , dass die Schule zwei Kurse , ENG und ENG 101 102, die benannt werden muss " Grundlegende Writing Skills "und" englische Grammatik und Wortschatz . "
Duplizieren Attribute
eine Regel von " well-formed " XML ist, dass jedes Attribut in einem Element muss einen eindeutigen Namen haben . Im Beispiel wird eine einzelne Schüler in der Regel nicht haben mehrere Namen und ein Kurs nicht mehr als eine ID . Im wirklichen Leben , kann dies nicht der Fall sein und der gleiche Kurs kann durch zwei Abteilungen angeboten werden , wie folgt:
< KURS ID = " ENG101 " ID = " COMM103 " NAME = "Grundlegende Writing Skills " />
Dies ist nicht in XML erlaubt jedoch . Wenn zwei Klassen mit dem gleichen Namen ausgedrückt werden müssen , eine zweite Attribut , wie ALT , dürfen stattdessen verwendet werden :
< KURS ID = " ENG101 " ALT = " COMM103 " NAME = "Grundlegende Writing Skills "/>
Andere Möglichkeiten zum doppelten Attribute Express
XML erlaubt keine doppelten Attribute , aber es hat mehrere untergeordnete Elemente mit dem gleichen Namen zu ermöglichen. In dem Beispiel , erscheinen sowohl den Verlauf und STUDENT Elemente zweimal in ihren übergeordneten Elementen . Attribute verwenden, um einzigartige Eigenschaften der einzelnen Elemente beschreiben und verwenden untergeordneten Elemente , um diese Elemente , die mehrere Vorkommen haben aufzuzählen . Ein Kurs hat normalerweise eine ID und einen Namen , aber es kann viele Studenten haben .