xml Tutorial
Erste Schritte mit XML
Suche…
Bemerkungen
XML ist eine Auszeichnungssprache, in der hierarchische Daten in Textdateien gespeichert werden. Es wird auch als halbstrukturierte Daten wie JSON bezeichnet. XML ist maschinenlesbar, kann aber auch von Menschen gelesen und produziert werden.
XML besteht aus Elementen, die gelegentlich als Tag-Suppe bezeichnet werden , die wiederum andere Elemente und / oder Text enthalten können. Elemente können auch Attribute enthalten.
XML wird häufig für den Datenaustausch zwischen Plattformen verwendet, insbesondere über das Internet. Sie wird zunehmend auch zum Speichern von semi-strukturierten Daten in NoSQL-Datenspeichern (XML-Datenbanken / Dokumentenspeichern) verwendet. Darüber hinaus ist es flexibel, mit dokumentenorientierten Daten (Text mit Markup) umzugehen, wodurch es in der Verlagsbranche sehr beliebt ist. XML wird auch häufig für Konfigurationsdateien verwendet.
Einer der Hauptgründe für die Verbreitung von XML ist, dass es standardisiert ist und viele Parser verfügbar sind, einschließlich Open Source. Dadurch sind die Kosten für die Verwendung von XML niedriger als die Erfindung der eigenen neuen Syntax.
Weitere Informationen zu Herkunft und Zielen von XML finden Sie in der offiziellen W3C-Empfehlung .
Es gibt zwei Versionen von XML, die in der folgenden Tabelle gezeigt werden. Die Ausgaben jeder Version sind lediglich Überarbeitungen der Originaldokumente und keine Änderungen der Standards.
Die erste Version von XML ist 1.0 . XML 1.1 wurde aufgrund der Änderung der Unicode-Version von 2.0 in 3.1 primär geändert und enthält eine Reihe neuer Regeln für die Verwendung und Interpretation neuer Unicode-Zeichen.
Versionen
Ausführung | Veröffentlichungsdatum |
---|---|
1,0 | 1998-02-10 |
1.1 | 2001-12-13 |
Installation oder Setup
XML ist eine Syntax, dh ein einfacher Texteditor reicht aus, um loszulegen.
Ein XML-spezifischer Editor, der Ihnen zeigt, wann und wo Ihr Dokument nicht gut geformt ist, ist für die Produktivität fast unverzichtbar. Mit diesen Editoren können Sie möglicherweise auch XML-Dokumente anhand eines XML-Schemas überprüfen oder sogar XML-Schemas aus XML-Dokumenten erstellen (und umgekehrt).
Beispiele für Editoren sind oXygen, Atom, Eclipse und Altova XMLSpy. Eine alternative Lösung ist die Verwendung eines Befehlszeilen-XML-Parsers wie Apache Xerces.
Die Grundbausteine
XML setzt sich aus grundlegenden Bausteinen zusammen.
- Element
- Text
- Attribute
- Bemerkungen
- Verarbeitungsanweisungen
Ein Element hat spitze Klammern:
<element/>
<element>some content</element>
Ein Attribut erscheint in einem öffnenden Elementtag:
<element
attribute-name="attribute value"
other-attribute='single-quoted value'>
...
</element>
Text kann an beliebigen Stellen innerhalb oder zwischen Elementen erscheinen:
<element>some more <b>bold</b> text</element>
Kommentare verwenden die folgende Syntax. Es ist wichtig zu wissen, dass XML-Kommentare im Gegensatz zu Programmiersprachen Teil des Modells sind und für die Anwendung oberhalb des Parsers sichtbar sind.
<!-- this is a comment -->
Verarbeitungsanweisungen ermöglichen das Weiterleiten von Nachrichten an die konsumierende Anwendung (z. B. Anzeige oder Stylesheet usw.). XML beschränkt das Format der Verarbeitungsanweisungen nicht.
<?target-application these are some instructions?>
Weitere Details zu den Bausteinen finden Sie in diesem Thema
Wohlgeformtheit
Ein XML-Dokument ist eine Textdatei, die den Regeln zur Formung der XML-Spezifikation entspricht. Ein solches konformes Dokument soll wohlgeformt sein (nicht mit gültigem verwechseln). XML ist im Vergleich zu anderen Sprachen wie HTML sehr streng und wohlgeformt. Eine Textdatei, die nicht ordnungsgemäß formatiert ist, wird nicht als XML betrachtet und kann nicht für den Konsum von Anwendungen verwendet werden.
Hier sind einige Regeln, die für XML-Dokumente gelten:
XML verwendet eine viel selbstbeschreibende Syntax. Ein Prolog definiert die XML-Version und die Zeichencodierung:
<?xml version="1.0" encoding="UTF-8"?>
Es muss genau ein Element der obersten Ebene geben.
Kommentare, Verarbeitungsanweisungen sowie die erste XML-Deklaration sind jedoch auch auf oberster Ebene zulässig. Text und Attribute nicht.
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->
Elemente können verschachtelt sein, müssen aber "richtig verschachtelt" sein:
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>
Die Start- und End-Tags eines eingebetteten Elements müssen sich innerhalb der Start- und End-Tags des Containerelements befinden. Eine Überlappung von Elementen ist illegal. Dies ist insbesondere kein wohlgeformtes XML:
<foo><bar></foo></bar>
Attribute dürfen nur in öffnenden Element-Tags oder leeren Element-Tags erscheinen, nicht in schließenden Element-Tags. Wenn die Attributsyntax zwischen Elementen angezeigt wird, hat sie keine Bedeutung und wird als Text analysiert.
<person first-name="John" last-name="Doe"/>
Dies ist nicht gut ausgebildet:
<person></person first-name="John"/>
Kommentare, Verarbeitungsanweisungen, Text und weitere Elemente können an beliebiger Stelle innerhalb eines Elements (dh zwischen dem öffnenden und schließenden Tag), jedoch nicht innerhalb der Tags angezeigt werden.
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>
Dieses Beispiel ist nicht wohlgeformt:
<element <-- comment --> />
Das Zeichen
<
wird möglicherweise nicht in Text oder in Attributwerten angezeigt.Das Zeichen
"
wird möglicherweise nicht in Attributwerten angezeigt, die mit"
in Anführungszeichen gesetzt werden. Das Zeichen'
darf nicht in Attributwerten stehen, die mit'
in Anführungszeichen gesetzt sind.Die Zeichenfolge
--
möglicherweise nicht in einem Kommentar angezeigt.Die Buchstaben
<
und&
müssen von ihren jeweiligen Entitäten<
und&
.
Hallo Welt
<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
<!-- These are the standard greetings -->
<vocabulary:greetings>
<vocabulary:greeting xml:lang="en-US" type="informal">
Hi!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="intermediate">
Hello!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="formal">
Good morning to <b>you</b>!
</vocabulary:greeting>
</vocabulary:greetings>
</root>
Namensräume
Element- und Attributnamen befinden sich in Namespaces, bei denen es sich um URIs handelt. Namensräume sind an Präfixe gebunden, die in den tatsächlichen Element- und Attributnamen verwendet werden, die als QNames bezeichnet werden.
Dieses Dokument bindet einen Namespace an das Präfix- prefix
und definiert einen Standard-Namespace, der an das Präfix fehlt.
<?xml version="1.0"?>
<document
xmlns="http://www.example.com/default-namespace"
xmlns:prefix="http://www.example.com/another-namespace">
<prefix:element/>
</document>
Weitere Informationen zu Namespaces finden Sie in diesem Thema