Suche…
Elemente
Elemente mit spitzen Klammern sind der prominenteste Baustein von XML.
Elemente können entweder leer sein, in diesem Fall bestehen sie aus einem leeren Tag (beachten Sie den abschließenden Schrägstrich):
<an-empty-element/>
Oder sie können Inhalt haben. In diesem Fall haben sie ein öffnendes Tag (kein Schrägstrich) und ein schließendes Tag (Anfangsschrägstrich):
<a-non-empty-element>Content</a-non-empty-element>
Elemente können verschachtelt werden (aber nur zwischen öffnenden und schließenden Tags):
<parent-element>
<child-element/>
<another-child-element>
Some more content.
</another-child-element>
</parent-element>
Elementnamen heißen QNames (qualifizierte Namen). Alle obigen Elemente befinden sich in keinem Namespace, aber Elementnamen können auch in Namespaces mit Präfixen wie folgt definiert werden:
<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
<my-namespace:child-element/>
<my-namespace:another-child-element>
Some more content.
</my-namespace:another-child-element>
</my-namespace:parent-element>
Namensräume und Elementnamen werden in diesem Abschnitt der Dokumentation ausführlicher beschrieben.
Attribute
Attribute sind Name-Wert-Paare, die einem Element zugeordnet sind.
Sie werden durch Werte in einfachen oder doppelten Anführungszeichen innerhalb des Eröffnungselement-Tags oder durch das leere Element-Tag dargestellt, wenn es ein leeres Element ist.
<document>
<anElement foo="bar" abc='xyz'><!-- some content --></anElement>
<anotherElement a="1"/>
</document>
Attribute werden nicht sortiert (im Gegensatz zu Elementen). Die folgenden zwei Elemente weisen dieselben Attributsätze auf:
<foo alpha="1" beta="2"/>
<foo beta="2" alpha="1"/>
Attribute können nicht im selben Element wiederholt werden (im Gegensatz zu Elementen). Das folgende Dokument ist nicht wohlgeformt: da das Attribut <foo a="x" a="y"/>
a
zweimal im selben Element erscheint.
Das folgende Dokument ist wohlgeformt. Werte können identisch sein, es ist der Attributname, der nicht wiederholt werden kann.
<foo a="x" b="x"/>
Attribute können nicht verschachtelt werden (im Gegensatz zu Elementen).
Text
Text besteht aus allen Zeichen außerhalb eines Markups (öffnende Element-Tags, schließende Element-Tags usw.).
<?xml version="1.0"?>
<document>
This is some text and <b>this is some more text</b>.
</document>
Die genaue XML-Terminologie für Text sind Zeichendaten . Die XML - Spezifikation verwendet tatsächlich das Wort Text für das gesamte XML - Dokument oder einen analysierten Entity, weil es XML auf syntaktischer Ebene definiert. Einige Datenmodelle wie XDM (XQuery und XPath Data Model), die XML-Dokumente als Bäume darstellen, beziehen sich jedoch auf Zeichendaten als Textknoten , sodass Text in der Praxis häufig als Synonym für Zeichendaten verstanden wird.
Zeichendaten dürfen kein <
Zeichen enthalten - dies würde als erstes Zeichen eines öffnenden Element-Tags interpretiert werden - es darf auch nicht die Zeichenfolge ]]>
enthalten. Die entsprechenden Zeichen müssen stattdessen mit einer Entitätsreferenz versehen werden.
<?xml version="1.0"?>
<document>
It is fine to escape the < character, as well as ]]>.
</document>
Der Bequemlichkeit halber kann man auch einen größeren Textteil mit einem CDATA-Abschnitt schützen (die Reihenfolge ]]>
ist jedoch aus naheliegenden Gründen immer noch nicht zulässig.
<?xml version="1.0"?>
<document>
<![CDATA[
In a CDATA section, it is fine to write < or even & and entity references
such as & are not resolved.
]]>
</document>
Bemerkungen
Kommentare in XML sehen so aus:
<!-- This is a comment -->
Sie können im Elementinhalt oder auf der obersten Ebene erscheinen:
<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
<!-- a comment inside the document -->
</document>
Kommentare können nicht in Tags oder Attributen angezeigt werden:
<element <!-- comment with -- inside --> />
oder
<element attr="<!-- comment with -- inside -->"/>
sind nicht wohlgeformt
Die Zeichenfolge --
kann nicht in der Mitte eines Kommentars erscheinen. Dies ist kein wohlgeformtes XML:
<!-- comment with -- inside -->
Kommentare in XML sind im Gegensatz zu anderen Sprachen wie C ++ Teil des Datenmodells : Sie werden analysiert, weitergeleitet und für die konsumierende Anwendung sichtbar.
Verarbeitungshinweise
Eine Verarbeitungsanweisung wird verwendet, um einige Informationen oder Anweisungen direkt über den Parser an die Anwendung weiterzuleiten.
<?my-application some instructions ?>
Das Token nach dem ersten Fragezeichen (hier my-application
) wird als Ziel bezeichnet und identifiziert die Anwendung, auf die der Befehl gerichtet ist. Was folgt, wird nicht weiter spezifiziert und es liegt an der Anwendung, es zu interpretieren. Entitäten- und Zeichenreferenzen werden nicht erkannt.
Es kann auf der obersten Ebene oder im Elementinhalt angezeigt werden.