Extensible Markup Language (XML)

Die Extensible Markup Language ( XML) ist eine Auszeichnungs-Sprache, d.h. ein übergeordneter Standard, der es ermöglicht, sowohl Daten als auch 'Programmiersprachen' nach seinen Regeln zu formulieren.

XML verwendet einfachen unformatierten Text. Man kann XML-Daten und -Programme daher mit einfachsten Mitteln lesen oder verändern, oder (meist mit Programmen) erzeugen.

XML ist genial einfach und daher besonders flexibel. Die Anzahl der Anwendungen nimmt rasch zu: Bekannte Mitglieder der XML-Familie sind → HTML (Webseiten), → SVG (Objektgrafik), → MathML (Formeln). → ODF (Büro-Dokumente)
XML ist offen, lizenz- und kostenfrei und funktioniert unabhängig von Betriebssystemen und Programmen.

XML-Beispiel


So kann eine XML-Datei mit den Daten von 2 Personen aussehen:
<personen>
<person>
<nr> 123 </nr>
<name> Veronika </name>
</person>
<person>
<nr> 234 </nr>
<name> Walter </name>
</person>
</personen>
Es wird nur einfacher, unformatierter Text verwendet.
Hier sind die Daten zur besseren Sichtbarkeit hervorgehoben.
Die Namen der XML-Elemente (hier <personen>, <person>, <nr>, <name> ) sind frei erfunden.
Die Daten werden von den jeweiligen Elemente umschlossen.
Der Text ist für Menschen und Programme leicht lesbar. Man kann XML-Daten unabhängig vom Betriebssystem einfach herstellen, ändern, verarbeiten...

XML-Standard


Extensible Markup Language ist ein wichtiger Standard der modernen Informatik.
Mit wenigen einfachen Regeln wird eine umfassende Technologie definiert, mit der man fast beliebige Daten beschreiben kann.
Gerade wegen seiner besonders einfachen Regeln kann man mit XML viele Aufgaben innerhalb der Informatik und an der Schnittstelle zwischen IT und anderen Bereichen hervorragend lösen.

Einfacher Text

  XML besteht nur aus einfachem unformatiertem Text.
Solche Dokumente sind für Menschen und Programme gleichermaßen einfach zu verarbeiten. Damit ist XML unabhängig von Betriebssystem, Herstellern, Programmen, Versionen, ...

Als → Zeichensatz wird ohne besondere Vereinbarung → UTF‑8 verwendet, wahlweise auch nur die 95 druckbaren → ASCII-Zeichen. In beiden Varianten kann man Text-Daten aus allen (derzeit ca. 2 Mio) → Unicode Schriftzeichen codieren.

<Auszeichnungs-Elemente> und Daten

  Der Text eines XML-Dokuments besteht nur aus Auszeichnungs-(Markup)-Elementen und Daten.
Elemente werden in < > Klammern eingeschlossen. Man muss Anfang und  /Ende eindeutig bezeichnen, z.B. so
<element> Daten </element>
Die jeweiligen Daten werden vom Element umschlossen.
Ein Element kann nicht nur Daten enthalten sondern auch weitere, darin verschachtelte Unter-(Child)-Elemente mit deren Daten.

Frei definierbare Elemente

XML legt die Namen der Elemente und Attribute nicht fest.
Man kann für jede Anwendung die am besten geeigneten Elemente selbst definieren.
Für eine große Anzahl von Fachgebieten gibt es allerdings bereits fertig ausgearbeitete XML-Standards.

Programmiersprachen

Einige Mitglieder der XML-Familie werden hier als 'Programmiersprachen' bezeichnet, z.B. → HTML, → SVG, → XSL
Das ist so zu verstehen, dass diese Standards Anweisungen ('Befehle') enthalten, die von einem Interpreter-Programm (typisch: Browser) befolgt werden. XSL bietet mit Variablen, Verzweigungen und Schleifen sogar alle typischen Elemente der Programmierung.
Man braucht diese weit gefasste Definition nicht zu teilen, muss dann aber das Wort 'Programmiersprache' umschreiben.

XML-Familie


Alle Mitglieder der XML-Familie sind prinzipiell miteinander kompatibel.
Man kann daher in einem XML-Quelltext gleichzeitig Elemente aus mehreren unterschiedlichen XML-Definitionen verwenden.
Darüber hinaus kann man Technologien wie → CSS (Formatierung), → Javascript (Programmierung) oder XLink (HyperLinks) für praktisch alle XML-Dokumente verwenden.

Beispiel:
In einer XML-konformen Webseite wird hauptsächlich HTML verwendet. Man kann jedoch auch ObjektGrafik (SVG) oder Formeln (MathML) im gleichen Quelltext 'Inline' verwenden.
Diese besonders praktische Möglichkeit wird von allen modernen Browser-Programmen unterstützt.

XML-Links


Diese Links sollen u.a. einen Eindruck davon vermitteln, wie vielfältig und weit verbreitet XML ist:

Wikipedia: AgroXMLCIDXCityGMLCMLDITADocBookDTDGMLGPXGraphMLHTMLKMLMathMLMSRMusicXMLODFODXONIXOSMOTXOWLQDXRSSSMBLSMILSOAPSyncMLSVGUBLWDDXWSDLX3DXBLXBRLXFormsXLinkXMLXML-RPCXMPPXPathXPointerXQueryXSLTXSPXUpdate , ...

W3Schools: Gut erklärte Beispiele (englisch): DTDHTMLSOAPSVGXLinkXMLXPathXPointerXQueryXSLT

W3C (Offizielle Web-Standards),  DTD (Download),  HTMLMathMLSMILSOAPSVGWSDLXBLXFormsXLinkXMLXPathXPointerXQueryXSL

Sonstige: DLF