XML wird oft in einem Atemzug mit HTML genannt. Allerdings führt dieser Vergleich oft zu Verwirrung, deshalb möchte ich mich im folgenden dem Thema XML auf eine andere Art nähern.
Eine wichtige Motivation zur Einführung von XML war es, Daten aller Art zusammen mit Informationen über Ihre Bedeutung abzuspeichern. Nehmen wir an, wir haben die Zahl 60314. Diese ist zunächst einmal bedeutungslos. In XML werden jetzt alle Daten, wie z.B. unsere Zahl 60314, in etwas hineingetan, was ich im folgenden Container nennen werde. Ein Container hat einen Inhalt, unsere Zahl, sowie eine Bezeichnung, die etwas über die Art des Inhalts aussagt. In unserem Fall sagt er aus, das der Inhalt eine Postleitzahl ist.
Postleitzahl | |
---|---|
60314 |
Jetzt wissen wir zwar, dass unsere Zahl eine Postleitzahl ist, jedoch noch nicht, wozu die Postleitzahl gut ist, also z.B. zu welcher Adresse sie gehört.
Eine wichtige Eigenschaft der XML Container ist, das man sie wie Matroschkas ineinanderschachteln kann:
Adresse | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Die Schachtelung kann fortgesetzt werden:
Organisation | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Es kann auch Container geben, die nur eine Bezeichnung, aber keinen Inhalt haben:
Gemeinnützig |
---|
Container können neben ihrer Bezeichnung auch weitere Eigenschaften haben, die die Bedeutung ihres Inhalts näher spezifizieren. Diese werden im XML-Slang Attribute genannt.
Spendenkonto | |
---|---|
Type | Bevorzugt |
1800 Frankfurter Sparkasse |
Spendenkonto | |
---|---|
Type | Alternativ |
6999-508 Postbank Köln |
Wenn wir bestimmte informationen darstellen wollen, ist es oft nicht klar, ob wir Sie als Attribute oder besser als eigenständige Container darstellen. In unserem Beispiel des Conatiners mit der Adressen können wir entweder die Informationen Strasse, PLZ und Stadt als enthaltenen Container darstellen, wie in Bild oben gezeigt, oder auch als Attribute:
Adresse | |
---|---|
Strasse | Obermainanlage 7 |
Postleitzahl | 60314 |
Stadt | Frankfurt |
Telefonnr | 069 94 43 827 |
Welche Darstellungsmöglichkeit die bessere ist, ist nicht immer leicht zu sagen. Falls eine Information eigenständig ist, so ist eine Darstellung als eigener Container angemessen. Weiter kann man nur Container ineinander schachteln, reine Attributwerte nicht.
> Nächstes Kapitel: Strukturdefinitionen (Schema)
Copyright © 2001-2002 by Karsten Meier. All Rights reserved.