home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

XML - Eine kurze Wiederholung

XML steht für eXtensible Markup Language und stellt einen plattformübergreifenden Standard dar, um Daten zur repräsentieren. Die Semantik der Daten wird über Tags ausgezeichnet (Markup = (Text-) Auszeichnung).

 

<buch>
<autor>Schwanitz</autor>
<titel>Bildung</titel>
</buch>

 

XML unterscheidet sich von HTML, einer anderen Markup Language, dadurch, dass die Tags frei definiert werden können und keine Formatierungsanweisungen darstellen.

Wichtige Eigenschaften von XML sind:

     

  • Lesbarkeit durch Menschen und Computer
  • Erweiterbarkeit
  • Hierarchischer Aufbau
  • Trennung von der Darstellung
  • Standardisiert,
  • Anerkannt und durch alle großen Hersteller unterstützt
  • Nicht proprietär
  • Wohlgeformt
    •  

    • Genau ein Wurzelelement
    • Zu jedem öffnenden Tags gibt es ein schließendes
    • Tags überlappen sich nicht
    • Attribute werden in doppelte Anführungszeichen gesetzt
    • Kommentare werden gekennzeichnet durch <!-- ... -->
    • Sonderzeichen wie die spitzen Klammern müssen "escaped" werden (z.B. &lt;)

Parsen von XML Dokumenten

Es gibt zwei Mechanismen, XML-Dokumente zu analysieren, mittels SAX- und mittels DOM-Parsern.

1. SAX Parser

SAX steht für Simple Api for XML Processing. Diese Klasse von Parsern liest das XML Dokument sequenziell ein. Sobald ein Bestandteil des Dokuments erkannt wird, beispielsweise ein öffnendes oder schließendes Tag oder ein Attribute, wird ein Event erzeugt, welches dann von eine Applikation verarbeitet werden kann. Dadurch, dass der Parser das Dokument weder vollständig einlesen noch im Speicher behalten muss, eignet sich das SAX-Parsing vorallem für große Dokumente, die schnell zu verarbeiten sind.

 

2. DOM Parser

DOM steht für Document Object Model. Wie der Name bereits andeutet, baut der DOM-Parser ein Objektmodell des XML-Dokuments auf, welches die gleiche hierarchische Struktur hat. Innerhalb dieser Struktur kann dann über Methoden wie getParentNode(), getNodeType(), getChildNodes() in diesem Baum traversiert (navigiert) werden. Damit eignet sich das DOM-Parsing vor allem für Anwendungen, bei denen die hierarchische Struktur entscheidend ist und bei denen gezielt und mehrfach auf diese Strukturen zugegriffen werden soll.