Fragen und Antworten

   
Haupttext  
XML-Syntax  
Glossar  
 
 
   

Was ist XML?

XML ist eine Metasprache für das Definieren von Dokumenttypen. Anders gesagt: XML liefert die Regeln, die beim Definieren von Dokumenttypen angewendet werden.

Und was ist ein Dokumenttyp? Von Dokumenten, die ähnlich strukturiert sind, sagt man, daß sie demselben Dokumenttyp angehören. Beispielsweise gehören alle HTML-Dokumente dem Dokumenttyp HTML an.

Letztlich ist das die Grundidee von XML: Man sorgt dafür, daß es Dokumente gibt, die alle in ihrem Aufbau gewissen Grundmustern folgen. Wenn diese Grundmuster eingehalten werden,  dann läßt sich mit den Dokumenten mehr anfangen als wenn jedes Dokument eigenen Regeln folgt. Denn es ist dann möglich, Programme zu schreiben, die die Dokumente automatisch verarbeiten.
 

Was ist eine DTD? Wozu werden DTDs gebraucht?

Dokumenttyp-Definitionen (DTDs) spielen in XML eine wichtige Rolle. In einer DTD werden Struktur-merkmale für Dokumente festgelegt. Zum Beispiel wird festgelegt, welche Elementtypen in den Dokumenten verwendet werden können. Die DTD liefert außerdem Vorgaben dafür, wie Elemente ineinander verschachtelt werden können, und es wird auch angegeben, welche Attribute zu welchen Elementen gehören und welche Attributwerte jeweils zulässig sind.

DTDs haben diese beiden Hauptfunktionen: Sie sagen den Verfassern  von Dokumenten, welche Strukturen es in den Dokumenten geben muß. Und den Programmierern sagen sie, auf was ihre Programme "sich gefaßt machen müssen".

Wer die XML-Syntax kennt, erfährt durch Lesen einer DTD, welche Datenstrukturen es in den Dokumenten des entsprechenden Dokumenttyps gibt.

DTDs haben auch schon im Rahmen von HTML eine Rolle gespielt. In den DTDs für HTML ist festgelegt, daß innerhalb eines <UL>-Elements <LI>-Elemente auftauchen können, daß <IMG>-Elemente ALT-Atribute enthalten können und so weiter. Da es von HTML mehrere Versionen gibt, sind auch mehrere DTDs für HTML entstanden.

Im Rahmen von SGML ist es vorgeschrieben, daß jedes Dokument auf eine DTD ausgerichtet wird. Mit XML kommt an diesem Punkt mehr Freiheit ins Spiel. XML erlaubt auch Dokumente, die keinen Verweis auf eine DTD enthalten. Die Angaben, die ein Parser üblicherweise aus der DTD holen würde, muß der Parser dann beim Einlesen des Dokuments ermitteln.

Damit ein XML-Parser auf eine DTD zugreifen kann, muß sie entweder auf dem lokalen Rechner verfügbar sein, oder aber sie muß über das Netz abrufbar sein.
 

Es wird gesagt, daß XML im Gegensatz zu HTML erweiterbar ist. Was hat es damit auf sich?

Wenn gesagt wird, daß XML erweiterbar ist, dann kann das irreführend sein, denn in erster Linie liefert XML eine Syntax (= eine Reihe von Regeln), mit der sich Dokumenttypen definieren lassen.
Diese Reihe von Regeln ist in der XML-Spezifikation festgelegt, und niemand wird behaupten, daß die XML-Spezifikation auf einfache Weise erweitert werden könnte. (Es sind umfangreiche Beratungen von Gremien und ein aufwendiger Entscheidungsfindungsprozeß nötig, wenn etwas verändert werden soll.)

Was also ist mit der Erweiterbarkeit gemeint? Gemeint ist das Gesamtgebäude von Auszeichnungssprachen, das auf der Grundlage von XML geschaffen wird. Es ist jederzeit möglich, dieses Gesamtgebäude durch Hinzufügen von neuen Auszeichnungssprachen zu erweitern.

Gemeint ist auch, daß Firmen und Institutionen für das eigene Intranet eigene DTDs entwickeln können. Und zuletzt ist auch gemeint, daß es im Prinzip möglich ist, Tags in die eigenen Dokumente zu setzen, die nirgendwo vorher deklariert wurden. (Wie die zugehörige Praxis aussehen kann, läßt sich allerdings bisher nicht absehen.)

Im wesentlichen wird es dabei bleiben, daß es für den Web-Designer Listen gibt, in denen aufgelistet ist, welche Tags in den Dokumenten verwendet werden können.
 

Wie hängen XML, SGML und HTML zusammen?

SGML ist eine Metasyntax, mit der Auszeichnungssprachen
(= Dokumenttyp-Definitionen) definiert werden. Unter all den Auszeichnungssprachen, die  mit SGML definiert wurden, ist HTML diejenige, die die größte Verbreitung gefunden hat.

XML ist eine verkürzte Version von SGML. Die komplexeren und weniger genutzten Teile von SGML wurden weggelassen, so daß es nunmehr leichter ist, verarbeitende Programme zu schreiben.

Bisher hatte HTML SGML als Grundlage. Zukünftig wird HTML XML als Grundlage haben. Wer Web-Design lediglich als Hobby betreibt, wird von dieser Umstellung möglicherweise überhaupt nichts bemerken.
 

Wird XML HTML ersetzen?

Die Antwort lautet eindeutig: "Nein". HTML hatte bisher SGML als Grundlage. Zukünftig wird XML die Grundlage bilden. HTML verändert sich, ersetzt wird es jedoch nicht.
 

Warum soll man im Internet XML-Dokumenttype nutzen? Warum nimmt man dafür nicht einfach das Rich Text Format (RTF) oder das Datenformat von Winword?

Ein Dokumenttyp, der zu einem Standard-Dokumenttyp im Internet werden soll, muß zwei Bedingungen erfüllen: Er muß Plattform-übergreifend zur Verfügung stehen, und er darf nicht im Besitz einer einzelnen Firma sein. RTF und das Winword-Format erfüllen diese Bedingungen nicht.

Eine andere Frage jedoch ist sehr aktuell: Warum sollten die Office-Programme nicht mit XML-Dokumenttypen arbeiten? Die gängigen Office-Programme sind so eingerichtet, daß sie mit mehreren Dokumenttypen umgehen können, und man kann sich darauf einstellen, daß sie zukünftig auch XML-Formate unterstützen werden.

Was mit XML angestrebt wird - läßt sich das denn nicht erreichen, indem man HTML entsprechend erweitert?

Wer HTML mit XML vergleicht, vergleicht Äpfel mit Apfelbäumen. XML ist keine Auszeichnungssprache wie HTML. XML liefert die Anleitung, wie man Auszeichnungssprachen  wie HTML definiert.

Da es weniger schwierig ist, Programme zu schreiben, die XML-basierende Dokumenttypen verarbeiten als Programme zu schreiben, die SGML-basierende Dokumenttypen verarbeiten, ist der Weg frei, daß neben HTML andere Dokumenttypen entstehen.
 

Wo wird man XML im Web einsetzen?

XML-Dokumenttypen können grundsätzlich überall zum Einsatz kommen, wo es Bedarf für Datenaustausch gibt.

In Dokumenten, die auf XML-DTDs ausgerichtet sind, können alle Arten von Daten übertragen werden. Das gilt für Daten über finanzielle Transaktionen, für Lieferungen von Nachrichten und Wetter-Informationen, für Krankendaten oder Daten aus juristischen Bibliotheken.

Sobald die Daten auf dem lokalen PC sind, können sie von Anwendungen verarbeitet werden und können dynamisch präsentiert werden.
 

Wie bringe ich meine vorhandenen HTML-Dateien dazu, mit XML zusammenzuarbeiten?

Die bisherigen Browser waren ausschließlich auf HTML ausgerichtet. Die zukünftigen Browser werden HTML lediglich als ein Dokumenttyp unter vielen betrachten. Und für jeden Dokumenttyp wird es einige Grundregeln geben, die beachtet werden müssen, damit der Browser ein Dokument als "wohlgeformt" betrachtet und bereit ist, es zu verarbeiten. Wer auf der sicheren Seite sein will, der stellt sich heute schon auf die Punkte ein, an denen die XML-basierten Browser strenger sein werden als ihre Vorgänger:

(1) Auf jeden Start-Tag muß ein Ende-Tag folgen. Es ist bei bisherigen HTML-Dokumenten durchaus üblich, <P>-Tags oder <LI>-Tags ohne nachfolgenden Ende-Tag zu setzen.

(2) Einen Sonderfall stellen die "leeren Elemente" dar. Ein leeres Element ist ein Element, zu dem es keinen Ende-Tag gibt, weil es keine Zeichenfolge gibt, die durch die beiden Tags eingeschlossen würde. Man denke an Tags wie <BR>, <HR> oder <IMG>.

Jedes leere Element muß so abgeändert werden, daß es mit einem `/>' abgeschlossen wird, zum Beispiel so: <IMG SRC="bild.gif" alt="Bild"/> Es gibt allerdings HTML-Browser, die mit diesem abschließenden Schrägstrich nicht umgehen können. Besser ist daher die Variante, an das Ende des Elements einen Tag wie </IMG> zu setzen.

(3) Alle Attributwerte müssen in Anführungszeichen stehen.
 

Worin besteht der Unterschied zwischen SGML und XML?

Bei XML handelt es sich um eine vereinfachte Version von SGML; XML wurde so eingerichtet, daß die nützlichsten Teile von SGML erhalten bleiben. Weggelassen wurden die weniger gebräuchlichen und die sehr komplizierten Teile.

Während im Rahmen von SGML gilt, daß jedes Dokument auf eine Dokument-Typ-Definition (DTD) ausgerichtet sein muß, um von einem Parser akzeptiert zu werden, gibt es im Rahmen von XML das Konzept der Wohlgeformtheit. Bei der Prüfung auf Wohlgeformtheit wird kein Abgleich mit einer DTD durchgeführt.
 

Wenn XML einfach eine Untermenge von SGML ist, können dann also SGML-Tools direkt mit XML-Dateien umgehen?

Das ist richtig. Allerdings gibt es einige Voraussetzungen:
a) Es muß für das Dokument eine gültige DTD geben, anders gesagt: Das Dokument darf nicht einfach nur "wohlgeformt" sein.
b) Die SGML-Tools müssen einige wichtige Besonderheiten von XML kennen. Dazu gehört die besondere Form der leeren Elemente und einige Aspekte der XML-Deklaration.
 

In welcher Beziehung stehen HTML, CSS, Dynamisches HTML und XML zueinander?

Die Cacading Style Sheets sind Sammlungen von Formatierungs-Anweisungen. CSS ist ein Standard, der vom W3C abgesegnet wurde. Style Sheets lassen sich auf XML-Dokumente genauso anwenden wie auf HTML-Dokumente.

Beim Dynamischen HTML geht es darum, daß aus Web-Dokumenten Objekt-Modelle erstellt werden. Wenn ein Objekt-Modell erstellt wurde, kann mit einer Script-Sprache auf die Objekte zugegriffen werden. Dieses Verfahren ist zur Zeit (August '98) vom W3C noch nicht abgesegnet worden. Es gibt bisher nur proprietäre Lösungen - von Microsoft und von Netsacpe. Die Lösungen, an denen das W3C arbeitet, werden in gleicher Weise für das bisherige SGML-basierte HTML nutzbar sein wie für das XML-basierte HTML und ebenso auch für andere XML-Dokumenttypen.
 

Wie sind XML-Dokumente aufgebaut?

Was die grundlegende Struktur betrifft, ähneln XML-Dokumente sehr den bisherigen HTML-Dokumenten. Dies ist ein Beispiel für ein wohlgeformtes Dokument:
<?XML version="1.0" STANDALONE="YES"?>



<gespräch>



  <gruß>Hallo, Leute!</gruß>



  <antwort>Gleichfalls.</antwort>



</gespräch>
Sie können aber auch komplizierter sein und können einen verweis auf eine DTD enthalten. Es ist auch möglich, im Dokument Angaben zu liefern, durch die die DTD ergänzt wird.
 

Was brauche ich, damit ich XML nutzen kann?

Wer XML-Dokumente nutzen will, braucht einen XML-fähigen Browser. Man kann erwarten, daß alle wichtigen Browser zukünftig XML-Unterstützung bieten werden.

Wer XML-Dokumente erstellt, wird - wie schon bei HTML - vor der Wahl stehen, ob er seinen Quellcode auf direkte Weg  in eine Datei setzen will oder ob er einen speziellen XML-Editor verwenden will. Die XML-Editoren werden vorgeben, welche Elemente im Rahmen einer DTD genutzt werden können und werden anzeigen, welche Elemente als Sub-Elemente zu einem Element zulässig sind.
 

Was bedeuten die Begriffe 'DTDlos', 'gültig' und 'wohlgeformt'?

XML-Parser können im Gegensatz zu SGML-Parsern auch Dokumente verarbeiten, die nicht auf eine DTD ausgerichtet wurden. Wenn ein Parser für seine Arbeit mit dem Dokument nicht  die Informationen aus einer DTD nutzen kann und auch keine Dokument-internen Definitionen vorfindet, dann ermittelt er die Dokument-Struktur während er das Dokument einliest.

XML-Dokumente werden danach eingeteilt, in welchem Maße sie mit den alten SGML-Standards konform gehen. Ein "gültiges" Dokument verwendet eine DTD und verhält sich daher weitgehend wie herkömmliche SGML-Dokumente.

Ein DTDloses Dokument kann immerhin noch den Status eines wohlgeformten XML-Dokuments erlangen.

Die wichtigsten Regeln für Wohlgeformtheit:

(1) Das Dokument sollte mit einer XML-Deklaration beginnen. Beispiel:

(2) Alle Elemente, die einen Inhalt haben, müssen sowohl ein Start- als auch ein Ende-Tag haben.

(3) Alle Attribut-Werte müssen in Anführungszeichen stehen.

(4) Jedes leere Element (das sind jene, die kein Ende-Tag haben, zum Beispiel <IMG>, <HR>, und <BR>) muß entweder mit '/>' enden, oder man muß einen regulären Ende-Tag hinzufügen.
 

(5) Elemente müssen sauber ineinander eingebettet werden (keine überlappenden Auszeichnungen).

(6) Es muß ein Element geben, das den Container für alle anderen Elemente bildet. Sowas gab es auch schon bei HTML. Alle Elemente wurden in einen Bereich gesetzt, der mit <HTML> begann und mit </HTML> endete.
 

Welchen Einfluß wird XML auf die Links in meinen Dokumenten haben?

Im Rahmen von  XML wird es gegenüber HTML erweiterte Möglichkeiten geben, Links zu setzen. Es wird sich wesentlich mehr damit machen lassen. Die vorhandenen Links im HREF-Stil werden aber auch weiterhin verwendbar sein.

Die neue Linking-Technologie wird in Spezifikationen festgelegt, die unter den Überschriften XLink und XPointer herauskommen werden.
 

Wie kontrolliere ich das Aussehen meiner Dokumente?

Das zukünftige XML-basierte HTML wird abwärtskompatibel sein. Das heißt, daß ältere Dokumente auch weiterhin verwendbar sein werden. Style Sheets gewinnen aber an Bedeutung, und es ist wahrscheinlich, daß einige Formatierungs-Tags auf lange Sicht nicht mehr unterstützt werden.

Es ist gängige Praxis, XML-Dokumente die nicht-HTML-DTDs verwenden, nach HTML zu konvertieren, wenn sie angezeigt werden sollen.
 

Was ist XSL? Was läßt sich mit XSL machen, was bisher nicht machbar ist?

XSL liefert eine Style-Sheet-Syntax, mit der festgelegt werden kann, wie ein XML-Dokument präsentiert werden soll. Den Plänen nach soll XSL unabhängig von allen Ausgabe-Formaten sein. Das heißt, daß dasselbe Style Sheet dazu genutzt werden kann, daß RTF-Formate oder TeX- oder HTML-Formate ausgegeben werden. Welches Format ausgegeben wird, hängt davon ab, an welchen XSL-Prozessor das Dokument und das Style Sheet übergeben wird.

Mit XSL können Web-Designer eine Präsentationsstrukur schaffen, die von der originalen Datenstruktur stark abweichen kann. Ein Element kann in unterscheidlichen Formatierungen an unterscheidlichen Stellen einer Seite erscheinen. Die Elemente können also völlig neu arrangiert werden, und es können auch Elemente von der Präsentation ausgeschlossen werden.

Im Zusammenspiel mit einer Script-Sprache sind außerdem Berechnungen möglich. Einfaches Beispiel: Wenn  ein XML-Dokument Rechnungsposten liefert, dann kann  XSL Style Sheet dazu die Summe berechnen und die Mehrwertsteuer und dergleichen mehr.

Die "Proposed Recommendation" für XSL wird für Juli 1999 erwartet.
 

Wodurch unterscheidet sich XSL von den Cascading Style Sheets?

Cascading Style Sheets können für die Formatierung von XML-Dokumenten verwendet werden.

Mit XSL wird einiges möglich, was die CSS nicht leisten können. Dazu gehört das Neu-Arrangieren des Dokument-Inhalts und das automatische Generieren von Text.

XSL wird allerdings allerhand Gründzüge von den CSS übernehmen, so daß sichergestellt ist, daß der Lernaufwand beim Übergang von CSS nach XSL nicht zu groß ist. Außerdem wird dafür gesorgt, daß es möglich ist, Cascading Style Sheets automatisch nach XSL zu konvertieren.
 
 

 
 
http://members.aol.com/xmldoku, Version 2.0 (vom 1.9.98)
E-Mail an: Duenhoelter@t-online.de
© Copyright 1998, Kuno Dünhölter