XML ist eine Metasprache für das Definieren von
Dokumenttypen. Anders gesagt: XML liefert die Regeln, die beim Definieren von
Dokumenttypen angewendet werden. Bei XML werden Layout, Satzaufbau und Daten getrennt gehalten. Somit müssen nur
noch die Datendateien zwischen den Partnern ausgetauscht werden. Dies
vereinfacht den Datenaustausch. Auf der Gegenseite können dann auch
unterschiedliche Layout-Anforderung realisiert werden.
XML am Beispiel eines Rechnungsformulars.
Hier die dazugehörende XLS-Datei und
die Daten-Datei.
Nachfolgend eine ausführlichere Abhandlung zu diesem Thema.
Quelle : pcdoc.bibliothek.uni-halle.de/xml/xmldoku/index.htm
Das Web automatisieren mit XML |
|||||||||||||||||
1. Vorbemerkungen 2. Was ist XML? 3. Beschreibendes Markup 4. Das Channel Definition Format (CDF) 4.1 CDF und die Grundzüge von XML 5. Erst SGML und HTML, nun XML und mehrere Markup Languages 5.1 Strukturierte Daten 5.2 Einsatzmöglichkeiten für XML 5.3 XML und HTML 6. Alternativen zu XML? 6.1 DTDs und Datenformate 7. XML-Mythen 8. XML und die Arbeit des Web-Designers 8.1 Muß ein Web-Designer die Einzelheiten der XML-Syntax kennen? 8.2 Hilfsmittel 8.3 Umgang mit alten Dokumenten 8.4 SGML-Tools im Umgang mit XML-Dokumenten 9. Technologien im Umfeld von XML 9.1 XML und das Dynamische HTML 9.2 Formatvorlagen für XML-Dokumente 9.3 Neue Möglichkeiten für das Einrichten von Links 9.4 XSL 10. Was also spricht für XML? ;nbsp; |
|||||||||||||||||
1. VorbemerkungenAm 10. Februar wurde die Version 1.0 der XML-Spezifikation zu einem offiziellen Standard. Auf dieser Web-Site bietet der Text "XML-Syntax" einen Überblick über die Festlegungen der Spezifikation.XML ist noch längst keine ausgereifte Technologie. Zwar kann man sagen, daß die Spezifikation festlegt, wie XML funktioniert. Sicher ist aber auch, daß es sehr viele Einzelfragen gibt, die erst geklärt werden, wenn an konkreten Projekten gearbeitet wird. Wer XML praktisch erproben will, muß zur Zeit noch einen ausgereiften Experimentiereifer mitbringen. Die volle XML-Unterstützung in den Browsern wird noch auf sich warten lassen. Welches die richtigen Strategien für die Umsetzung in den Browsern ist, dazu wird es noch viele Diskussionen geben. Bisher gilt, daß gute Java-Kenntnisse beim Experimentieren mit XML vorteilhaft sind. Ob XML zu einem wichtigen Thema für Web-Designer wird, läßt sich noch
nicht absehen. Letztlich sind es einige Zusatztechnologien, die für
Web-Designer besonders interessant sind. An diesen Technologien wird
jedoch noch gerabeitet. Wer XML zusammen mit den Zusatztechnologien nutzen
will, muß sich noch mindestens bis zur zweiten Hälte von 1999
gedulden. 2. 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? Klären wir zunächst die etwas einfachere Frage, was unter einem Elementtyp zu verstehen ist. Man sagt, daß dies ein Element ist: <p>Lola rennt.</p> (Das Element besteht aus einem Start-Tag, dem Inhalt des Elements und einem End-Tag.) Auch dies ist ein Element: <p>Ist ja gar nicht
wahr.</p> Mit Dokumenten verhält es sich ähnlich. Wenn in Dokumenten dieselben Elementtypen verwendet werden (p und ul und br und was es da alles geben mag) und wenn die Elemente alle in gleicher Weise ineinander verschachtelt sind, dann sagt man, daß die Dokumente demselben Dokumenttyp angehören. Wie steht es in dieser Hinsicht mit HTML-Dokumenten? HTML-Dokumente sind Musterbeispiele für Dokumente, die einen ähnlichen Aufbau haben. Man sagt daher, daß alle HTML-Dokumente demselben Typ angehören, nämlich dem Dokumenttyp HTML. 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. Die Programmierer wissen in etwa, welche Strukturen in dem Dokument zu erwarten sind, und sie können Programme schreiben, die mit den Dokumenten umgehen können. Das heißt, die Dokumente werden keine Überraschungen mehr bieten, und die Programme können so eingerichtet werden, daß sie bei der Verarbeitung der Dokumente in jeder Situation "wissen, was zu tun ist". Dokumenttyp-Definitionen (DTDs) spielen in XML eine wichtige Rolle. In einer DTD wird festgelegt, welche Gemeinsamkeiten die Dokumente aufweisen werden. Zum Beispiel wird festgelegt, welche Elementtypen in den Dokumenten eines bestimmten Dokumenttyps verwendet werden können. DTDs haben diese beiden Hauptfunktionen: Sie sagen den Verfassern von Dokumenten, welche Strukturen es in den Dokumenten geben kann. Und sie sagen den Programmierern, auf was ihre Programme "sich gefaßt machen müssen". Was ist also XML? In erster Linie ist XML eine Anleitung für das
Verfassen von Dokumenttyp-Definitionen. Etwas Neues sind
Dokumenttyp-Definitionen nicht. Es gab sie auch schon für HTML, man hat
sich nur bisher meistens nicht sonderlich darum gekümmert, daß es da
sowas im Hintergrund gab. 3. Beschreibendes MarkupWer im Bereich der Auszeichnungssprachen bisher nur HTML kannte, muß an einigen Punkten umdenken. Bisher gab es nur zwei verschiedene Sorten von Tags:Es gibt Tags, mit denen angegeben wird, welchen Platz ein Element innerhalb der Struktur des Dokuments hat. Beispiel: In <H1>Zeichenfolge</H1> sagt die Markierung, daß 'Zeichenfolge' eine Überschrift erster Stufe ist. Weiterhin gibt es Tags, mit denen sich Formatierungsanweisungen geben lassen. Beispiel: In <B>Zeichenfolge</B> sagt die Markierung, daß 'Zeichenfolge' im Fettdruck dargestellt werden soll. Wie aber verhält es sich mit Tags dieser Sorte:
Es wird nichts über die Dokumentstruktur angemerkt, und es wird auch keine Formatieranweisung gegeben. Man spricht in diesem Zusammenhang von deskriptivem Markup oder auch von semantischen Tags. Das heißt, die Tags liefern für den Inhalt des Elements eine Beschreibung. (In diesem Beispiel wird über 'Günter Grass' gesagt, daß es sich um den Namen von einem Autor handelt. Dem menschlichen Betrachter wird das sofort klar.) Die Tags lassen sich verschachteln, so daß komplexere Aussagen
entstehen:
Man erfährt, daß es um ein Buch geht; der Titel ist "Die Blechtrommel"; der Autor ist "Günter Grass". Wenn ein Browser an einen <B>-Tag gerät, kann er für
Fettdruck-Formatierung sorgen. Wenn er an an einen Tag gerät, der die
Dokument-Struktur markiert, läuft die Sache meistens ebenfalls darauf
hinaus, daß eine bestimmte Formatierung gewählt wird. Was aber macht der
Browser mit semantischen Tags? Bisher überhaupt nichts. Schon bald aber -
so sagen es die Leute, die XML entworfen haben - wird es sehr viele
Programme geben, die darauf ausgerichtet sind, semantische Tags zu
verarbeiten. 4. Das Channel Definition Format (CDF)Im November 1996 lag der erste Entwurf für die XML-Syntax vor, und schon bald darauf kündigte Microsoft an, daß die Firmen-eigene Push-Technologie ein auf XML basierendes Datenformat verwenden wird.Die Push-Technolgie dient dazu, Internet-Nutzern in regelmäßigen Abständen aktualisierte Dokumente zum Offline-Lesen auf den Rechner zu schicken. Einen Standard für diese Technologie gibt es bisher nicht. Microsoft und Netscape gehen auf diesem wie auf vielen anderen Gebieten unterschiedliche Wege. Microsoft hat mit dem Internet Explorer 4.0 die Technologie der Active Channels eingeführt, außerdem das Channel Definition Format (CDF). Mit CDF-Dateien können Kanäle definiert werden. Ein Kanal besteht letztlich einfach aus einer Reihe von Web-Seiten, die zu einer Gruppe zusammengefaßt werden. Jeder Web-Designer hat die Möglichkeit, bereits vorhandene Web-Seiten zusammenzufassen, und kann das Ganze dann als einen Kanal zu bezeichnen. Wer zu dem Kanal eine verwendbare CDF-Datei liefert, hat schon alles beisammen, um seine Dateien mit dem Push-Verfahren von Microsoft den Internet-Nutzern anzubieten. Die Nutzer können in der Reihe der definierten Kanäle eine Auswahl treffen und bekommen die entsprechenden Dokumente regelmäßig zugeschickt - wobei vorausgesetzt wird, daß es sich um Seiten handelt, die regelmäßig aktualisiert werden. Man abonniert einen Kanal, indem man auf der Web-Seite auf einen entsprechenden Link klickt. Anhand der Push-Technologie von Microsoft läßt sich erläutern, was mit semantischen Tags machbar ist. Schauen wir uns ein Beispiel für eine CDF-Datei an. In CDF-Dateien wird die Struktur eines Kanals festgelegt. Das Kernstück der Kanal-Definition ist die Auflistung der Web-Dateien, die an dem Kanal beteiligt sein sollen.
Es folgen Anmerkungen zu einigen der Tags. Die erste Zeile bildet den sogenannten Prolog:
Das <CHANNEL>-Element bildet den Container für alle anderen Elemente.
In das <TITLE>-Element setzt man eine kurze Beschreibung für den
Kanal:
Die Beispiel-Datei enthält alle Angaben, die nötig sind, um einen Kanal zu definieren. Wenn die CDF-Datei erstellt wurde, muß man sie nur noch auf einen Web-Server befördern. Danach können die Nutzer den Kanal abonnieren. Wer den Kanal abonnieren will, klickt auf einen Link, der zu der CDF-Datei führt. Die Datei wird dann auf den lokalen PC geladen, und der Internet Explorer kann die Angaben auswerten. 4.1 CDF und die Grundzüge von XMLAnhand von CDF lassen sich einige Grundzüge von XML erläutern:Die oben wiedergegebene Datei ist ein XML-Dokument. In den meisten Fällen läßt sich zu einem XML-Dokument angeben, zu welchen Dokumenttyp es gehört. Die Dateien, in denen Kanäle definiert werden, gehören alle dem Dokumenttyp CDF an. Es ist eher unwahrscheinlich, daß die Entwickler der XML-Spezifikation bei ihrer Arbeit die Push-Technologie im Auge hatten. CDF ist einfach nur ein Beispiel für die Millionen von Dokumenttypen, die sich im Prinzip mit XML definieren lassen. Zu jedem dieser Dokumenttypen wird es eine Dokumenttyp-Definition (DTD) geben. 'Dokument-Typ-Definition' ist der Oberbegriff für eine Reihe von Regeln, die für jedes Dokument dieses Typs gelten. Die Regeln werden in einer Datei zusammengefaßt, die ebenfalls als Dokumenttyp-Definition bezeichnet wird und in jedem Fall die Dateinamen-Erweiterung DTD hat. Was enthält also die CDF-DTD? Sie enthält die Regeln, die für alle CDF-Dokumente gelten. In der CDF-DTD ist zum Beispiel festgelegt, daß ein <CHANNEL>-Element <ITEM>-Elemente enthalten kann und daß es zu einem <LOGO>-Element ein STYLE-Attribut geben kann. Dazu ein kleines Beispiel. Wenn gelten soll, daß in einem bestimmten
Dokumenttyp <channel>-Elemente verwendet werden können, dann wird es
in der zugehörigen DTD diese Deklaration geben:
Was läßt sich aus diesem Beispiel über XML lernen? Es läßt sich dies lernen: Elemente werden üblicherweise deklariert, bevor sie im Dokument verwendet werden. Die Deklaration eines Elements beginnt mit '<!ELEMENT' und endet mit '>'. Es gibt das Schlüsselwort #PCDATA. Das Schlüsselwort zeigt an, daß der Inhalt des deklarierten Elements aus beliebigen Zeichenfolgen bestehen kann.
5. Erst SGML und HTML, nun XML und mehrere Markup LanguagesIn gleicher Weise, wie XML die Metasprache für CDF ist, so ist SGML die Metasprache für das bisherige HTML. Wer die XML-Syntax kennenlernt, der erfährt, was zu tun ist, wenn eine Sprache wie CDF definiert werden soll. Und wer SGML lernt, der wird zum Schluß nachvollziehen können, wie die Leute vorgegangen sind, die HTML entwickelt haben. HTML gibt es in mehreren Versionen, und für jede Version wurde eine neue SGML-DTD geschrieben.Schon in den Sechzigern haben IBM-Wissenschaftler an einer Metasprache für Auszeichnungssprachen gearbeitet. Es ging darum, festzulegen, wie zukünftig die Struktur und der Inhalt von Dokumenten beschrieben werden soll. 1986 übernahm die International Standards Organization (ISO) eine Version dieses Standards und nannte sie Standard Generalized Markup Language (SGML). SGML bietet ein hochkomplexes System für die Auszeichnung von Dokumenten. SGML ist groß, mächtig und angefüllt mit Optionen, eine Sprache, die gut geeignet ist für große Organisationen, die anspruchsvolle Standards für ihre Dokumente benötigen. Als Anfang der Neunziger das World Wide Web entwickelt wurde, brauchte man ein einfaches Auszeichnungs-System, eines, bei dem praktisch jeder schnell zur Könnerschaft gelangen konnte. Man entschloß sich, die neue Auszeichnungssprache an SGML zu orientieren. So entstand die HyperText Markup Language (HTML). HTML ist - wie schon gesagt - ein spezieller Dokumenttyp von SGML. HTML wurde zur Basis für das aufstrebende World Wide Web. Es sind zwei Strömungen und Tendenzen, die dazu führen, daß Ende der Neunziger Jahre Standards entstehen, die über die Beschränkungen von HTML hinausgehen. Zum einen gibt es die Gemeinde der SGML-Anhänger, die es schon seit langem bedauert, daß die Mächtigkeit von SGML imWeb nur zum kleineren Teil zum Tragen kommt. Zum andern gibt es viele Entwickler von Web-Programmen, die von dem Gefühl geplagt werden, daß sie in ihren Möglichkeiten sehr eingeschränkt sind. Für viele Web-Experten war es ein naheliegender Gedanke, daß es die Möglichkeiten von SGML sind, die dem Web fehlen. Als man analysierte, warum die Ideen von SGML im Web bisher keinen Durchbruch erlebt haben, da war schnell klar, daß das vor allem an der hohen Komplexität von SGML liegt. Da SGML eine so komplexe Sprache ist, bedeutet es einen sehr großem Aufwand, wenn Programme geschrieben werden sollen, die SGML-Dokumente verarbeiten. Beim World Wide Web Consortium (W3C), einer Standardisierung-Oranisation für das Web, wurde daher eine Arbeitsgruppe eingerichtet, die sich als Aufgabe vornahm, eine vereinfachte Variante von SGML zu schaffen. Deren Arbeitsergebnis ist XML. XML wurde so eingerichtet, daß die nützlichsten Teile von SGML erhalten bleiben. Weggelassen wurden die weniger gebräuchlichen und die sehr komplizierten Teile. Man kann XML als eine Art SGML-lite betrachten. XML ist ebenso wie SGML eine Metasprache für das Definieren von
Dokument-Typen. Das heißt, XML ist der Oberbegriff für die Regeln (= die
Syntax), die angewendet werden, wenn ein neuer Dokument-Typ definiert
wird. 5.1 Strukturierte DatenWenn in einem HTML-Dokument Texte geliefert werden, muß man von unstrukturierten Daten sprechen. Es führt zu keinen überzeugenden Ergebnissen, wenn man Programme auf solche Daten ansetzt. Das Programm wird nur Abfolgen von Zeichen finden, mit denen sich nicht viel anfangen läßt.Das ändert sich, wenn ein Dokument ausgiebig mit semantischen Tags versehen wird. Solche Tags sind die Griffe, an denen verarbeitende Programme die Daten zu packen bekommen. Die strukturierten Daten, die mit XML-Dokumenten geliefert werden, stehen von ihrer Strukturiertheit her zwischen den (üblicherweise in hohem Maße strukturierten) Datenbank-Daten einerseits und den unstrukturierten Textdaten andererseits. In einer Datenbank hat jeder Datenbank-Inhalt seinen festen Platz. Wenn gefragt wird: "Wo taucht in der Datenbank der Begriff 'München' auf?", dann lautet die Antwort möglicherweise: "Der Begriff taucht in der Kunden-Tabelle im Datensatz 1023 im Feld 'Wohnort' auf." In XML-Dokumenten gibt es Entsprechungen zu den Feldern der
Datenbanken. Das 'Wohnort'-Feld einer Datenbank findet seine Entsprechung
in dem <WOHNORT>-Element eines XML-Dokuments. Das hat praktische
Bedeutung, denn XML-Dokumente sollen unter anderem eingesetzt werden, um
Daten, die aus Datenbanken stammen, zu den Web-Clients zu
transportieren. 5.2 Einsatzmöglichkeiten für XMLDer Vorgänger von XML, SGML, wird schon seit 1986 erfolgreich eingesetzt. Tausende von Auszeichnungssprachen sind geschaffen worden, die SGML als Grundlage haben. Es wird nahe liegen, die SGML-kodierten Datenmengen für die Nutzung im Web (oder im Intranet) aufzubereiten.Das wichtigste Einsatzgebiet für SGML sind die Weitergabe von Daten innerhalb der Firmen eines Industriezweigs und zwischen Forschungseinrichten. Es hat sich gezeigt, daß sich mit SGML alle relevanten Daten so kodieren lassen, daß der Datenaustausch einfach wird und sichergestellt ist, daß die Daten weiterverarbeitet werden können. Man kann erwarten, daß es für XML eine ähnliche Karriere geben wird. Für die Verwendung von XML spricht vor allem, daß es leichter ist, Anwendungen zu schreiben, die XML-Daten verarbeiten, als Anwendungen, die SGML-Daten verarbeiten. Grundsätzlich gilt: XML-Dokumenttypen können überall da zum Einsatz kommen, wo es einen Bedarf für Datenaustausch gibt. Die Zahl der möglichen Anwendungsgebiete ist letztlich unbegrenzt. Es kann um Daten über finanzielle Transaktionen gehen, um das Senden von Nachrichten und Wetter-Informationen; man kann per XML Krankendaten weitergeben oder Daten aus juristischen Datenbanken. Mit XML erhalten Firmen und Organisationen die Möglichkeit, eigene, an die eigenen Bedürfnisse angepaßte Auszeichnungssprachen zu schaffen. In einem gewissen Maße arbeitet das gegen die vielgepriesene Universalität des Webs und von HTML. Spezialisten werden es aber zu schätzen wissen, wenn sie mehr als zuvor die Möglichkeit haben, auf effiziente Weise mit Kollegen zu kommunizieren. Spezialisten müssen häufig Formeln darstellen, Hierarchien,
mathematische und wissenschaftliche Anmerkungen und andere Elemente -
alles mit wohldefinierten Parametern. Das DTD-System von SGML macht dies
möglich, und XML greift das DTD-System auf, vermeidet aber dessen
Komplexität. 5.3 XML und HTMLWer zum ersten Mal mit XML zu tun hat, der wird sehr schnell die Frage parat haben, ob HTML also durch etwas Neues abgelöst wird. Die Antwort lautet "Jein":Ja, HTML ändert sich. Das zukünftige HTML hat XML als Grundlage.
Auf der Grundlage von XML werden beim World Wide Web Consortium (W3C) eine Reihe von HTML-Modulen geschaffen. Es wird ein Grundmodul geben, das bei jeder Arbeit an XML-Dokument verwendet wird. Bei Bedarf können weitere Module hinzugezogen werden. (Möglicherweise wird man für Tabellen und Formulare jeweils eigene Module ansetzen.) Die Arbeit am neuen HTML soll Ende 1999 abgeschlossen werden. Im Laufe der Zeit wird man Entwürfe für die einzelnen Module an die Öffentlichkeit bringen. Zum Verständnis der Modul-Technik ist dies wichtig: Die XML-Syntax läßt
es zu, daß ein Dokument auf mehrere DTDs ausgerichtet wird. Anders gesagt:
Wenn man ein Dokument auf eine bestimmte DTD ausgerichtet hat, dann ist es
(durch Ergänzungen in der sogenannten Dokumenttyp-Deklaration) möglich,
weitere DTDs hinzuzuziehen. Wenn die DTDs Deklarationen enthalten,
die sich gegenseitig überschreiben würden, dann gilt die Regel, daß immer
jene Deklaration die gültige ist, die als erste eingelesen wurde.
6. Alternativen zu XML?Man könnte fragen, ob sich das, was mit XML erreicht werden soll, nicht auch erreichen ließe, indem man HTML entsprechend erweitert.Das HTML-Format ist jedoch von seiner grundsätzlichen Ausrichtung her
anders angelegt als die XML-Dokument-Typ-Definitionen. Wer mit HTML
Dokumente einrichtet, der kümmert sich in erster Linie darum, wie das
Dokument auf den Monitoren der Nutzer dargestellt wird. XML ist
demgegenüber in hohem Maße darauf ausgerichtet, Informationen über Daten
zu liefern, so daß die Daten weiterverarbeitet werden können. Mit XML
rücken also Aspekte in den Vordergrund, die beim Web-Design mit HTML keine
Rolle spielen. 6.1 DTDs und DatenformateUnter einem Datenformat versteht man die Gesamtheit der Richtlinien, die für das Organisieren von Daten innerhalb einer Datei gelten. Der Begriff 'Datenformat' wird weitgehend identisch mit 'Datei-Format' verwendet.Wenn man nun anschaut, was durch eine Dokument-Typ-Definition geliefert wird, dann stellt man fest, daß es sich da um etwas sehr Ähnliches handelt. Die DTD legt fest, wie in einer Datei des entsprechenden Typs die Daten organisiert werden. Man kann sich also leicht klarmachen, daß es für die Dokument-Typ-Definitionen, die im Rahmen von XML geschaffen werden, allerhand Konkurrenz gibt. Die bekannten Definitionen von Datei-Formaten leisten Ähnliches. Es kann die Frage aufkommen, warum bei der Arbeit mit Web-Dokumenten unbedingt XML-Datenformate verwendet werden müssen. Daß mit Text-Auszeichnungen (Markup) gearbeitet wird, das gibt es nicht nur im Rahmen von SGML und XML. Jede Textverarbeitung verwendet Auszeichnungen. Wenn ich beim Arbeiten mit einem Dokument angebe, daß eine bestimmte Zeichenfolge im Fettdruck erscheinen soll, dann setzt meine Textverarbeitung intern eine entsprechende Markierung. Warum also verwendet man im Internet nicht Datenformate, die sich anderswo schon längst bewährt haben, etwa das Rich Text Format (RTF) oder das Datenformat von Winword? Antwort 1: Ein Datenformat, das zu einem Standard-Datenformat im Internet werden soll, muß zwei wichtige Bedingungen erfüllen: Es muß Plattform-übergreifend zur Verfügung stehen, und es darf nicht im Besitz einer einzelnen Firma sein. RTF und das Winword-Format erfüllen diese Bedingungen nicht. Antwort 2: Im Unfeld der XML-Spezifikation enstehen eine Reihe von wichtigen anderen Standards (zum Beispiel für das Verlinken von Dokumenten und für den Zugriff auf den sogenannten Dokument-Baum). Jedes Datenformat, das auf der Grundlage von XML definiert wird, befindet sich somit von Anfang an in einem Umfeld, in dem es eine Reihe von nützlichen Zusatz-Standards gibt, so daß man sich um Kompatibilität und um Möglichkeiten für den Datenaustausch wesentlich weniger Sorgen machen muß als bei allen Insel-Lösungen. Grundsätzlich ist es möglich, auch Dateiformate für Bilder und für Töne auf der Grundlage von XML zu definieren. Es ist aber unwahrscheinlich, daß die GIF- und JPG- und WAV-Formate durch XML-basierte Formate abgelöst werden. Es wird das bisherige Prinzip erhalten bleiben, daß externe Dateien durch die Angabe einer URL in das Dokument eingebunden werden. Diese Frage jedoch ist sehr aktuell: Warum sollten die
Standard-Software-Produkte, etwa die einzelnen Programme der gängigen
Office-Suiten (Textverarbeitung, Tabellenkalkulation, ...), nicht mit
XML-Datenformaten arbeiten? Absichtserklärungen, die in diese Richtung
gehen, hat es tatsächlich bereits gegeben. 7. XML-MythenEs sind allerhand Meinungen zu XML im Umlauf, die an dem, was XML tatsächlich ist, vorbeigehen.Wenn man schaut, welche Idee zum Thema XML die größte Verbreitung gefunden hat, dann ist es sicherlich diese: "Mit XML kann sich jeder seine eigenen Tags schaffen." Wer sowas liest, kann schnell zu der Überzeugung gelangen, daß durch XML nun alles völlig anders wird im Web. Niemand muß mehr in Listen nachschauen, wie bestimmte Tags aussehen. Jeder definiert sich die Tags, die er gerade braucht. Das ist der Punkt, an dem sich bei vielen Leuten der gesunde Menschenstand regt. "Wenn ich aber eigene Tags definiere, wie bringe ich dann dem Browser bei, was er mit den Tags veranstalten soll?" lautet dann die Frage. Unseligerweise kann jemand, der diese Frage im Kopf hat, an Aussagen wie diese geraten: "Eine DTD sagt dem Browser, was die Tags in den Dokumenten bedeuten." Da muß ein Mensch, der gerade erst angefangen hat, sich mit XML zu beschäftigen, zu dem Ergebnis kommen, daß DTDs wahre Wunderdinger sind. Man muß glauben, daß es zukünftig Browser geben wird, die mit jedem Dokument (wie sonderbar auch immer die enthaltenen Tags aussehen mögen) umgehen kann - sofern nur eine passende DTD mitgeliefert wird. Das ist aber wahrlich nicht so. Vielleicht hilft dieses kleine Gedankenexperiment bei der Veranschaulichung der Situation: Mal angenommen, die Office-Programme von Microsoft verwenden zukünftig XML-Datenformate, und die zugehörigen DTDs werden zur Verfügung gestellt. (Beim aktuellen Stand der Dinge ist das keine abwegige Vorstellung.) Wenn es nun einen XML-befähigten Netscape Navigator gibt - wird der dann mit Word-Dateien umgehen können, wenn man ihm die entsprechende DTD anbietet? Absolut nicht. Nachdem ein Word-Dokument eingelesen wurde und anschließend auch die zugehörige DTD, kann der Browser bestimmen "Jawoll, dies ist ein gültiges Dokument". Und das war's dann auch schon. Sehr bald wird der Browser an Tags geraten, die so etwas signalisieren sollen wie dies: "Achtung, jetzt folgt ein Positionsrahmen." Und wenn kein Programmierer dem Browser einprogrammiert hat, wie mit Positionsrahmen-Tags umzugehen ist, dann muß der Browser die Tags übergehen. Die Idee, daß an solch einem Punkt die DTD weiterhelfen könnte, ist vollkommen abwegig. Man sollte also besser nicht glauben, daß nach der Umstellung von SGML auf XML im Web alles anders wird. Im wesentlichen wird es dabei bleiben, daß Listen mit Tags angeboten werden, und wer schöne Seiten gestalten will, muß sich mit den Tags vertraut machen (oder darauf setzen, daß brauchbare XML-Editoren geschaffen werden). Bleibt also nach der Umstellung von SGML auf XML im Web alles gleich? Nein, manches ändert sich. Der auffälligste Unterschied: Die Browser-Hersteller waren nicht bereit, SGML-Parser in die Browser zu integrieren. XML-Parser dagegen werden integriert. Und was ist anders, wenn die Browser XML-Parser enthalten? Wenn die Browser XML-Parser enthalten, dann wird die Entwicklung möglich, die jetzt durch das W3C eingeläutet wurde: HTML wird in einzelne Module aufgeteilt und kann zukünftig jederzeit durch neue Module ergänzt werden. Im wesentlichen bedeutet das, daß nun die Arbeitsteilung, die es bei der Arbeit an HTML gegeben hat (das W3C liefert die Vorgaben; die Softwarehäuser sorgen für die Umsetzung), auf weitere Gebiete ausgeweitet werden kann. Wer weiß, vielleicht gibt es irgendwann in den nächsten Jahren eine
Web-taugliche Tabellenkalkulation, die beim W3C entworfen wurde und von
den Browser-Herstellern auf der Basis von anerkannten neuen Standards
realisiert wird. 8. XML und die Arbeit des Web-DesignersZunächst noch einmal eine Frage aus dem vorhergehenden Abschnitt: Ist es falsch, wenn gesagt wird, daß mit XML jeder seine eigenen Tags definieren kann? Falsch ist es nicht. Man muß allerdings fragen, für wen es denn interessant sein kann, eigene Tags zu verwenden. Es sind zwei Situationen, in denen solch ein Vorgehen interessant sein kann:(*) In den Softwarehäuser verfügt man über die Möglichkeit, eigene DTDs zu entwickeln und zugleich auch Programme zu schreiben, die mit den selbstgeschaffenen Elementtypen etwas anfangen können. Wer Zusatzprogramme schafft, muß darauf schauen, daß sie sich als Plug-Ins in die Browser integrieren lassen. (*) Wer keine eigenen Programme schreibt, der kann darauf setzen, daß sich durch ein Zusammenspiel von selbstgeschaffenen Tags und Style Sheets (plus Scripts) interessante Effekte erzielen lassen. Wie das allerdings in der Praxis aussehen wird, das zeichnet sich bisher nur in Umrissen ab. Für die allermeisten Leute wird es bei der bisherigen Situation
bleiben: Es gibt Listen mit Tags, und wer sich mit den Tags auskennt, der
kann sich als Web-Designer entfalten 8.1 Muß ein Web-Designer die Einzelheiten der XML-Syntax kennen?Wer sich vornimmt, Datenaustausch über das Web zu organisieren, der sollte sich mit den Einzelheiten der XML-Syntax auskennen. Gefragt ist die Fähigkeit, herauszufinden, welches für bestimmte Zwecke die angemessene DTD ist. Wichtig ist aber auch die Fähigkeit, vorhandene DTDs zu ergänzen und eventuell auch eigene zu verfassen.Wer sich um den Transport von Datenbank-Daten weniger kümmert, der wird sich eher für die Möglichkeiten interessieren, die im Zusammenhang mit neuen Standards für Links (XLink und XPointer) und für Formatierungen (XLS) entstehen. Diese Neuerungen befinden sich 1998 allerdings noch im Experimentier-Stadium. Schon heute läßt sich aber sagen, daß Kenntnisse in Sachen XML-Syntax beim Umgang mit den neuen Möglichkeiten hilfreich sein werden. Beispielsweise spielen bei den neuen Link-Mechanismen ID-Attribute eine Rolle. Wer sich heute mit der Deklaration von Attributen in XML vertraut macht, hat die besseren Start-Voraussetzungen, wenn die neuen Technologien zur Verfügung stehen. Weiterhin gilt: Wer gesicherte Prognosen dazu liefern will, wie es mit
dem Web weitergehen wird, der sollte ein Gespür dafür entwickeln, was mit
XML machbar ist. 8.2 HilfsmittelBeim Erstellen von HTML-Dokumenten gibt es für den Web-Designer die Wahl, ob die Dokument-Zeilen in einem simplen Editor oder in einem Spezial-Editor entstehen sollen. Für die Arbeit mit XML-Dokumenten wird dasselbe gelten.Welche Hilfestellungen von XML-Editoren zu erwarten sind, das erfährt
man beim Umgang mit SGML-Editoren. Ein SGML Editor bietet üblicherweise
für jede Situation Drop-Down-Listen, die alle Elemente anbieten, die
jeweils gesetzt werden können. Ein SGML-Editor liest die jeweils
zuständige DTD ein, und kann dann bestimmen, welche Tags von der DTD her
in der jeweiligen Situation möglich sind. 8.3 Umgang mit alten DokumentenWas aber wird aus den alten HTML-Dokumenten? Sind die bisherigen Dokumente nach den Vorgaben von XML ungültig oder schlecht geformt oder vielleicht sogar beides? Man muß sich klar machen, daß es sich bei HTML einfach nur um eine SGML-DTD handelt. XML ist eine Teilmenge von SGML, und solange ein Dokument mit dem HTML-3.2-Standard übereinstimmt, wird es vollkommen oder doch wenigstens zum größten Teil wohlgeformt sein.Wer mit seinen HTML-Dokumenten sichergehen will, der sollte die Regeln
für Wohlgeformtheit beachten (siehe Stichwort "Wohlgeformtes Dokument" im
Glossar). 8.4 SGML-Tools im Umgang mit XML-DokumentenSGML-Tools können mit XML-Dokumenten umgehen. 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. 9. Technologien im Umfeld von XMLEs gibt einige Technologien, die ursprünglich mit Blick auf HTML entwickelt wurden, sich aber mit Sicherheit auch im Zusammenhang mit XML bewähren werden. Zu diesen Technologien gehören die Cascading Style Sheets (CSS), das Dynamische HTML und die Objekt-Modelle, mit denen die Grundlage geliefert wird, daß Scripts auf die Elemente der Dokumente zugreifen können.9.1 XML und das Dynamische HTMLIm allgemeinen betrachtet man 'Dynamic HTML' als den Oberbegriff für eine Kombination aus neuen HTML-Tags, Style Sheets und neuen Möglichkeiten für den Einsatz von Scripts und Programmen.Allen Bemühungen um Dynamisches HTML (DHTML) ist die Zielsetzung gemeinsam, daß flexiblere Web-Seiten möglich werden sollen. Das sind Seiten, die in höherem Maße imstande sind, auf Eingaben der Nutzer zu reagieren. Langfristig kann die Entwicklung darauf hinauslaufen, daß sich Web-Dokumente immer mehr wie Anwendungen verhalten oder wie Multimedia-Produktionen. In den ersten Versionen von JavaScript gab es nur sehr begrenzte Möglichkeiten, an HTML-Dokumenten Änderungen vorzunehmen. Die Möglichkeiten beschränkten sich auf Veränderungen an Formularfeldern. Bei den kommenden Versionen wird es die Möglichkeit geben, daß Scripts auf alle Elemente eines Web-Dokuments zugreifen können und an allen Elementen Veränderungen vornehmen können. Es wird vermehrt Scripts geben, die im Hintergrund ihre Arbeit verrichten und auf Aktionen des Nutzers hin ein neu arrangiertes Dokument präsentieren. Zu der Betrachtungsweise, die mit dem Dynamischen HTML Einzug hält, gehört, daß jedes Element einer Seite (Abschnitt, Überschrift, Absatz, Bild, Liste und ebenso auch alle XML-Elemente) als "Objekte" gesehen werden müssen. Wie auf diese Objekte zugegriffen werden soll, das wird durch das "Document Object Model" (DOM) geregelt. Seit dem 18.9.98 hat die DOM-Spezifikation den Status einer "Proposed Recommendation". Im nächsten Arbeitsschritt wird das W3C aus dem DOM einen offiziellen Standard machen. Für die Anbieter von Web-tauglichen Script-Sprachen geht es aktuell darum, die die Vorgaben der DOM umzusetzen. Die Möglichkeiten, die entstehen, wenn per Programmiersprache auf das vollständige Objekt-Modell eines Web-Dokuments zugegriffen werden kann, sind vielfältig. Beispielsweise läßt sich die Anzeige von Daten ein- und ausschalten. Wer Erläuterungen zu den Windows-Betriebssystemen vor sich hat, kann die Darstellung auf die Erläuterungen zu der eigenen Betriebssystem-Variante einschränken - wenn die entsprechenden Tags vorhanden sind und es ein Script gibt, das mit den Tags umgehen kann. Bei Daten, die hinreichend mit semantischen Tags versehen sind, wird es auch möglich, daß sich ein Nutzer eine Tabelle in unterschiedlichen Sortierungen anzeigen läßt, Adressen zum Beipiel mal nach Ort und mal nach Postleitzahl sortiert. Im Prinzip waren diese Möglichkeiten auch früher schon realisierbar.
Immer, wenn der Nutzer eine neue Darstellung gewünscht hat, war es jedoch
nötig, daß beim Server eine neue Seite angefordert wurde. Die Seiten, die
mit Dynamischem HTML geschaffen werden, liefern demgegenüber ihre
Veränderungsmöglichkeiten gleich mit. Der Client kann die veränderten
Darstellungen selbständig erstellen und ausschließlich mit dem Material,
das bereits auf dem PC vorhanden ist. 9.2 Formatvorlagen für XML-DokumenteAls SGML geschaffen wurde, war eine der zugrundeliegenden Ideen, daß es beim Anlegen von Dokumenten hinreichend ist, die Dokument-Struktur zu markieren. Die Umsetzung in angemessene Formatierungen sollte späteren Bearbeitungsstufen vorbehalten bleiben. Die Structured Generalized Markup Language (SGML) zeigt diese Idee in ihrem Namen, denn das 'Generalized' bedeutet, daß von Formatierungsanweisungen abgesehen wird und daß 'verallgemeinerte' ('generalized') Merkmale herausgestellt werden, nämlich die Bedeutung, die einem Stück Text mit Blick auf die Gesamtstruktur des Dokuments zukommt.Zwar ist HTML ein Abkömmling von SGML, die Idee der strukturellen Markierungen wurde aber nicht konsequent umgesetzt. Die HTML-Nutzer verlangten nach Tags, mit denen direktes Formatieren möglich ist, und die Browser-Hersteller waren gerne bereit, diesen Wünschen zu folgen. Die SGML-Puristen führen gerne die Einführung des <BLINK>-Tag durch Netscape als einen besonders schlimmen Auswuchs an. Durch das Aufkommen von XML gibt es neuen Auftrieb für die Idee, daß Formatierungs-Tags verzichtbar sind. Und da XML von Anfang an zusammen mit Style Sheets eingesetzt werden kann, ist es vorstellbar, daß sich die Web-Designer tatsächlich immer mehr auf die Formatierung mit Style Sheets verlegen werden. Die Angaben, die in Style Sheets für semantische Tags gemacht werden,
unterscheiden sich nicht von den Angaben für die Tags, mit denen
Struktureinheiten gekennzeichnet werden. Man kann in einem Style Sheet
angeben, daß alle Überschriften dritter Stufe im Fettdruck dargestellt
werden sollen. In gleicher Weise läßt sich auch angeben, daß der Inhalt
von allen <AUTOR>-Elementen im Fettdruck erscheinen soll.
9.3 Neue Möglichkeiten für das Einrichten von LinksXML ist nicht die einzige Neuerung, die aus der SGML-Welt ihren Weg in das Internet findet. Das World Wide Web Consortium (W3C) arbeitet an einem Standard, der dem Web-Designer erweiterte Möglichkeiten beim Einrichten von Links bieten soll. Daß die neuen Möglichkeiten für Links funktionieren werden, ist sichergestellt, denn im Rahmen von SGML haben sie sich bereits bewährt.Zwei Beispiele für die bevorstehenden Neuerungen: Multidirektionale Links. Wer auf einen Link dieser Art klickt, bekommt zunächst eine Liste mit Verzweigungsmöglichkeiten angezeigt. Weiterhin soll der Web-Designer zukünftig auch Links einrichten können,
die nicht einfach nur die Verbindung zu einer Ziel-Seite herstellen,
sondern auch Informationen darüber bieten, welche anderen Links auf die
Ziel-Seite verweisen. Die anderen Links lassen sich dann zu ihrer Quelle
zurückverfolgen. 9.4 XSLDie Verwendung von Style Sheets hat sich noch nicht vollkommen durchgesetzt, aber beim W3C wird schon über die Nachfolge-Technologie beraten.Jon Bosak, der Vorsitzende der XML Working Group beim W3C, hat in einem Vortrag aufgelistet, welche Beschränkungen es bei der Arbeit mit den Cascading Style Sheets gibt: (1) CSS ist nicht imstande, eine Einheit (etwa eine Kapitel-Überschrift) zu nehmen und sie an einem anderen Platz in dem Dokument erneut anzuzeigen (etwa in der Kopfzeile). (2) CSS kann keine Zwillings-Beziehungen schaffen. Zum Beispiel ist es nicht möglich, eine CSS-Formatvorlage zu erstellen, die jeden zweiten Absatz im Fettdruck erscheinen läßt. (3) CSS ist keine Programmiersprache. Es werden keine IF-Abfragen unterstützt; Erweiterungen durch den Ersteller der Formatvorlagen sind nicht möglich. (4) CSS verfügt nicht über die Fähigkeit, Einheiten durchzuzählen und Werte in Variablen zu speichern. Das bedeutet, daß es nicht einmal möglich ist, gebräuchliche Parameter an einem Platz zu versammeln, an dem sie leicht verändert werden können. (5) CSS kann nicht eigenständig Text hervorbringen (etwa Seitenzahlen und dergleichen). (6) CSS liefert ein simples Kasten-orientiertes Formatierungs-Modell, das für die bisherigen Web-Browser gut geeignet ist, sich aber nicht für die fortgeschritteneren Auszeichnungsmöglichkeiten ausweiten läßt. (7) CSS ist auf die Sprachen der westlichen Welt ausgerichtet und setzt voraus, daß die Schriftzeichen in einer horizontalen Abfolge gesetzt werden. Auf welche Weise diese Beschränkungen überwunden werden sollen, ist vom
Grundsatz her geklärt. Man entwickelt beim W3C einen
Style-Sheet-Mechanismus, der den Namen eXtensible Style Sheet Language
(XSL) haben wird. XSL ist von der Document Style Semantics and
Specification Language (DSSSL) abgeleitet, einer Formatvorlagen-Sprache,
die ihre Ursprünge in der SGML-Gemeinde hat. 10. Was also spricht für XML?Die deutlichsten Auswirkungen hat der neue Standard bisher auf die Erschaffer von XML selbst. Da es jetzt die XML-Spezifikation gibt, ist die Grundlage für ein neues HTML gegeben. Das neue HTML wird aus einer Reihe von Modulen bestehen und kann zu jeder Zeit durch neue Module ergänzt werden.Es entstehen eine größere Zahl von Dokumenttypen (= Auszeichnungssprachen), und im Umfeld von jedem Dokumenttyp, entstehen spezialiserte Anwendungen. Wenn viele Auszeichnungssprachen nebeneinader bestehen, dann birgt das im Prinzip die Gefahr, daß unterschiedliche Welten entstehen, die immer weiter auseinander driften. Da es sich aber um lauter Auszeichnungssprachen handelt, die auf der Grundlage von XML definiert werden, ist sichergestellt, daß der nötige Zusammenhalt bzw. die nötigen Gemeinsamkeiten gegeben sind. Beispielsweise wird durch die Aktivitäten um XML herum dafür gesorgt, daß alle Auszeichnungssprachen dieselben Link-Mechanismen verwenden. Es wäre für das Web fatal, wenn im Laufe der Zeit lauter Inseln von Dokumenten entstehen würden, die nicht mehr untereinander verlinkt werden können. Für die Schaffung von Link-Mechanismen sind jedoch nicht die Verfasser von DTDs zuständig. Die Link-Mechanismen, an denen aktuell gearbeitet wird, werden früher oder später ein Bestandteil der XML-Spezifikation. Dadurch ist sichergestellt, daß für alle XML-Dokumente dieselben Mechanismen zur Verfügung stehen. Nebenbei: Das Beispiel mit den Link-Mechanismen zeigt, daß es sich letztlich um eine verkürzte Darstellung handelt, wenn in diesem Text erklärt wird, daß XML die Anleitung für die Erstellung von Dokumenttyp-Definitionen liefert. Zum vollständigen Bild gehört, daß die XML-Spezifikation zusätzlich eine ganze Reihe von Festlegungen liefert, die für alle XML-Dokumente in gleicher Weise gelten - unabhängig davon, zu welchem Dokumenttyp sie gehören. Stichworte dazu sind: "Dokumenttyp-Deklaration", "Public Identifier" und anderes (siehe Kapitel "XML-Syntax"). Wenn es um die Vorzüge von XML geht, dann sind "Standardisierung" und "Offenheit" die wichtigen Stichwörter. Offenheit bedeutet in diesem Zusammenhang, daß lauter Auszeichnungssprachen entstehen, die leicht durchschaubar sind und daher von vielen genutzt werden können. Ein Blick auf die DTD wird zeigen, mit welchen Datenstrukturen man es zu tun hat. In Sachen Standardisierung stellt die Veröffentlichung des XML-Standards selbst - zusammen mit der Spezifikation für das Document Object Model (DOM) - bereits die wichtigsten Schritte dar. Wenn jetzt auf der Grundlage des XML-Standards Auszeichnungssprachen geschaffen werden, dann ist sichergestellt, daß mit den zugehörigen Dokumenten gearbeitet werden kann. Das DOM zeigt, wie der Zugriff mittels Scripts gestaltet werden kann. Allgemein gesagt: Wenn eine neue Auszeichnungssprache (oder ein zusätzliches HTML-Modul) auf der Grundlage von XML definiert wird, dann ist dieses Modul sofort ein Bestandteil von einem Gesamtgebäude, so daß man sich um Kompatibilität und Möglichkeiten für den Datenaustausch keine besonderen Sorgen machen muß. Wie sehen also die Dokumente der Zukunft aus? Gerne werden Beispiele wie diese angeführt: Wenn etwa über ein Dokument Daten über Autoren liefert, dann kann dafür gesorgt werden, daß ein Klicken auf einen Namen dazu führt, daß zu dem Namen der zugehörige Lebenslauf eingeblendet wird. Der schnelle Entschluß bei Microsoft, für die Firmen-eigene Push-Technologie ein XML-basierendes Datenformat zu entwickeln, läßt etwas davon erahnen, welche Kreativitätsschübe XML auslösen kann. Das Channel Definition Format ist ein Beispiel für die Millionen von XML-Datenformaten, die im Prinzip auf der Grundlage von XML definiert werden können. Bei der Deklaration der sogenannten Entities (siehe Kapitel "XML-Syntax") wird angegeben, wo sich das Entity physisch befindet. Der Ort kann durch eine URL spezifiziert werden. Dadurch wird es möglich, daß sich Dokumente aus Bestandteilen anderer Dokumente zusammensetzen. Möglicherweise werden die Inhaber von Internet-Shops zu den ersten
gehören, die unter einen gewissen Zugzwang geraten, denn wenn sich eine
Reihe von Shop-Besitzern darauf geeinigt hat, welche Artikel-Bezeichnungen
verwendet werden sollen und welche Struktur die Dokumente haben sollen, in
denen die Angebote geliefert werden, dann müssen die anderen mitziehen.
Vorausgesetzt wird dabei, daß es möglich ist, Programme zu schreiben
(sogenannte Agenten), die imstande sind, selbständig das Netz zu
durchwandern und selbständig Preise zu vergleichen. Ein Shop-Besitzer, der
das entsprechende Datenformat nicht verwendet, muß befürchten, daß
seine Angebote von den Agenten übergangen werden. | |||||||||||||||||
| |||||||||||||||||
Aktualisiert: |