AP2Lernhub
Niedrig

XML validieren (DTD, XSD)

Wohlgeformtheit vs. Gültigkeit, DTD vs. XSD.

Warum Priorität „Niedrig"? Selten oder als Randthema (unter 40%). Überblick reicht meist.

Lernziele

  • Wohlgeformt und gültig auseinanderhalten
  • DTD und XSD vergleichen
  • Namespaces und Parser-Typen einordnen

Zwei Validierungs-Ebenen

  • Wohlgeformt: genau ein Wurzelelement, korrekt geschachtelt/geschlossen, Attributwerte in Anführungszeichen.
  • Gültig (valide): zusätzlich konform zu einem Schema (DTD oder XSD).

Gültig setzt wohlgeformt voraus – nicht umgekehrt.

DTD vs. XSD

DTDXSD
Syntaxeigene Grammatikselbst XML
Datentypennur CDATA / PCDATAstarke Typen (int, date, …)
Namespacesnicht unterstütztja
Kardinalitäteneinfach (?, +, *)minOccurs/maxOccurs
WiederverwendungbegrenztRestriction / Extension
xmlbuch.xml
<buch xmlns="http://ap2.de/buch">
  <titel>AP2</titel>
  <jahr>2026</jahr>
</buch>
xmlbuch.xsd (Ausschnitt)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://ap2.de/buch"
           xmlns="http://ap2.de/buch"
           elementFormDefault="qualified">
  <xs:element name="buch">
    <xs:complexType><xs:sequence>
      <xs:element name="titel" type="xs:string"/>
      <xs:element name="jahr"  type="xs:gYear"/>
    </xs:sequence></xs:complexType>
  </xs:element>
</xs:schema>

Parser

  • DOM: Baum im Speicher, wahlfreier Zugriff – bei großen Dokumenten speicherintensiv.
  • SAX: ereignisbasiert, streamend – speichereffizient.

Übungen

Eine AntwortWann ist ein XML-Dokument «gültig»?

Eine AntwortWelcher Vorteil hat XSD gegenüber DTD?

Verwandte Themen