dbs 04 blank.ppt [kompatibilit tsmodus])

51
Michael Frank HTWK-Leipzig, 2018 DBS DTD für XML (II), SAX und DOM 30.10.2018/1 Dokumentbeschreibungs- sprachen DTD für XML (II) SAX und DOM

Upload: others

Post on 01-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/1Dokumentbeschreibungs-sprachenDTD für XML (II)SAX und DOM

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/2Fortsetzung: DTD

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/3Dokument-ReferenzenDokument-Referenzen ID bzw. IDREF, IDREFS werden eingesetzt, um die Beziehung von Elementen zueinander, also die Datenlogik zu kontrollieren.Beispiel:Auslieferungstouren eines Lieferservice,jede Tour macht genau ein Auto und Fahrer,Doppelplanungen sollen verhindert werden,ebenso der Einsatz von defekten Autos und von Fahrern im Urlaub.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/4Dokument-Referenzen<!-- Tourenplan.dtd --><!ELEMENT tourenplan (auto+, fahrer+, tour*)><!ELEMENT auto (#PCDATA)><!ELEMENT fahrer (#PCDATA)><!ELEMENT tour (#PCDATA)><!ATTLIST auto kennzeichen ID #REQUIRED ><!ATTLIST fahrer pers_nr ID #REQUIRED ><!ATTLIST tourauto IDREF #REQUIREDfahrer IDREFS #REQUIRED >

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/5Dokument-Referenzen<?xml version="1.0" encoding="ISO-8859-15" standalone="no" ?><!-- Bspl034.xml --><!DOCTYPE tourenplan SYSTEM "Tourenplan.dtd"><tourenplan><auto kennzeichen="K-L9999"></auto><auto kennzeichen="K-L8888"></auto><fahrer pers_nr="P15">Müller</fahrer><fahrer pers_nr="N13">Meier</fahrer><fahrer pers_nr="P8">Schulze</fahrer><tour fahrer="P15" auto="K-L8888"></tour><tour fahrer="N13 P8" auto="K-L9999"></tour></tourenplan>

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/6Attribute als TokenMit der Zuweisung des Datentyps NMTOKENbzw. NMTOKENS beschränkt man die Werte von Attributen auf diejenigen Zeichenketten, die als Elementnamen vorkommen dürfen. (Siehe erste Vorlesung.)Es gibt noch die Datentypen ENTITY bzw. ENTITIES und NOTATION bzw. NOTATIONSfür Attribute – bitte schlagen Sie die letzteren selbst nach.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/7Referenzen in DTDs definieren

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/8Allgemeine ReferenzenAllgemeine Referenzen bzw. Zeichen-Entities sind dazu da, einen Text- bzw. Datenstring in XML-Dokumenten durch ein Synonym der Form &name; zu ersetzen, wo immer das erlaubt ist.Allgemeine Referenzen sind Platzhalter.Bezeichnungen von Elementen bzw. Attributen in XML-Dokumenten dürfen nicht durch allgemeine Referenzen / Entities ausgedrückt werden. Das ergibt Gültigkeitsfehler. [ausprobieren!]

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/9Allgemeine Referenzen<?xml version="1.0" encoding="ISO-8859-15" standalone="no" ?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" [<!ENTITY auml "&#228;"><!ENTITY Auml "&#196;"><!ENTITY ouml "&#246;"><!ENTITY Ouml "&#214;"><!ENTITY uuml "&#252;"><!ENTITY Uuml "&#220;"><!ENTITY szlig "&#223;">]><html>Deutsche Umlaute &auml;, &ouml;, &uuml; und &szlig; sind kein Problem.</html>

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/10Allgemeine ReferenzenAllgemeine Referenzen finden auch für Standard-angaben in Kopfbögen Verwendung, z.B. für die vorgeschriebenen Angaben zu Kenndaten von Firmen in den abgetrennten Fußzeilen.Man kann so eine Menge von Vorlagen im Intranet pflegen, indem man sie in XML programmiert und per externer, einheitlicher DTD konfiguriert. Die Druckversion wird dann mit CSS‘ bzw. XSLs bereitgestellt.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/11Beispiel<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE book SYSTEM "../docbookx.dtd"[<!ENTITY kapitel0 SYSTEM "./kapitel0.xml"><!ENTITY kapitel1 SYSTEM "./kapitel1.xml">...]><book><bookinfo/><chapter><title>Einleitung</title>&kapitel0;</chapter>...........

HTML5https://www.w3.org/TR/html5/syntax.html#named-character-referencesAuch in HTML5 sind die für HTML4 und eher definierten allgemeinen Referenzen noch gültig.Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/12

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/13Parameter-ReferenzenParameter-Referenzen bzw. -Entities sind Platzhalter für wiederkehrende Zeichenketten in der Definition von Elementen, Element-Substrukturen und Element-Attributen – einschließlich der Namen dieser Strukturen.Bedingung ist jedoch, dass die Parameter-Referenz in einer externen DTD definiert wird, sonst kann man sie nicht verwenden.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/14Beispiel<!-- externe DTD htmlalign.dtd --><!ENTITY % heading "H1 | H2 | H3 "><!ENTITY % align "align (left | center | right) #IMPLIED"><!ELEMENT html ((%heading;) | P | TD)*><!ELEMENT H1 (#PCDATA)><!ATTLIST H1 %align;><!ELEMENT H2 (#PCDATA)><!ATTLIST H2 %align;><!ELEMENT H3 (#PCDATA)><!ATTLIST H3 %align;><!ELEMENT TD (#PCDATA)><!ATTLIST TD %align;><!ELEMENT P (#PCDATA)><!ATTLIST P %align;> Leerschritt ja/nein

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/15Auszug aus SMIL 2.0<!-- == SMIL 2.0 Timing Elements == --> <!ENTITY % SMIL.BasicTimeContainers.module "IGNORE"> <![%SMIL.BasicTimeContainers.module;[ <!ENTITY % SMIL.par.content "EMPTY"> <!ENTITY % SMIL.seq.content "EMPTY"> <!ENTITY % SMIL.par.attrib ""> <!ENTITY % SMIL.seq.attrib ""> <!ENTITY % SMIL.seq.qname "seq"> <!ENTITY % SMIL.par.qname "par"> <!ELEMENT %SMIL.seq.qname; %SMIL.seq.content;> <!ATTLIST %SMIL.seq.qname; %SMIL.seq.attrib; %Core.attrib; %I18n.attrib; %SMIL.Description.attrib; > <!ELEMENT %SMIL.par.qname; %SMIL.par.content;> <!ATTLIST %SMIL.par.qname; %SMIL.par.attrib; %Core.attrib; %I18n.attrib; %SMIL.Description.attrib; > ]]> <!-- End of BasicTimeContainers.module -->

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/16Weiteres BeispielMan kann auch ganze DTDs als Parameter-Referenz definieren und dann neue DTDs aus fertigen DTD-Modulen zusammenfügen:<!ENTITY % modul1 SYSTEM "DTD_Modul1.dtd"><!ENTITY % modul2 SYSTEM "DTD_Modul2.dtd">%modul1;%modul2;Beachten: Keine Doppelungen von Definitionen!

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/17Externe EntitiesEine weitere Möglichkeit, Entities zu definieren, ist der Verweis auf externe binäre oder XML-Dateien. Die Zuweisung der Notation NDATA zu einer Entität gibt das Signal, dass die Daten innerhalb der Grenzen von XML nicht interpretierbar sind.Der Parameter „Dateiname“ gibt den Namen bzw. den URI der externen Datei an.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/18Externe Entities<?xml version="1.0" encoding="ISO-8859-15" ?><!DOCTYPE bildergalerie [<!NOTATION gif89a SYSTEM "GIF"><!ENTITY bild1 SYSTEM "images/bild1.gif" NDATA gif89a><!ENTITY bild2 SYSTEM "images/bild2.gif" NDATA gif89a><!ELEMENT bildergalerie (img)+><!ELEMENT img EMPTY><!ATTLIST img src ENTITY #IMPLIED>]><bildergalerie><img src="bild1"/><img src="bild2"/></bildergalerie>

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/19Weitere Struktur-DeklarationenRelaxNG (2002 – jetzt)de.wikipedia.org/wiki/RelaxNGDocument Structure Description (2002)de.wikipedia.org/wiki/Document_Structure_DescriptionSchematron (2002 – jetzt)de.wikipedia.org/wiki/SchematronXML Schema Definition später in dieser Vorlesung

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/20DOM und SAX

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/21Document Object Model (DOM)Programmierschnittstelle zum Zugriff auf XML-und HTML-Dokumente- In IDL (Interface Description Language) spezifiziert- In verschiedenen Sprachen implementiert (JAVA, C++, .NET, u.a.)- Erstellen eines Modells des XML-Dokuments- Standardmethoden zum Auslesen, Einfügen, Löschen, Ersetzen von Knoten und zur Navigation zwischen den Knoten vorhanden

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/22Document Object Model (DOM)Prinzip von DOM- Zuerst das XML-Dokument parsen.- Eine interne DOM-Baumstruktur aus dem Ergebnis aufbauen, nach Vorschriften.- Die Applikation greift zur Navigation auf diese interne Repräsentation als Baum zu, anstatt auf das Dokument selbst.- Methoden des DOM greifen dann auf das XML-Dokument selbst zu.- Erfolgreiche Änderung der XML-Datei DOM ok

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/23Spezifikation von Java-DOMJava-DOM

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/24DOM-Prinzip[TU Dresden, Informatik]

Beispiel<?xml version="1.0" encoding="ISO8859-1" standalone="yes"?> <!-- Ein Kommentar --> <Planet name="Jupiter"> <Durchmesser Einheit="km" Wert="142984"/> <Mond name="Io"> <Durchmesser Einheit="km" Wert="3642"/></Mond> <Mond name="Europa"> <Durchmesser Einheit="km" Wert="3138"/> Europa- ein Wasserplanet ? </Mond> <Mond name="Ganymede"> <Durchmesser Einheit="km" Wert="5262"/> </Mond> <Mond name="Callisto"> <Durchmesser Einheit="km" Wert="4800"/> </Mond> </Planet>Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/25

BeispielMichael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/26

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/27Simple API for XML (SAX)• Ereignisorientierter Zugriff auf XML-Dokumente• SAX beschreibt Schnittstellen für XML-Parser, es liefert aber keine Parser-Implementierung mit.• In verschiedenen Sprachen implementiert (JAVA, C++, Perl, Python, Visual Basic, .NET u.a.)

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/28Simple API for XML (SAX)Prinzip von SAX:- Die Anwendung „abonniert“ Knoten eines bestimmten Typs.- Das Parsen des Dokuments beginnt.- Trifft der Parser auf einen Knoten vom „abonnierten“ Typ, so wird das der Anwendung immer mittels Callback mitgeteilt, diese reagiert.- D.h. ereignisorientierte Interaktion zwischen Applikation und XML-Dokument.- Ende der Prozedur muss definiert sein.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/29Spezifikation von Java-SAXJava-SAX

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/30SAX-Prinzip[TU Dresden, Informatik]

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/31SAX versus DOMVorteile von SAX gegenüber DOM- SAX muss XML-Dokumente nicht komplett im Speicher halten- SAX ist gegenüber DOM ressourcensparenderNachteile von SAX gegenüber DOM- Bei DOM bleibt durch die Baumerstellung die Struktur des XML-Dokumentes im Zugriff- SAX ermöglicht keine direkte Dokumentänderung

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/32SAX versus DOM• SAX ist „hierarchieblind“, d.h. es gibt keine Informationen darüber, in welcher Ebene der Parser sich gerade befindet• SAX erfordert direktes Reagieren beim Parsen, nach dem Parsen ist das Dokument vergessen• SAX bietet keinen wahlfreien Zugriff, da keine interne Repräsentation aufgebaut wirdFAZIT: SAX und DOM sind komplementäre Techniken, die sich ergänzen

StAX für JavaStreaming API for XML (StAX) ist ein ApplicationProgramming Interface (API), um XML-Dateien mit Java zu verarbeiten. In der StAX-Metapher ist der programmatische Einstieg ein Cursor, der eine Stelle im Dokument repräsentiert. Die Anwendung bewegt den Cursor vorwärts, sie holt also die benötigte Information genau dann vom Parser, wenn sie benötigt wird.Das Iterator-Verfahren liefert die Daten in Form von Objekten, die von der Klasse XMLEvent abgeleitet sind. neue Objektklasse, aber Performanz leidetMichael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/33

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/34FeinabstimmungenZusätze

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/35Die XML-DeklarationEs ist möglich, bei XML-Dokumenten, die sich in einem bestimmten Sprachraum von den Daten her bewegen, statt der Kodierung der Sonderzeichen der Sprache den Zeichensatzfestzulegen:<?xml version="1.0" encoding="ISO-8859-1"?><?xml version="1.0" encoding="UTF-16"?>Diese, oder eine ähnliche Zeile muss man als erste Zeile des XML-Dokuments einfügen.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/36Die XML-DeklarationDie XML-Deklaration beginnt mit <?xml und endet mit ?> .Dazwischen stehen hier zwei Angaben:• Versionsangabe 1.0 . Möglich ist derzeit auch 1.1 .• Kodierungsverfahren ISO-8859-1 u.a. für Deutsch (Westeuropäisch). Das Kodierungsverfahren kann fehlen, aber bei Vorhandensein muss es als zweites benannt werden.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/37Die XML-DeklarationEs gibt u.a. noch folgende Deklarationen:UTF-8 „8 Bit Zeichenbreite“ Unicode(Standard; heute erweitert)UTF-16 „16 Bit Zeichenbreite“ UnicodeWindows-1252 ANSI-Zeichensatz Latin-1ISO-10646-UCS-2 feste Zeichenbreite 2 ByteISO-10646-UCS-4 feste Zeichenbreite 4 ByteDer Editor zeigt dann den Code korrekt an.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/38Beispiel<!--Bspl002.xml--><?xml version="1.0" encoding="ISO-8859-1" ?><artikel> <!--1--><titel>XML</titel> <!--2--><untertitel>Extensible Markup Language von Anfang an</untertitel> <!--3--><absatz> <!--4-->XML ist, wie so viele Namen in der Informationstechnologie, eine Abkürzung und steht für Extensible Markup Language, was zu deutsch so viel wie erweiterbare Markierungssprache heißt.Diese Sprache ist keine Programmier-, sondern eine Beschreibungssprache.Genauer gesagt, handelt es sich um eine Metasprache, das heißt, eine Sprache zur Beschreibung von Sprachen.</absatz><autor>Helmut Erlenkötter</autor> <!--5--></artikel>

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/39Die LeerraumbehandlungAlle Leerräume (Leerschritte, Tabulatoren, Zeilenumbrüche) haben eine Bedeutung in XML!Die Interpretation dieses Leerraums bleibt der Anwendung überlassen –so wird bei der Übertragung von XML in HTML der Leerraum exakt übergeben, aber vom Browser anders interpretiert.Datenbanken hingegen speichern die Strings mit allen Leerräumen ab.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/40Die LeerraumbehandlungBedingt Einfluss auf die Leerraumbehandlung in einem XML-Element kann man durch eine Attributangabe für das Element nehmen:<absatz xml:space="preserve"> ... </absatz>Mögliche Werte sind: preserve Leerräume unbedingt erhaltendefault Leerräume dürfen verändert werdenOb die Anwendung darauf reagiert – ist offen!

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/41FremdsprachenunterstützungEin weiteres Attribut von Elementen (und alle ihre Unterelemente im Baum) zeigt die Sprache an, in der die Daten aufzufassen sind:<absatz xml:lang="en"> ... </absatz>Ob dieses Attribut von der Anwendung berück-sichtigt wird, liegt ganz allein an der Anwendung.Man beachte: Das Kürzel xml: bezeichnet einen Namensraum von XML!

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/42FremdsprachenunterstützungDie wichtigsten Codes für dieses Attribut sind:• Codes wie de, en, fr, nl, es und andere nach ISO 639• Subcodes nach ISO 3166 - de-GE, de-AT• IANA-Codes mit Präfix I- und i-• Benutzercodes mit Präfix X- oder x-Browser bieten eine Auswertung dieses Attributs bei der Anzeige der Daten. Ob der neueste W3C-Standard unterstützt wird, ist fraglich.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/43Unkontrollierte BereicheZur Speicherung von Informationen in XML, die nicht den Konventionen von XML genügen, aber nicht verändert werden dürfen, gibt es CDATA-Sektionen (Character Data).Diese Sektionen dürfen nicht das Zeichen ]] ent-halten, da es als Abschlusszeichen reserviert ist. Eine Kodierung dieses Zeichen funktioniert nicht, da die Kodierung unverändert weiter-gegeben würde. Es wird ja dort nicht geparst.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/44Beispiel<?xml version="1.0"?><dokument><![CDATA[Leerzeichen ( ), Zeilenumbrücheund spezielle Zeichen wie <, > und & machen hier keine Probleme.]]></dokument>Die CDATA-Sektion kann nahezu immer eingesetzt werden, außer in Attributen.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/45VerarbeitungsinstruktionenXML kann Anweisungen für (exakt bestimmte) Anwendungen in XML-Dokumenten speichern –wenn diese Anwendungen sie lesen können.Die Bezeichnung ist PI – Processing Instructions.<?xml version="1.0"?><?microsoft-foo debug="no" output="print"?><dokument>....</dokument>

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/46Darstellung von XML-Dokumenten im XML-Browser

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/47Darstellung von XML im BrowserEs gibt eine einfache Möglichkeit, XML-Dokumente in HTML-Form im Browser zur Ansicht zu bringen – Cascading Style Sheets (CSS).Neben dem scheinbaren Vorteil der Mühelosigkeit hat die Methode gravierende Nachteile:• Es können nur alle XML-Elemente unsortiertangezeigt werden, ohne Wiederholungen.• Eine Reihe von CSS-Kommandos ist in Browsern nicht implementiert worden. Für XML gehört der Extensible Stylesheet Language (XSL) die Zukunft.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/48SchwerpunktsetzungEs wird hier keine umfassende Darstellung aller Möglichkeiten von CSS für XML geboten.Ziel ist es, überhaupt XML-Dokumente im Browser erst einmal zur Ansicht zu bringen und in HTML-Seiten mit einbauen zu können.Es geht also um zu beachtende Regeln und um Warnungen vor Schwierigkeiten.

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 28.10.2010/49Dante:Laßt also, die ihr herein gehet, laßt alle Hoffnung fahren!Göttliche Komödie,Hölle, 3. Gesang

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/50Quellen• P. Reusch, „XML – Extensible Markup Language“, PPT-Vorlesung Teil 2, FH Dortmund; www.wirtschaft.fh-dortmund.de/~reusch/progdown.html#xml• H. Erlenkötter, „XML – Extensible Markup Language von Anfang an“, Rowohlt Taschenbuch Verlag, Reinbek bei Hamburg, 2001/2003.• G. Born, „Jetzt lerne ich XML“, Verlag Markt+Technik, München, 2001.• Zu SAX und DOM in Java: www.uzi-web.de/parser/parser_toc.htm• Vorlesungsausschnitt zu XML, DOM und SAX: www.jeckle.de/vorlesung/xml/script.html#DOM

Michael FrankHTWK-Leipzig, 2018 DBSDTD für XML (II), SAX und DOM 30.10.2018/51Vielen Dank für Ihre Aufmerksamkeit –bis demnächst.