</> XMLLab

XML verstehen & selbst schreiben · Staatliche Berufsschule 1 Kempten
← Übersicht

XML – Daten strukturieren statt gestalten

Vom Prolog bis zur DTD: erst verstehen, dann selbst schreiben. Der eingebaute Prüfer liest deinen Code Zeichen für Zeichen und sagt dir auf Deutsch, was noch nicht stimmt.

Verstehen
📘
Modul 01
XML-Grundlagen

Wozu XML? Der Unterschied zu HTML, Einsatzgebiete in der Medienproduktion, Vor- und Nachteile und das Prinzip „ein Datenbestand – viele Medien".

Theorie
🔍
Modul 02
Anatomie & Baumstruktur

Tippe im Beispielcode auf Prolog, Wurzelelement, Start-Tag, Attribut oder Kommentar – und sieh sofort, wie der Baum dazu aussieht.

Interaktiv
📏
Modul 03
Regeln & Sonderzeichen

Die Regeln der Wohlgeformtheit, ein Prüfer für Tag-Namen zum Ausprobieren und ein Umwandler für &, < und Co.

Theorie · Werkzeug
Selbst programmieren
⌨️
Modul 04
XML-Werkstatt

Der freie Editor: schreibe eigenes XML, lass es live prüfen und sieh die Baumstruktur mitwachsen. Mit Vorlagen und Einfüge-Tasten fürs Handy.

Editor · Live-Prüfung
🎯
Modul 05
Aufgaben-Trainer

Zehn Aufgaben im Prüfungsstil: aus einem Datensatz eine wohlgeformte XML-Struktur bauen. Der Prüfer kontrolliert Regeln und Inhalt.

Übung · 10 Aufgaben
🐞
Modul 06
Fehlersuche

Fehlerhafter Quellcode, so wie er in der Prüfung drankommt. Finde und repariere jeden Fehler direkt im Editor.

Übung · 7 Fälle
🗂️
Modul 07
DTD-Labor

Wohlgeformt oder valide? DTD lesen, Kardinalitäten ? * + ausprobieren und eigene DTDs schreiben – mit echtem Validator.

Theorie · Validator
Spielen und üben
🧩
Modul 08
Verschachtelungs-Puzzle

Codezeilen sind durcheinandergeraten. Tippe sie in der richtigen Reihenfolge an, bis der Baum wieder stimmt.

Spiel · 6 Puzzles
Modul 09
Wohlgeformt-Blitz

Stimmt die Aussage über XML oder nicht? 60 Sekunden, Serienbonus – und bei jedem Fehler die passende Erklärung.

Spiel · 60 Sekunden
📐
Modul 10
XML in InDesign

Strukturansicht, Tags-Bedienfeld und die Zuordnung „Tags zu Formaten". Dazu der Visitenkarten-Workflow als Sortierspiel.

Theorie · Sortierspiel
🏆
Modul 11
Prüfungs-Trainer

Endlose Fragerunde aus allen Bereichen – Prolog, Regeln, Attribute, Wohlgeformtheit, Validität, DTD und InDesign. Mit Serienzähler.

Quiz · Serie
📘 XML-Grundlagen

Was ist XML?

XML steht für eXtensible Markup Language – erweiterbare Auszeichnungssprache. XML strukturiert, speichert und transportiert Informationen. Die Daten liegen als reine Textdatei vor und sind dadurch sowohl für Menschen als auch für Maschinen lesbar. XML ist soft- und hardwareunabhängig und lässt sich in jedem beliebigen Texteditor schreiben.

XML ersetzt HTML nicht

HTML ist zur Darstellung von Daten gedacht, XML zum Transport und zur Ablage. XML selbst sendet, empfängt und zeigt nichts an – man schreibt lediglich Informationen zwischen Tags, die diese Daten näher beschreiben. Für den eigentlichen Transport sorgen Protokolle und Programme, für die Darstellung ein Stylesheet oder ein Layoutprogramm. XML ist also kein Ersatz für HTML oder InDesign, sondern der Zusatz, der die Daten liefert, die diese dann darstellen.

HTML
XML
Zweck
Daten darstellen
Daten transportieren und ablegen
Tags
vordefiniert (<p>, <h1>)
selbst definiert (<preis>)
Groß/klein
egal
case-sensitiv
Fehler
Browser repariert vieles
Parser bricht ab
Aussehen
steckt teils im Code
strikt getrennt (Format kommt später)

Einsatzgebiete in der Medienproduktion

Viele Office- und Adobe-Formate setzen im Hintergrund auf XML – etwa docx, xlsx und pptx, das InDesign-Austauschformat IDML oder die XMP-Metadaten in Bilddateien. XML dient zum plattform- und softwareunabhängigen Austausch von Daten:

• Export einer Excel-Datenbank zum Import in SAP
• Kundendatenbank für Visitenkarten aus Excel zum Import in ein InDesign-Layout
• Katalog- und Preislistenproduktion aus einer Datenbank
• Informationsaustausch zwischen Servern
• Beschreibung von SVG-Grafiken (SVG ist XML!)
• JDF – die Jobtickets in der Druckindustrie sind XML

Vorteile

• Nur ein Datenbestand, viele Präsentationsmöglichkeiten
• Plattform- und softwareunabhängig
• Flexibel für nahezu jedes Einsatzgebiet
• Große Verbreitung, einfache Grundsyntax
• Trennung von Form und Inhalt
• Daten bleiben aktuell – Änderung nur an einer Stelle

Nachteile

• Hoher Komplexitätsgrad der Gesamtarchitektur (DTD bzw. Schema, XSLT, Namensräume)
• Zeitaufwändige Handhabung
• Erstmaliger Aufbau der Struktur kostet Zeit und Geld – die Einsparung kommt erst bei Mehrfachnutzung
• Alternative: JSON (JavaScript Object Notation), schlanker und in Webanwendungen verbreiteter

Cross Media Publishing – ein Datenbestand, viele Medien

Beim Cross Media Publishing entstehen Publikationen, die zu unterschiedlichen Medien gehören (Print, Online, Mobile), die aber alle auf einer einheitlichen Datenbasis beruhen. Digitalmedien und Printmedien können dieselben XML-Dateien verarbeiten: Der Webeditor und das Layoutprogramm greifen auf die strukturierten Text- und Bildinhalte eines Content-Management-Systems zu. Die Formatierung wird für Digitalmedien mit XSLT durchgeführt, für Printmedien wird aus XML über einen Konverter (z. B. InDesign) ein PDF-Dokument erzeugt.

Merksatz für die Prüfung

„XML beschreibt was ein Inhalt ist – nicht wie er aussieht."
<preis>30,00</preis> sagt: Das ist ein Preis. Ob er rot, fett oder 8 pt groß gesetzt wird, entscheidet erst das Layoutprogramm oder das Stylesheet.

🔍 Anatomie & Baumstruktur

Tippe auf die Bauteile

Unten steht ein vollständiges XML-Dokument. Tippe auf eine farbige Stelle im Code – darunter erscheint, wie dieses Bauteil heißt und wofür es da ist.

Noch nichts ausgewählt

Tippe oben auf einen farbigen Teil des Codes.

Der gleiche Code als Baum

Baumstruktur

Ein XML-Dokument ist wie ein Baum aufgebaut. Das Wurzelelement (root element) umschließt alle weiteren Tags – es darf nur genau einmal vorkommen. Die darin liegenden Elemente sind Kindelemente (child elements) und können immer weiter verästelt werden. Geschlossen wird von innen nach außen: die kleinere Schachtel wird in die nächstgrößere verpackt.

Der Prolog – die XML-Deklaration

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Prolog-Tag – wird durch <? eingeleitet und durch ?> beendet und muss kleingeschrieben werden. Er steht ganz am Anfang der Datei.
version="1.0" – legt die XML-Version fest. Version 1.1 ist nicht rückwärtskompatibel und wird normalerweise nicht verwendet.
encoding="UTF-8" – die Zeichencodierung. UTF steht für „Unicode Transformation Format", die Zahl gibt die Größe der kleinsten Code-Einheit an (8 Bit). Ein Zeichen belegt in UTF-8 je nach Bedarf ein bis vier Byte – deshalb kann UTF-8 den gesamten Unicode-Zeichenvorrat abbilden und nicht etwa nur 256 Zeichen. Für den reibungslosen Austausch nimmt man praktisch immer Unicode.
standalone="yes" – alle Dokumentinformationen sind in der Datei enthalten. Werden Informationen von außerhalb geholt (z. B. eine externe DTD), steht hier "no". Da „no" die Grundeinstellung ist, ist das Attribut optional und kann auch weggelassen werden.

Das erste Tag

<Name>Thomas Musterfrau</Name> ↑ Start-Tag ↑ Elementinhalt ↑ End-Tag

Jedes Element wird durch ein Start-Tag und ein End-Tag eingerahmt, die Information steht dazwischen. Das End-Tag wird immer durch einen Schrägstrich / eingeleitet und muss zeichengenau gleich geschrieben werden wie das Start-Tag. Hat ein Tag keinen Elementinhalt, kann es als <Name/> geschrieben werden.

Attribute

Tags können mit Attributen versehen werden, durch die sich die Funktion des Tags weiter spezialisieren lässt. Attributwerte müssen in Anführungszeichen stehen.

<person geschlecht="weiblich"> <vorname>Anna</vorname> </person>

Dieselbe Information ginge auch als Element: <geschlecht>weiblich</geschlecht>. Besonders sinnvoll sind Attribute für IDs – eine laufende Nummer, die frei von Redundanzen bleiben muss, damit man in einer großen Datenbank genau einen Datensatz ansprechen kann: <person id="0001">. Ein Element darf ein Attribut allerdings nicht mehrfach enthalten.

📏 Regeln & Sonderzeichen

Wohlgeformtheit (well-formed)

Ein XML-Dokument ist wohlgeformt, wenn es alle Syntaxregeln von XML einhält. Diese Regeln solltest du auswendig können – sie werden in der Abschlussprüfung regelmäßig abgefragt.

1Das Dokument besitzt genau ein Wurzelelement, das alle anderen Elemente umschließt.
2Zu jedem öffnenden Element existiert genau ein schließendes Element (Start-Tag und End-Tag) – oder das Element wird als leeres Element <logo/> geschrieben.
3Die Elemente werden von innen nach außen geschlossen – korrekte Verschachtelung.
4Groß- und Kleinschreibung wird unterschieden (case-sensitiv): <vorname> und <Vorname> sind verschiedene Elemente.
5Eindeutige, sprechende Namensvergabe bei den Tags. (Keine Syntaxregel, sondern eine Empfehlung – in der Prüfung wird sie trotzdem erwartet.)
6Tag-Namen dürfen nicht mit „xml" und nicht mit einer Ziffer beginnen; keine Leerzeichen und kein =.
7Attributwerte stehen in Anführungszeichen, und ein Element darf ein Attribut nicht mehrfach enthalten.
8Wird ein Prolog verwendet, steht er ganz am Anfang der Datei und wird kleingeschrieben. (Die Deklaration selbst ist optional – in der Prüfung wird sie aber erwartet.)
9Sonderzeichen im Elementinhalt werden maskiert: zwingend < und &.

Zwei Feinheiten, die gerne verwechselt werden

• Die XML-Deklaration ist nicht Pflicht. Ein Dokument ohne <?xml … ?> ist trotzdem wohlgeformt. Weil sie Version und Zeichencodierung festhält, gehört sie in der Praxis und in der Prüfung aber dazu.
• Zwingend maskiert werden müssen nur < und &. Das > maskiert man aus Konvention mit, &quot; und &apos; braucht man nur innerhalb von Attributwerten, die mit genau diesem Zeichen begrenzt sind.

Werkzeug 1 · Tag-Namen-Prüfer

Ist dieser Name erlaubt?

Tippe einen Elementnamen ein (ohne spitze Klammern). Der Prüfer sagt dir sofort, ob er zulässig ist.

Noch nichts eingegeben.
Schnell testen:
Werkzeug 2 · Sonderzeichen maskieren

Warum überhaupt maskieren?

Zeichen wie < und & haben in XML eine besondere Funktion – der Parser würde sie als Beginn eines Tags bzw. einer Entität deuten. Damit sie als normaler Text ankommen, werden sie durch Entitäten ersetzt. Diese fünf sind in XML vordefiniert. Streng nötig sind im Elementinhalt nur &lt; und &amp; – die übrigen drei setzt man aus Konvention mit, und &quot; bzw. &apos; braucht man dort, wo ein Attributwert genau mit diesem Anführungszeichen begrenzt ist.

Zeichen
Entität
Name
<
&lt;
kleiner als (less than)
>
&gt;
größer als (greater than)
&
&amp;
und-Zeichen (ampersand)
'
&apos;
Apostroph
"
&quot;
Anführungszeichen
Übung · Erlaubt oder nicht?

Zehn Tag-Namen, zehn Entscheidungen

Für jeden Namen entscheidest du: ist er als XML-Elementname erlaubt oder nicht? Bei einem Fehler erklärt dir der Trainer, welche Regel verletzt wurde.

⌨️ XML-Werkstatt

Dein Editor mit Live-Prüfung

Schreib los – bei jedem Tastendruck liest der Prüfer deinen Code und meldet, was noch nicht stimmt. Darunter wächst die Baumstruktur mit. Auf dem Handy helfen dir die Tasten über dem Editor beim Eingeben der spitzen Klammern.

Vorlage laden:
Baumstruktur
🎯 Aufgaben-Trainer

Aus Daten wird Struktur

Zehn Aufgaben im Stil der Abschlussprüfung: Du bekommst einen Datensatz und baust daraus eine wohlgeformte XML-Struktur. Wie du deine Tags benennst, ist dir überlassen – geprüft werden die XML-Regeln und ob alle Informationen sauber in eigenen Elementen stecken.

🐞 Fehlersuche

Reparieren statt neu schreiben

Sieben fehlerhafte Quellcodes – genau die Fehlerarten, die in der Abschlussprüfung vorkommen. Deine Aufgabe: den Code im Editor so korrigieren, dass er wohlgeformt ist und alle Inhalte erhalten bleiben. Der Prüfer zeigt dir bei jedem Zwischenstand, was noch offen ist.

🗂️ DTD-Labor

Wohlgeformt ist nicht gleich valide

Wohlgeformt ist ein XML-Dokument, wenn es die Syntaxregeln von XML korrekt einhält.
Valide (gültig) ist es zusätzlich dann, wenn es
• eine Dokumenttypdefinition besitzt – als externe DTD-Datei, als interne DTD im Dokument oder in Form eines XML-Schemas (XSD)
• und sich an die dort hinterlegten Anweisungen hält.

Merke: Jedes valide Dokument ist wohlgeformt – aber nicht jedes wohlgeformte ist valide.
Genau genommen definiert der XML-Standard „valide" nur über die DTD; die Prüfung gegen ein XML-Schema ist eine eigene Spezifikation. In der Abschlussprüfung werden beide gleichrangig genannt.

Was steht in einer DTD?

Die Dokumenttypdefinition besteht aus Elementtypen, Attributen von Elementen, Entitäten und Notationen. Konkret heißt das: In einer DTD werden die Reihenfolge, die Verschachtelung und die Art des Inhalts der Elemente festgelegt – und über <!ATTLIST> außerdem, welche Attribute ein Element haben darf, von welchem Typ sie sind und ob sie Pflicht sind. Zusammen ergibt das die Struktur des Dokuments. Eine DTD wird gebraucht, wenn XML-Daten nicht nur wohlgeformt, sondern auch valide sein sollen. Wird nur eine wohlgeformte Datei gewünscht, kann auf sie verzichtet werden.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE adresse SYSTEM "adressen.dtd"> <adresse> … </adresse>

Zwei Dateien: die XML-Datei und die separate .dtd-Datei. Der DOCTYPE-Name bezieht sich immer auf das Wurzelelement.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE adresse [ <!ELEMENT adresse (vorname, nachname)> <!ELEMENT vorname (#PCDATA)> <!ELEMENT nachname (#PCDATA)> ]> <adresse> … </adresse>

Alles in einer Datei – die DTD-Anweisungen stehen in eckigen Klammern direkt im DOCTYPE.

Die Bausteine einer DTD

<!ELEMENT name (inhalt)> – Schlüsselwörter wie ELEMENT werden GROSS geschrieben, die Elementnamen frei gewählt. Sie müssen in den XML-Daten aber genauso geschrieben werden wie in der DTD.

#PCDATA – parseable character data, also beliebiger Text
EMPTY – leeres Element ohne Inhalt
ANY – beliebiger Inhalt
, – Sequenz: alle Unterelemente in dieser Reihenfolge
| – Auswahl: entweder oder

Innerhalb einer Klammer dürfen , und | nicht gemischt werden. Wer beides braucht, klammert: <!ELEMENT test1 ((sub_test2|sub_test3), sub_test1)>

Ausprobieren · Die Kardinalitäten

Wie oft darf ein Element vorkommen?

Ohne Zusatzzeichen muss ein Element genau einmal vorkommen. Wähle unten ein Zeichen und sieh, welche XML-Varianten die DTD dann noch akzeptiert.

Selbst schreiben

Sechs Aufgaben mit echtem Validator

Mal ist die DTD vorgegeben und du schreibst die passende XML-Datei, mal ist es umgekehrt. Der eingebaute Validator prüft anschließend wirklich, ob deine Datei zur DTD passt – Reihenfolge, Verschachtelung und Häufigkeit inklusive.

🧩 Verschachtelungs-Puzzle

Bring den Code in Ordnung

Die Zeilen eines XML-Dokuments sind durcheinandergeraten. Tippe sie in der richtigen Reihenfolge an – von der Deklaration über das Wurzelelement bis zum letzten End-Tag. Ein Fehltipp kostet dich nichts außer einem Versuch, aber am Ende zählt die saubere Verschachtelung.

⚡ Wohlgeformt-Blitz

60 Sekunden, so viele wie möglich

Es erscheint eine Aussage über XML – stimmt sie oder stimmt sie nicht? Jede richtige Antwort bringt Punkte, eine Serie bringt mehr. Bei einem Fehler fällt die Serie auf null, dafür bekommst du die Erklärung.

📐 XML in InDesign

Zwei Werkzeuge muss man kennen

InDesign stellt für die Arbeit mit XML die Strukturansicht und das Bedienfeld Tags zur Verfügung. Damit lassen sich XML-Daten importieren, im Layout platzieren und wieder exportieren.

Strukturansicht

Ansicht → Struktur → Struktur einblenden

Zeigt alle Elemente des Dokuments mit ihrer Hierarchie an. Zu jedem Element sieht man das Element-Tag, ein Symbol für den Inhaltstyp und die ersten Wörter des Textes (den Textausschnitt). Elemente lassen sich hier anzeigen, bearbeiten, verwalten und direkt auf eine Seite ziehen. Auch die Hierarchie kann angepasst und es können Elemente, Attribute, Kommentare und Verarbeitungsanweisungen hinzugefügt werden.

Tags-Bedienfeld

Fenster → Hilfsprogramme → Tags

Hier werden die einzelnen Tags für die Elemente angezeigt. Tags können importiert, exportiert, hinzugefügt, gelöscht und umbenannt werden. Über das Bedienfeld werden Tags auf Textrahmen angewendet – der Rahmen erhält dann die Farbe des Tags, sodass man die Zuordnung im Layout sofort sieht.

Der entscheidende Schritt: Tags zu Formaten zuordnen

XML-Inhalt trägt keine Information über sein Aussehen – Inhalt und Form sind getrennt. Damit jedes Tag trotzdem Schriftart und -größe bekommt, muss es über das Menü des Tags-Bedienfelds einem Absatzformat zugeordnet werden (möglich sind auch Zeichen-, Tabellen- und Zellenformate). Diese Zuordnung muss unbedingt in beide Richtungen erstellt werden: „Tags zu Formaten zuordnen …" und „Formate zu Tags zuordnen …".

Praxistipp: Sind Absatzformate und Tagnamen identisch benannt, lassen sich die Formate und Tags sehr leicht nach Namen zuordnen und es entstehen keine Zuordnungsfehler. Das muss aber schon bei der Dateianlage bedacht werden.

Zwei Wege zum fertigen Layout

Weg 1 – Die XML-Daten werden als fertige XML-Datei importiert, die vollständig in einem XML-Editor aufbereitet wurde. Dateistruktur und Dateiinhalt sind dabei völlig unabhängig von InDesign. Das InDesign-Dokument muss die entsprechenden Formate und Tags dafür aufweisen. Typisch, wenn fertige XML-Dateien vom Kunden vorliegen.

Weg 2 – Die XML-Daten werden aus einer aufbereiteten InDesign-Musterdatei exportiert, mit den Inhalten gefüllt und zurückimportiert. Die InDesign-Datei übernimmt die aktualisierten Daten und kann sie korrekt formatiert weiterverarbeiten.

Übung · Visitenkarten-Workflow sortieren

Sieben Schritte, eine richtige Reihenfolge

Es sollen Visitenkarten mit vier Nutzen entstehen, in die vier verschiedene Adressen aus einer XML-Datei importiert werden. Tippe die Arbeitsschritte in der richtigen Reihenfolge an.

Zwei Stolperfallen aus der Praxis

• Für jede Information der Visitenkarte braucht es einen eigenen Textrahmen – nur so lässt sich der Rahmen einem Tag zuordnen und der Inhalt landet an der richtigen Stelle.
• Die Textrahmen dürfen nicht verkettet sein, sonst läuft der importierte Text durch.

🏆 Prüfungs-Trainer

Fragen aus allen Bereichen

Prolog, Tag-Regeln, Attribute, Sonderzeichen, Wohlgeformtheit, Validität, DTD und InDesign – in zufälliger Reihenfolge, endlos.

Serie
0
Bestserie
0