Lehrer Nussbaumer - XML, XSL et cetera

XML

XSL

Anwendungen 

Editoren

Parser u.a.

Schnittstellen

  1. DOM
  2. SAX
  3. PHP und XML

-----------------
letzte änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

DOM

Ein DOM-Parser stellt eine XML-Datei vollständig in Form eines Baumes dar, sobald die Überprüfung der XML-Datei auf syntaktische Fehler keinen Fehler ergeben hat.

XML-Dateninsel

Eine XML-Datei kann dem DOM gemäß in eine HTML-Datei eingebettet werden - Beispiel

<body>
  <h3>XML-Dateninsel</h3>
  <xml>
    <?xml version ="1.0" econding="iso-8859-1"?>
	<?xml-stylesheet href="xmldateninsel.css" type="text/css"?>
    <themen>
      <thema name="dom">
        <kapitel>Einleitung</kapitel>
        <kapitel>Grundlagen</kapitel>
        <kapitel>Beispiele</kapitel>
      </thema>
      <thema name="sax">
        <kapitel>Einleitung</kapitel>
        <kapitel>Grundlagen</kapitel>
        <kapitel>Unterschiede zum DOM</kapitel>
        <kapitel>Beispiele</kapitel>
      </thema>
    </themen>
  </xml>
</body>

Da die Ausgabe für den Browser nicht formatiert ist, muss eine entsprechende Stylesheet-Definition verwendet werden. Da viele HTML-Browser das Ergebnis nicht anzeigen, ist es notwendig, die XML-Daten mit Hilfe von Script-Befehlen auszuwählen und anzuzeigen.

XML-Elemente mit JavaScript ausgeben

Wir verwenden DOM-Funktionen innerhalb der Skriptsprache JavaScript. Zuerst wählen wir mit der DOM-Funktion getElementsByTagName("XML") alle XML-Dateninseln aus: Test (Funktioniert leider nicht mit allen Browsern).

<html>
<head>
  <title>DOM-Beispiele</title>
  <meta name="GENERATOR" content="Quanta Plus">
  <link rel="stylesheet" type="text/css" href="../flessinf.css" />
  <script language="JavaScript">
  <!--
  function ausgabe() {
    var root = document.getElementsByTagName("XML")[0].documentElement;
	if (root == null) {alert ("nixda")}
	else {alert ("Name des Wurzelelements: ");}
  }
  //-->
</script>
</head>
<body>
  ...

Die Funktion getElementsByTagName("XML") wird auf das aktuelle Dokument angewendet - sie liefert alle XML-Dateninseln zurück. Mit dem Index 0 wird der erste dieser Treffer ausgewählt; das documentElement bezeichnet das Wurzelelement.

DOM-Funktionen

In der folgenden Tabelle werden einige, ausgewählte DOM-Funktionen beschrieben:

Funktion Beschreibung
documentElement Liefert das Wurzel-Element einer XML-Datei
getElementsByTagName(name) Liefert eine Liste aller Knoten, die zum angegebenen Namen passen
hasAttribute(name) Prüft, ob das Element eine Attribut mit dem angegebenen Namen besitzt und liefert ggf. "true" zurück; andernfals "false"
wurzel.childNodes.length Anzahl der Kindknoten vom Wurzelelement
wurzel.childNodes.item(i) Wählt den i.-ten Knoten aus der Kindknotenliste
wurzel.childNodes.item(3).childNodes.item(1) Wählt den ersten Knoten in der Kindknotenliste aller 3. Knoten der Kindknotenliste vom Wurzelelemtn.
.firstChild Erster Kindknoten in einer Knotenliste
nodeValue Liefert den Wert des Knotens
createAttibute(attributname) Erzeugt einen Attributknoten mit dem angegebenen Namen
importNode(importedNode, deep) Fügt einen Knoten aus einem anderen Dokument ein
appendChild(neuer_Knoten) Der neue Knoten wird als letzter Kindknoten an den letzten Knoten angefügt
insertBefore(neuer_Knoten, Knoten) Fügt vor dem angegebenen Knoten einen neuen Knoten ein
removeChild(Knoten) Entfernt den angegebenen Knoten aus der Knotenliste

Da zur Zeit nur der Internet-Explorer (Microsoft) DOM-Befehle mittels JavaScript verarbeiten kann, ist es jedenfalls günstiger, beispielsweise DOM-Funktionen mit der Programmiersprache JAVA kennen zu lernen...


© Alfred Nussbaumer, Weblog