20
www.KnowWare.de 13 KnowWare EXTRA Johann-Christian Hanke 80 Seiten für Einsteiger XML Deutschland: 4,- EUR Österreich: 4,60 EUR Schweiz: 8 SFR Luxemburg: 4,70 EUR Italien: 5,50 EUR 4,-

80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Embed Size (px)

Citation preview

Page 1: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

www.KnowWare.de

13 KnowWare EXTRA

Johann-Christian Hanke

80 Seiten

für Einsteiger

XML

Deutschland: 4,- EUR Österreich: 4,60 EUR

Schweiz: 8 SFR Luxemburg: 4,70 EUR Italien: 5,50 EUR

4,-€

Page 2: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Acrobat Reader - Bestellung - Autoren gesucht

Acrobat Reader: Wie ...F5/F6 öffnet/schließt die Ansicht Lesezeichen

Strg+F sucht

Im Menü Ansicht stellst du ein, wie die Datei gezeigt wird

STRG+0 = Ganze Seite STRG+1 = Originalgrösse STRG+2 = Fensterbreite

Im selben Menü kannst du folgendes einstellen:: Einzelne Seite,Fortlaufend oder Fortlaufend - Doppelseiten .. Probiere es aus, umdie Unterschiede zu sehen.

Navigation

Pfeil Links/Rechts: eine Seite vor/zurück

Alt+ Pfeil Links/Rechts: Wie im Browser: Vorwärts/ZurückStrg++ vergrößert und Strg+– verkleinert

Bestellung und Vertrieb für den BuchhandelBonner Pressevertrieb, Postfach 3920, D-49029 OsnabrückTel.: +49 (0)541 33145-20Fax: +49 (0)541 [email protected]/bestellen

Autoren gesuchtDer KnowWare-Verlag sucht ständig neue Autoren. Hast du ein Thema,daß dir unter den Fingern brennt? - ein Thema, das du anderen Leutenleicht verständlich erklären kannst?Schicke uns einfach ein paar Beispielseiten und ein vorläufigesInhaltsverzeichnis an folgende Adresse:[email protected] werden uns deinen Vorschlag ansehen und dir so schnell wiemöglich eine Antwort senden.

www.knowware.de

Page 3: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Inhaltsverzeichnis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

3

InhaltsverzeichnisVorwort: Herzlich willkommen zum XML-Kurs! 5

XML ist erst in der Entwicklung! 5Was lernst du hier? 5Was ist KnowWare? 5

So fing alles an: SGML alsDokumentbeschreibungssprache 6

Der Turmbau von Babel 6SGML wird zum ISO-Standard 6

SGML ist kompliziert! 6HTML als Seitenbeschreibungssprache für dasWeb 7

WWW: Das Internet wird grafisch 7HTML als Sprache für Webseiten 7Die berühmten Tags 8Hyperlinks gehören auch dazu 8HTML wurde populär 8

Eigenschaften von XML als Sprache derZukunft 9

Was ist XML überhaupt? 9Mythen und Fakten zu XML 9

Nachteile von HTML 9Vermischung: Struktur und Layout 10

Beschränkung auf das Web 10XML als reine Struktursprache 10

Haupteigenschaften von XML 11Weitere Eigenschaften von XML 11

XML als freier, lizenzfreier Standard 11XML ist internationalisierbar 11XML ist rein textbasiert 11Ideal für langfristige Dateiablage 12XML ist modular, erweiterbar 12

Sprachen auf XML-Basis 12Einige Anwendungsbeispiele: XML in derPraxis 13

FileMaker nutzt das XML-Format 13WAP ist eine XML-Anwendung 13HTML im neuen Gewand: XHTML 13Halbherzig: Microsoft Office 13Windows Script-Host 14Channel Definition Format 14XML bei StarOffice/OpenOffice 14Blick hinter die Kulissen 14

Welche Nachteile hat XML? 15Eine Struktur, viele Layouts 15

Reines XML 15Das KnowWare-Bestellformular 16

XML direkt im Browser ausgeben? 16Praxis-Beispiel XML-Guru 16Praxistext nicht bestanden 17XML nur �hinter den Kulissen� 17Die Lösung: Transformieren! 17Transformieren per XSL 17

Zusammenfassung: Wichtige Eigenschaftenvon XML 18

Definieren der eigenen Tags 18Eigene Attribute festlegen 18Beschreibung per Regelsatz (DTD) 18Trennung von Struktur und Layout 18

ÜBUNGSTEIL A: Allgemeine Fragen zurEinführung 19

Lektion 1: Hallo XML! Erste praktischeVersuche mit XML 20

Das Ergebnis im Internet Explorer ausgeben 20Der Prolog 21

Das Wurzelelement 21Ansicht im Netscape-Browser 21

Verwendung von Sonderzeichen und Entitäten 22Umlaute verwenden 22

Die wichtigsten Ländercodes 22Zeichensatz falsch? Fehlermeldung! 22

Verbotene Zeichen umschreiben 23Freundlichere Namen für Entitäten 23Codes für wichtige Sonderzeichen 23Gesamtübersicht zu Zeichensätzen 23

Lektion 2: Baumstruktur von XML anhand einerTitelliste 24

Zuerst wird die Titelliste geplant, strukturiert 24Neben dem Wurzelelement gibt es weitere Knoten 25Der Browser als Parser: Was ist denn Parsen? 25

Titelliste als wohlgeformtes Dokument 25Lektion 3: Eine DTD für die Titelliste erstellen 26

Dokumenttyp-Definition 26Gültig oder wohlgeformt? 26Planen der DTD 26DTD erstellen 26

Quelltext der Datei titel.dtd 27Die Bedeutung der einzelnen Zeilen 27

Wofür steht PCDATA? 28Weitere Schlüsselwörter und Indikatoren 28So setzt du einen Verweis auf die DTD 29

Aufbau der Dokumenttyp-Deklaration 29Zusatzwissen: Interne versus externe DTD 30

Syntax zum Erstellen der internen DTD 30Lektion 4: XML-Dokument auf Gültigkeit prüfen 31

Sinn und Unsinn der DTD 31Wer überprüft den Code? 31

Aufrufen im Internet Explorer 31Bitte in die Zukunft denken! 32

Prüfprogramm XMLINT 32So validierst du mit XMLINT 32Ist das Dokument fehlerfrei? 33

Validieren im Internet Explorer 33Validator installieren 33Validieren über Kontextmenü 33

ÜBUNGSTEIL B: Erste Übungen zu XML 34Lektion 5: Tags durch Attribute genauerbestimmen 35

Wir planen die Produktdatenbank 35XML-Elemente und Feldnamen 35Erst die DTD planen 35

Bessere Übersicht durch die grafische Darstellung 36Tags durch Attribute näher bestimmen 36Attribute in der DTD definieren 37So sieht die DTD aus: 37

Die Anweisungen der DTD im Überblick 37Das XML-Dokument 38Das XML-Dokument im Überblick 39

Lektion 6: Mit und ohne Vorgabewert? Mehr zuAttributen! 40

1. CDATA: Keinen Wert vorgeben 40Beispiel: Tag zur �Bildbeschreibung� 40Die DTD zur Attributdefinition 40Vor und Nachteile von CDATA 41Schlüsselwort NMTOKEN 41

2. #IMPLIED: Attribut ist optional 41Übung macht den Meister! 41

Page 4: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Inhaltsverzeichnis und Index

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

4

3. Vorgabe: Wert voreinstellen 424. FIXED: Vorgabe festschreiben 42

Lektion 7: Entitäten als �Platzhalter� nutzen 431. Mehr Komfort: Interne Entitäten 43

XML-Datei für einen Brief 43DTD für den Brief erstellen 43Entität einfügen 43Entität definieren 43Die Tücken der Praxis: Umlaute? 44

2. Geht auch: Externe Dateien 44Die DTD im Überblick 44

3. Parameter-Entities in der DTD 44Beispiel Inventarliste 44Die XML-Inventarliste im Überblick 45Syntax der Parameter-Entitäten 45Das Beispiel DTD 45

ÜBUNGSTEIL C: Attribute, DTD und Entitäten 46Übung C2: Dokumenttyp-Definition schreiben 46

Lektion 8: Schachtelungen und Klammerspielein der DTD 47

Eine Dokumentstruktur darstellen 47Die dazugehörige DTD dokument.dtd 47

Gruppen und Operatoren 47Oder-Verknüpfung im Detail 47Wiederholungs-Operator Plus (+) 47

Operator Sternchen (*) 48Und-Verknüpfung und Gruppe 48Untergruppen erstellen 48

Lektion 9: Von Namensräumen undDateninseln 49

Räume für Tags: name spaces 49Problem der Doppeldeutigkeit 49Doppeldeutigkeiten reparieren 49Namensraum als �Raum für Namen� 49Namensraum-Präfix: Syntax der Tags 49

So deklarierst du einen Namensraum 50Das Attribut xmlns und der URI 50Die mysteriöse Web-Adresse 50

HTML-Datei in XML einbinden 51Linie intern abschalten! 51Browservorschau 51

Von Hiddensee nach Sylt: Dateninseln in HTML 52Lektion 10: HTML lebt: XHTML als Neufassungvon HTML 53

XHTML als Neufassung von HTML 53Strenge Regeln von XML 53

Dokumenttyp-Deklaration setzen 54Die drei Fassungen der DTD 54Die drei DTDs für XHTML 55

Die DTD der Übergangsfassung 55Der Kompatibilitäts-Modus (Quirks-Modus) 55

Testen: W3C-Validation Service und TIDY 56Ein Musterdokument in XHTML 56

Der Quelltext kurz erklärt 56ÜBUNGSTEIL D: Klammersetzung, Namensräumeund XHTML 57Lektion 11: XML-Dateien formatieren �Schnelleinstieg in CSS 58

Mini-Workshop zur Einführung 58CSS-Datei erstellen 58Verweis auf CSS-Datei setzen 59

Der Tiefere gewinnt: Das Kaskadenprinzip 59Grundlagen von CSS 60

Selektoren 60Die wichtigsten Attribute und Eigenschaften von CSS 60

Lektion 12: Produktliste mit CSS gestalten 61Attraktive Gestaltung mit CSS 61

Die CSS-Datei erstellen 61Wir erstellen die CSS-Datei inKompaktschreibweise 61CSS-Datei Schritt für Schritt erklärt 62

Umbruch mit display: block 62Lektion 13: Mehr Möglichkeiten mit XSL bzw.XSLT 63

Einführung in XSL und XSTL 63XSLT wie Transformation 63Schritt für Schritt: Erstes Beispiel 63So sieht XSL aus: Die Datei hallo.xsl 64Der Quelltext Schritt für Schritt 64Tabellenstruktur um das Dokument legen 65

Lektion 14: XSLT für Profis: Gestalten undSortieren 66

Beispiel Titelleiste (titel.xml) 66Gestalten mit CSS 66For-each-Schleife 66

Elemente einbinden 66Element kommt mehrfach vor 66

Daten sortieren 66Quelltext der Datei titel.xsl im Überblick 67Quelltext der Datei titel.css im Überblick 67

ÜBUNGSTEIL E: Übungen zu CSS und XSLT 68Lektion 15: Einführung in das Konzept vonXML-Schema 69

Warum Schema statt DTD? 69Beispiel Titelliste 69

Referenz auf Schema-Datei setzen 69Die einfache Variante 70

Die Schema-Datei titel.xsd 70XSD ist XML: Prolog und Namensraum 70Tag definieren mit xsd:element 71

Eine Ebene hinabsteigen 71Häufigkeit des Vorkommens 71Datentyp definieren 71Repetitio est mater studiorum 71

maxOccurs und minOccurs 72type="xsd:decimal" 72

Bitte validieren! 72Und es geht doch ... 72

Lektion 16: Hyperlinks mit XLink 73Hyperlinks in HTML und XML 73

Das XLink-Beispiel 73Namensraum definieren 73

Informieren, Lernen, Nachfragen: Ressourcenzu XML 74

Informieren: Seiten des W3C 74Lernen: W3Schools und Co. 74Nachfragen: Usegroups zu XML 74

ÜBUNGSTEIL F: Übungen zu Schema undHyperlinks 75Stichwortverzeichnis 76

Page 5: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Vorwort

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

5

Vorwort: Herzlich willkommen zum XML-Kurs! XML ist erst in der Entwicklung!Ich denke nicht gerne an meinen ersten XML-Kurs zurück. Der Grund: Ich hatte sie ent-täuscht! Bisher waren sie mir treu gefolgt, meineKursteilnehmer. Ich hatte ihnen die erstenSchritte beim Gestalten von Webseiten beige-bracht, hatte sie �gequält� mit HTML und Java-Script und ... sie kamen wieder! Sie kamen wie-der, denn die Arbeit an Webseiten machte ihnenSpaß.Sie kamen wieder, denn von XML erhofften siesich mehr. Wenn die ganze Welt davon redet,musste doch etwas dran sein. Sie suchten denultimativen Kick für ihre Webseiten, doch siemerkten bald, dass ...• XML nicht vorrangig zum Gestalten von

Webseiten gedacht war und damit keinesfallsHTML ablösen würde. (Zumindest nicht inden nächsten Jahren.)

• XML im Gegensatz zu HTML erst entwickeltwird. Viele Dinge, die mit HTML seit Jahrenselbstverständlich sind, gingen mit XML ein-fach nicht. Selbst simple Querverweise(Hyperlinks) funktionierten nicht einmal imInternet Explorer 5.5.

• XML alleine überhaupt keine Daten darstelltsondern nur die Struktur sichert.

• XML nur von den allerneusten Browsernunterstützt wird und schon deshalb für dasWeb allein eigentlich ungeeignet war.

Doch Bange machen galt nicht. Nach dem erstenSchock entwickelten meine Teilnehmer eine ArtPioniergeist.Es kann auch spannend sein, wenn man sich miteiner neuen Technologie beschäftigt. Mit einerTechnologie, die sich wohl erst in den nächstenJahren voll durchgesetzt haben wird. EinerTechnologie, von der man derzeit noch nicht sa-gen kann: �So ist es�, sondern sagen muss �Sowird es sein�, oder schlimmer noch �So könntees werden�. Alles ist im Fluss.

Einiges von dem, was ich hier beschreibe, giltderzeit erst als Empfehlung, nicht als verab-schiedeter Standard. Änderungen vorbehalten!

Was lernst du hier?Schritt für Schritt mache ich dich mit den Ei-genschaften und Vorteilen der neuen Seitenbe-schreibungssprache (von der ich inzwischendurchaus überzeugt bin!) vertraut. Das Heft istals Kurs aufgebaut, wir gehen beispielorientiertvor und üben zwischendurch!Hier der Inhaltsüberblick:• Die Väter von XML: SGML und HTML• XML versus HTML• Vorteile von XML als Sprache der Zukunft• XML gibt es schon: WML, WSF und Co.• XHTML als Neuformulierung von HTML• XML-Praxis: wohlgeformte Dokumente• Einführung in das Konzept der DTDs• XML-Dateien gültig machen• Der neue Standard: XML-Schema• Test durch validierende Parser• XML-Dokumente mit CSS gestalten• Mehr Möglichkeiten durch XSLT

Leserservice! Ich biete dir alle Beispieldateienzum direkten Download an. Lade sie dir von derServiceseite zum Heft www.jchanke.de/xmlherunter. Dort findest du weiterführenden Tippsund Infos zum Heft und ein Feedback-Formular.

Was ist KnowWare?KnowWare ist ein Projekt, Wissen auf möglichsteinfache, verständliche und preiswerte Art zuvermitteln. Diese geniale Idee stammt von Mi-chael Maardt, er gab 1993 in Dänemark seinerstes Heft �Nutze Deinen PC optimal� heraus.Inzwischen gibt es die handlichen KnowWare-Hefte in vielen Ländern der Erde, allein aufDeutsch sind weit mehr als 80 Titel erschienen.Über www.knowware.de kannst du dir von je-dem Heft ein genaues Bild machen und Inhaltund Probeseiten herunterladen. Mehr über meineanderen 16 KnowWare-Titel und über mich fin-dest du auch auf www.jchanke.de/knowware.

Dein �XML-Tutor� Johann-Christian Hanke,Berlin im Juni 2002

Page 6: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Dokumentbeschreibungssprache SGML

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

6

So fing alles an: SGML als DokumentbeschreibungsspracheVielfalt macht krank! Vielleicht kennst du dasDrama auch: Du bekommst einen Text von ei-nem Bekannten und ... kannst ihn nicht öffnen.Der Grund: Der Bekannte benutzt eine andereTextverarbeitung als du und es gibt keinen Filter.Doch selbst wenn du die gleiche Textverarbei-tung verwenden würdest, wäre der Erfolg nochnicht garantiert. Angenommen dein Bekannterbenutzt eine neuere Version: Auch dann sieht esschlecht aus, denn dein Programm kennt dasFormat der neueren Version nicht.

Der Turmbau von BabelUnd tatsächlich geht es bei der Computerei oftzu wie beim �Turmbau von Babel�. Jeder Her-steller nutzt für seine Programme sein eigenesFormat und alle paar Jahre ändert er dieses. Undselbst die raffiniertesten Filter schaffen es nichtimmer, alle Eigenschaften verlustfrei von einemFormat ins andere zu transferieren.Was machst du, wenn du in zehn Jahren die Do-kumente ansehen möchtest, die du damals ver-fasst hattest? Ob das so einwandfrei klappt?Einverstanden, bei Privatkorrespondenz mag dasweniger tragisch sein, doch was passiert mitwichtigen Dokumenten von Behörden und In-stitutionen?Dieses Problem ist nicht neu, sondern zeichnetesich schon vor Jahrzehnten ab. Deshalb befasstesich schon in den siebziger Jahren des vorigenJahrhunderts ein gewisser Professor Charles F.Goldfab im Auftrag von IBM mit der Doku-mentbeschreibung. Heraus kam die so genannteGML, die Generalized Markup Language.

Ziel der GML war es, Dokumente so zu be-schreiben, dass das Ergebnis weder von einerbestimmten Plattform noch von einer spezifi-schen Anwendung abhing. Es ging nicht um dasAussehen eines Dokumentes, sondern um dielogische Struktur wie die Einteilung in Über-schriften, Kapitel, Seiten, Abschnitte.

SGML wird zum ISO-StandardGML wurde im Laufe der Jahre weiterentwi-ckelt. Heraus kam SGML. SGML steht als Ab-kürzung für Standardized Generalized MarkupLanguage, zu deutsch �allgemeine, standardi-sierte Sprache zur Textauszeichnung�.Die Entwicklungen gingen so weit, dass SGML1986 als internationaler Standard anerkanntwerden konnte, als ISO 8879.

Wichtig zu wissen: SGML speichert nichtdas Layout, sondern die logische Struktur

von Dokumenten.

Ziel von SGML war es tatsächlich, wichtigeDokumente unabhängig von ständig wechseln-den binären Dateiformaten (Word, WordPerfect)oder Betriebssystemen (Windows, Mac-OS,Unix usw.) dauerhaft elektronisch sichern zukönnen.Behörden, Firmen, Bildungseinrichtungen undInstitutionen speichern Dokumente in SGML.Ein Bekannter von mir schwärmte noch vor Jah-ren, dass nun alle wichtigen wissenschaftlichenArbeiten in SGML gesichert würden. Er arbei-tete als Assistent an einer Berliner Universität.Er war wahrscheinlich einer der wenigen, diedamals schwärmten. Die meisten kannten SGMLüberhaupt nicht, trotz seiner offenbarüberragenden Vorteile. Oder war da noch was?

SGML ist kompliziert!SGML hatte einen entscheidenden Schönheits-fehler: Es war zu kompliziert. Man hatte bei derEntwicklung an Verwaltungen und Behördenund nicht an �Otto Normaltexter� gedacht.Demzufolge waren die Software-Werkzeugezum Erstellen von SGML teuer und nicht sehrweit verbreitet.Und so wundert es kaum, dass SGML außerhalbder schon erwähnten Einrichtungen kaumVerbreitung fand. Doch dann kam das WorldWide Web und die Welt veränderte sich ...

Page 7: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

HTML als Sprache für das Web

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

7

HTML als Seitenbeschreibungssprache für das Web Was war 1989/90? Richtig, der Mauerfall, dieWende. Doch darauf wollte ich gar nicht hinaus.Das World Wide Web wurde erfunden!Und zwar nicht von Honecker, Gorbatschowoder Helmut Kohl, sondern von Tim Berners-Lee in der neutralen Schweiz. Dieser Menscharbeitete als Informatiker an einem Kernfor-schungszentrum bei Zürich.

WWW: Das Internet wird grafischWas die Meisten vergessen: Das Internet gab eszu der Zeit schon längst. Schließlich gehen dieUrsprünge dieses Netzwerks bis in die 60erJahre zurück! Die ersten E-Mails schickte mansich schon 1971 in den USA, beliebte Diensteim später weltweit operierenden so genannten�Internet� wurden neben E-Mail auch das Use-net (Diskussionsforen), der Dateidownload mitFTP, die Dateisuche mit Archie oder die WAIS-Datenbankrecherche.Doch die Bedienung des Internets war einGraus: Es handelte sich um einen durch unddurch elitären Verbund für elitäre Menschen wieMilitärs, Wissenschaftler und Universitäts-Mit-arbeiter, und selbst die schafften es nicht immer.Um Informationen abzurufen, musste man erstkryptische Befehle lernen und sich die Fingerauf der Tastatur wund hämmern. Wer DOS kenntoder schon einmal mit reinen Unix-Rechnern zutun hatte, weiß, was ich meine. Eine grafischeBenutzeroberfläche gab es damals nicht.

Nichts für Otto Normalverbraucher also, ganzabgesehen davon, dass du oder ich zu dieser Zeitsowieso noch keinen Zugang bekommen hätten.Ich glaube, dass die meisten noch nicht einmaletwas von der Existenz des Internets wussten.

Das änderte sich spätestens mit der Erfindungvon Tim-Berners Lee. Sie hieß: World WideWeb. Grundlage war eine Dokumentbeschrei-bungssprache namens HTML.Mit dem World Wide Web kamen zum erstenMal die bunten, anklickbaren Seiten. Es kamdas, was man landläufig auch als Homepage be-zeichnet.

Eine �Homepage� oder besser �Webseite� istnichts weiter als ein Dokument mit Text, Quer-verweisen und Grafiken. Dieses Dokument odervielmehr diese Dokumente liegen auf den Web-servern im World Wide Web. Anschauen kannman sich das Ganze mit Hilfe eines Browsers.Das ist ein Anzeigeprogramm, welches man aufseinem heimischen Rechner installiert.

Die heute bekanntesten Browser heißenInternet Explorer, Netscape Navigator,

Mozilla und Opera.

Zum Transport der Daten vom Webserver zumBrowser dient ein Protokoll namens HTTP, Hy-pertext Transfer Protocol. (Deshalb also dashttp:// vor jeder Web-Adresse!)

Betrachte den Internet-Dienst World Wide Webruhig als eine Art �grafische Oberfläche� für dasInternet. Alles ist intuitiv bedienbar mit derMaus.

HTML als Sprache für WebseitenNun haben wir die ganze Zeit über diese Doku-mente geredet, interessant ist vor allem dieSprache, in der sie verfasst sind. Unterhalten wiruns deshalb nun über HTML, die HypertextMarkup Language.Lee war nicht dumm und hat das Rad natürlichnicht neu erfunden. Er besann sich auf vorhan-dene Standards. Webseiten im HTML-Formatsind eine Kombination von:• ASCII• und SGML.

ASCII ist sicher bekannt, die Abkürzung stehtfür American Standard Code for InformationInterchange. Es handelt sich um ein standardi-siertes, reines Textformat. ASCII ist praktischder �kleinste gemeinsame Nenner� beim Daten-austausch zwischen Rechnern. Jedes einfacheSchreibprogramm kann ASCII speichern bzw.lesen.Ältere Computerhasen kennen ASCII vielleichtnoch unter der Bezeichnung MS-DOS-Text.

Page 8: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

HTML als Sprache für das Web

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

8

Die berühmten TagsNun kann man allein mit ASCII jedoch wederÜberschriften kennzeichnen noch Eigenschaftenwie fett, kursiv oder unterstrichen zuweisen.Und hier griff Lee auf SGML zurück. In SGMLwerden Eigenschaften wie �Das ist eine Über-schrift, dieser Text beinhaltet eine Aufzählungusw.� mit so genannten Tags dargestellt. Diese�Markierungen� notiert man in spitzen Klam-mern.

Es gibt stets ein Tag zum Einschalten undeines zum Ausschalten

Wenn du eine Überschrift erster Ordnung dar-stellen möchtest, schreibst du:<h1>Headline erster Ordnung</h1>

H1 ist dabei die Abkürzung für Heading 1,Überschrift erster Ordnung. Eine Überschriftzweiter Ordnung wäre eine H2 usw. usf. Es gibtauch Tags für Listen, Definitionen, fett, kursivusw. usf.

Das große Verdienst von Lee war es, nur einenbegrenzten Tag-Vorrat von SGML zu überneh-men. Er nutzte nur die Anweisungen, die manunbedingt brauchte. Damit wurde HTML zu ei-ner vergleichsweise sehr einfach zu verstehen-den Untermenge von SGML. Bald gab es auchdie ersten allgemein erhältlichen Anzeigepro-gramme für HTML, ich erinnere an den BrowserMosaic oder den frühen Netscape Navigator.

Nun heißt es zwar, dass sich weder SGML nochHTML vorrangig um das Layout kümmern. ImGegenteil, es geht im Prinzip um die Struktur!Allerdings kommen die gängigen Browser beider Interpretation von HTML zu ähnlichen Er-gebnissen, egal ob bei der Darstellung von Text,Überschriften oder Listen. Schon deshalb mussman den HTML-Tags gewisse Layouteigen-schaften zugestehen.Außerdem gibt es natürlich auch spezielle An-weisungen zum Festlegen von Schriftart, -größe,Form und Farbe. Dahinter verbirgt sich eine zu-sätzliche Layoutsprache namens CSS, CascadingStyle Sheets, die HTML optimal ergänzt.

Hyperlinks gehören auch dazuHätten wir doch beinahe die Querverweise ver-gessen, die �Sprungschanzen� zu anderen Sei-ten. Die gehören zum Web wie die sauren Gur-ken zum Spreewald.Auch dafür hat sich Lee eine Notation ausge-dacht, die mit dem Anchor-Tag (a wie Anker)beginnt. Ein Querverweis zur Seite von Know-Ware sieht so aus:<a href="http://knowware.de">DieserLink führt zu KnowWare</a>

Im Browser angezeigt wird dabei nur der TextDieser Link führt zu KnowWare, in der Regelunterstrichen.

Jetzt wird dir sicher auch die Bedeutung derAbkürzung HTML klar. Hinter Hypertext Mark-up Language verbirgt sich die Auszeichnungs-sprache für �Hypertext-Dokumente�, also für dieWebseiten mit Hyperlinks.

HTML wurde populärHTML ist so einfach und verständlich, dass sichdiese Sprache schnell durchgesetzt hat. DasWorld Wide Web und seine HTML-Seiten ver-halfen dem Internet erst zu der Popularität, diees heute besitzt.

Für die Entwicklung der Sprachen und Stan-dards für das Web ist übrigens ein Verband na-mens World Wide Web Consortium verantwort-lich, kurz W3C. Was das W3C vorschlägt, wirdwenige Jahre später in der Regel zum Industrie-standard. Im W3C sind verschiedene Interessen-gruppen organisiert; auch Firmen wie Microsoft,IBM, Adobe oder Sun. Leiter des W3C ist TimBerners-Lee, die Homepage des Verbands fin-dest du unter www.w3.org.

HTML liegt derzeit in der Version 4.x vor. DieSprache ist ausgereift. Eine ausführliche Einfüh-rung in HTML bekommst du in meinem Heft�Homepages für Einsteiger�, in �Homepages mitHTML und CSS� oder natürlich bei StefanMünz unter www.selfhtml.org.HTML-Vorkenntnisse helfen beim Verstehenvon XML, sind aber nicht Bedingung.

Page 9: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Eigenschaften von XML als Sprache der Zukunft

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

9

Eigenschaften von XML als Sprache der Zukunft Was SGML verwehrt blieb, hat der AblegerHTML spielend geschafft: HTML wurde einBestseller. Firmen, Institutionen und immermehr Privatleute nutzen HTML, um ihre Inhalteins Web zu stellen.Die Anzeigeprogramme für HTML-Seiten wer-den immer besser, die Software-Werkzeugeauch. Zwar bevorzugt der Profi weiterhin dieHandarbeit, doch längst können große Textverar-beitungen ihre Dokumente seit Jahr und Tagauch als HTML-Datei abspeichern.

HTML hat sich als allgemeiner Web-Standard durchgesetzt.

Und wenn HTML nun so großartig ist, warumbricht man dann nicht in lang anhaltenden Jubelaus und lässt es dabei bewenden?

Was ist XML überhaupt?Wieso musste man schon wieder etwas Neueserfinden? Warum nach SGML und HTMLplötzlich XML? Was ist das überhaupt?

Die Abkürzung XML steht für eXtensible Mark-up Language. Das kann mit erweiterbare Aus-zeichnungssprache übersetzt werden. XMLwurde 1998 vom World Wide Web Consortium(W3C) vorgestellt, die ersten Entwicklungenbegannen aber schon 1996.

Mythen und Fakten zu XMLZu XML grassieren derzeit einige Mythen undfalsche Annahmen in der Internet-Gemeinde.Richtig ist, dass es sich bei XML um eine Doku-mentbeschreibungssprache handelt. Das hatXML mit HTML oder SGML gemeinsam. Rich-tig ist auch, dass man seine eigenen Tags defi-nieren kann! Jawohl, in XML bist du der Meisterüber die Dokumentstruktur!Falsch ist allerdings die Annahme, XML sei inerster Linie der neue �Kick� zum Erstellen tollerinteraktiver Webseiten. XML ist weder der di-rekte Nachfolger von HTML noch eine reineWeblayout-Sprache im eigentlichen Sinne.

Ich bin sogar davon überzeugt, dass HTML bzw.die neue �HTML-Variante� XHTML in SachenWeblayout noch auf Jahre hinaus der gängigeStandard bleiben werden. XML setzt sich imWeb erst langsam durch, da XML erst in An-sätzen unterstützt wird.

Working Drafts beim W3C: XML ist noch eine BaustelleDoch ehe wir uns die weiteren Eigenschaftenvon XML anschauen, klären wir die Frage, wa-rum man überhaupt eine neue Dokumentbe-schreibungssprache brauchte!

Nachteile von HTMLUm das zu verstehen, erörtern wir zuerst dieNachteile von HTML. Denn mit der Zeit wurdeklar, dass auch HTML nicht das Non-plus-ultrawar.• HTML wurde für die Anzeige im Web-Brow-

ser gedacht, eignet sich daher weniger fürden Druck oder für Layoutaufgaben. Seiten-ränder? Papierformat? Spaltensatz? Kopf-und Fußzeile? Inhaltsverzeichnis, Index undQuerverweise? Selbst unter Mithilfe derLayoutsprache CSS kannst du HTML dieseEigenschaften kaum entlocken.

• Der Tag-Vorrat ist fest vorgegeben, dadurchist diese Sprache nicht sehr flexibel. Wasmachst du, wenn du beispielsweise Vektor-grafiken oder Kalkulations-Tabellen in dei-nen Projekten brauchst? Nur mit HTML gehtdas nicht!

Page 10: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Eigenschaften von XML als Sprache der Zukunft

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

10

• HTML allein kann keine sich dynamisch ver-ändernden Inhalte darstellen. Gerade das istallerdings wichtig: Du brauchst aus einerriesigen Bestelldatenbank nur bestimmteProdukte? Fehlanzeige! Die Datendarstellungin HTML-Tabellen ist statisch und erst mitHilfsmitteln wie Skriptsprachen (Perl, PHPusw.) kannst du Inhalte aus Datenbankenabfragen und in immer wieder neu zuerstellenden HTML-Dokumenten ausgeben.

• Struktur und Layout sind vermischt.

Gerade der letztgenannte Nachteil ist wohl derentscheidende! Was ist daran so nachteilig?

Vermischung: Struktur und LayoutIch hatte behauptet, dass sich HTML vorrangigum die Struktur kümmert, weniger um das Lay-out. Das stimmt auch, aber nur teilweise.Wie schon erwähnt besitzt in HTML jedes Tageine bestimmte eingebaute Eigenschaft. EineÜberschrift erster Ordnung <h1></h1> wirdgrößer als eine <h2></h2> angezeigt. Über-schriften und Absätze (<p></p>) schaffen sichaußerdem einen bestimmten Abstand rund-herum.Eine mit den Tags <b></b> (b wie bold) for-matierte Passage wird gefettet und das Tag <hr>erzeugt je nach Browser eine mehr oder wenigeraufwändig gestaltete Linie. So könnte man alleTags durchgehen und stellt schließlich fest, dassHTML in Grenzen auch Layoutaufgabenübernimmt.

In HTML sind Struktur und Layoutdeshalb vermischt.

Allerdings ist HTML nichts Halbes und nichtsGanzes: In Sachen Layout ist HTML wegen sei-ner begrenzten Gestaltungsmöglichkeiten nichtoptimal. Deshalb arbeiten Webdesigner mitTrick 17 oder verwenden mit CSS-Style Sheetseine zusätzliche Layoutsprache.Die strukturellen Nachteile hatten wir schon be-sprochen: Der Tag-Vorrat reicht nicht aus unddie statische Datenverwaltung mit HTML-Ta-bellen ist alles andere als flexibel. Für zukünf-tige Aufgaben ist HTML ungeeignet.

Beschränkung auf das WebAber auch heute ist HTML mit seiner Beschrän-kung auf das Web recht unflexibel.

Falls man die auf Web-Seiten dargestellten In-formationen für andere Zwecke (Printkatalog,Audio-Ausgabe usw.) braucht, muss man dieseerst umständlich in das jeweils andere Formatkonvertieren.

Umgedreht gilt das natürlich auch: Daten ausTextverarbeitungen, Katalogen oder Datenban-ken müssen erst in HTML umgewandelt werden,damit sie im Web dargestellt werden können.Wäre es nicht toll, wenn man ein Basis-Formatfür alles hätte?Dieses Basisformat gibt es nun!

XML als reine StrukturspracheXML ist im Gegensatz zu HTML eine reineStruktursprache, die keinerlei Layouteigen-schaften transportiert. Daraus folgt: XML eignetsich in Reinform zwar nicht zur Darstellung(Anzeige) von Daten. Dafür sichert es aber inganz hervorragender Art und Weise die Struktureines Dokumentes.

XML speichert nur die Daten, nur die Struktur.Die Gestaltung kann man mit Hilfe der entspre-chenden Layoutsprache dem jeweiligen Zweckanpassen.

XML ist besonders ideal für Daten, die vonvornherein strukturiert werden müssen. Ichdenke an Adresslisten oder andere in Tabellen-form zu verwaltende Daten wie Datenbanken,wissenschaftliche Belegarbeiten usw. usf.Aber auch für normale Dokumente schaffst dueine Struktur, damit du diese Informationen inXML notieren kannst.

Bevor du ein XML-Projekt beginnst, musstdu stets zuerst die Struktur planen.

Das Erdenken einer Struktur ist zugegebener-maßen recht aufwändig, viel aufwändiger als dassimple Erstellen von HTML-Dokumenten miteinem grafischen HTML-Editor.

Page 11: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Eigenschaften von XML als Sprache der Zukunft

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

11

Haupteigenschaften von XMLDafür sind einige Eigenschaften von XML be-stechend und gehen weit über das hinaus, wasHTML kann:• Du kannst, wie schon erwähnt, deine eigenen

Tags definieren.• Lege zu diesen Tags, falls gewünscht, sogar

Attribute fest.• Per Regelsatz beschreibst du diese Tags und

Attribute exakt. Dieser Regelsatz nennt sichDokumenttyp-Definition, kurz DTD oderSchema. Schema ist der neuste Standard.

• Struktur und Layout sind streng getrennt, icherwähne das deshalb noch einmal, weil es sowichtig ist!

Weitere Eigenschaften von XMLXML besitzt noch weitere Eigenschaften, die derSprache Zukunftsfähigkeit verleihen:

XML als freier, lizenzfreier StandardFangen wir mit dem größten Knüller an. XMList ein offener, lizenzfreier Standard. Jeder kanndieses Dateiformat nutzen, jeder kann es verste-hen, jeder kann es (mit etwas Mühe) lesen. DieFakten liegen auf dem Tisch.

Alle Standards sind auf der Seite des W3Cveröffentlicht, unter www.w3c.org!

Es ist also nicht mehr nötig für Programment-wickler, ihre eigenen, zum Konkurrenten un-kompatiblen binären Dateiformate �zu entwi-ckeln�. Egal ob Textverarbeitung, Tabellenkal-kulation oder Präsentationsprogramm: Mankönnte sich auf einen Regelsatz einigen, der alsallgemeines Format von allen Herstellern ge-nutzt wird.

Ob die Hersteller das wirklich tun, wird sich zei-gen. Zumindest Sun benutzt in seinem neuen Of-fice-Paket StarOffice 6 (Open Office 1.0) dasXML-Format als �Hausformat�. Dazu infor-miere ich dich später noch ganz ausführlich!

Zwar arbeitet auch die Microsoft-Office-Familieschon seit 1999 ansatzweise mit dem XML-Format. Allerdings hat das mit �standardgerecht�nicht viel zu tun: Microsoft benutzt beimKonvertieren nach HTML so genannte XML-Dateninseln, die in HTML eingebettet werden.Hier legt der Hersteller Word- oder Excel-spezi-fische Informationen ab, die den verlustlosenRe-Import in Office sichern sollen.Das eigentliche binäre Standardformat wurdenicht durch XML abgelöst, auch in der aktuellenOffice-Version XP ist alles so geblieben wie ge-habt.

XML ist internationalisierbarXML lässt sich internationalisieren, es arbeitetmit beliebigen Zeichensätzen zusammen. In die-sem Kurs bleiben wir jedoch bei ISO-8859-1,unserem westlichen Zeichensatz.XML ist rein textbasiertDer XML-Standard ist rein textbasiert, benutztkein Binärformat. Was daran so vorteilhaft ist?Hast du dir mal den Spaß gemacht und eineWord- oder Excel-Datei in einem einfachenTexteditor geöffnet?

Gruselig: Binärformat von Word im TexteditorDann siehst du, was ich meine. Hier wird manmit einer verwirrenden Flut unverständlicherZeichen konfrontiert, deren eigentliche Bedeu-tung wahrscheinlich nur Microsoft kennt.Textdateien dagegen können ganz einfach aus-gelesen und verstanden werden.

Page 12: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Eigenschaften von XML als Sprache der Zukunft

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

12

Zugegeben, einen Nachteil hat das Textformat:Der Speicherbedarf ist höher. Doch Speicher-platz wird heutzutage immer günstiger. Deshalbspielt das Argument wohl kaum mehr eine Rolleund die Vorteile des Textformats überwiegen den�Speicherplatz-Nachteil�.

Außerdem gibt es inzwischen längst leistungs-fähige Komprimierformate wie ZIP oder ARJ,mit denen man XML-Dateien auf �handlicheGröße� zusammenschrumpfen kann.

StarOffice-Dokumente werden beim Spei-chern automatisch mit dem Zip-Algorithmus

komprimiert.

Ideal für langfristige DateiablageXML eignet sich genau wie SGML für die lang-fristige Datenablage. Ein weiterer schon ange-sprochener Vorteil: XML kann leicht in andereFormate umgewandelt, transformiert werden.

XML ist modular, erweiterbarÜberall wird sie angewandt: Die Modulbauwei-se. Egal ob bei Ikea-Möbeln, Legosteinen, Per-sonalcomputern oder XML.Und das sind wir schon beim nächsten Punkt:Auch XML lässt sich erweitern, ausbauen.Schließlich heißt es Extensible Markup Langu-age, erweiterbare Auszeichnungssprache.

XML ist eine so genannte Meta-Sprache,auf deren Grundlagen andere Sprachen er-

stellt werden können!

Du kannst sogar selber eigene Sprachen erstel-len, die auf dem Regelwerk von XML beruhen!Doch soweit wollen wir es nicht treiben. Wirgreifen auf vorhandene �Module� zurück.

Sprachen auf XML-BasisViele dieser Module bzw. Sprachen auf XML-Basis gibt es schon bzw. sie befinden sich in derEntwicklung.MathML (Mathematical Markup Language) isteine Beschreibungssprache, gedacht speziellzum Erstellen mathematischer Formeln.Du brauchst ein paar Hyperlinks in XML? Alleinmit XML geht das leider nicht. Doch dieSprachen XLink und XPointer sorgen für dieVerknüpfungen mit anderen Dokumenten. DieVerweismöglichkeiten gehen tlw. weit über dieKonzepte von HTML-Hyperlinks hinaus, dabeispielsweise auch auf ganze Seitenbereicheverwiesen werden kann.Du möchtest etwas Pepp und Multimedia indeine tristen XML-Seiten bringen? Greife zum�SMIL-Modul�. SMIL (Synchronized Multime-dia Integration Language) wird für die Einbin-dung von Multimedia (TV, Video) eingesetztwerden.Vektorgrafiken erzeugst du mit SVG (ScalableVector Graphics). Das ist der künftige Standardzum Erzeugen von skalierbaren Vektorgrafiken.

Die für Wap-Handys gedachten Web-Seitenwerden heute schon in WML erstellt. WML istebenfalls eine �XML-Praxisanwendung�.

So viel Zukunftsmusik! Ist XML denn derzeitschon mehr als ein Wunschtraum und eine rie-sengroße Baustelle?Leider: Baustelle ist der passende Begriff! Docheinige Abschnitte wurden schon fertig gestellt,wie ich dir auf der nächsten Seite zeigen kann.

Page 13: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Einige Anwendungsbeispiele: XML in der Praxis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

13

Einige Anwendungsbeispiele: XML in der Praxis Das eben erwähnte modulare Konzept vonHTML führt hoffentlich dazu, dass sich XML alsplattformunabhängiges, Programm-übergrei-fendes und universelles Dokumentformat durch-setzt.Mutige und viel versprechende Praxis-Ansätzegibt es zuhauf. Egal ob Datenbank oder Office-Anwendung. XML ist längst nicht nur auf dasWorld Wide Web beschränkt.

FileMaker nutzt das XML-FormatSo nutzt beispielsweise der Hersteller FileMakerbei seiner bekannten Datenbank FileMakerPro schon heute den XML-Standard. FileMakerselbst kann sich dadurch auf die ureigenen Auf-gaben einer Datenbank konzentrieren: Auf dasSpeichern, Suchen und Sortieren von Daten.Die Darstellung der XML-Daten und derenUmwandlung in HTML wird dabei von jedemhandelsüblichen Browser übernommen.

Die Datenbank FileMaker setzt voll auf XMLAuf den Webseiten von FileMaker ist dieserVorteil sehr gut dokumentiert. Surfe zuwww.filemaker.de (.com) und suche nach demStichwort xml.

WAP ist eine XML-AnwendungEgal ob Zauberwort oder Flop des ausgehenden20. Jahrhunderts: Auch die auf Wap-Handysdargestellten Web-Seiten wurden schon damalsin WML erstellt. Auch WML ist ein�waschechter XML-Dialekt�.

WAP ist eine Art �Mini-HTML� auf XML-BasisDabei greift WAP auf einige aus HTML be-kannte Tags zurück. Die Syntax wurde jedochdem strengen XML-Standard unterworfen.

HTML im neuen Gewand: XHTMLApropos strenger Standard: Selbst unseremKlassiker HTML wurde vom World Wide WebConsortium als XHTML �neues Leben einge-haucht�. XHTML ist nichts weiter als eine Neu-formulierung des HTML-Standards unter Zuhil-fenahme der strengen XML-Regeln. Dazu mehrInformationen auf Seite 53.

Halbherzig: Microsoft OfficeWie schon erwähnt: Auch Microsoft-Office nutztschon seit 1999 das XML-Format, wenn auchnicht in Reinkultur: MS Office arbeitet beimKonvertieren nach HTML mit so genanntenXML-Dateninseln, die in HTML eingebettetwerden. Hier legt Microsoft ganz einfach Word-oder Excel-spezifische Informationen ab, die denverlustlosen Re-Import in Office sichern sollen.Da das eigentliche binäre Standardformat vonOffice nicht durch XML abgelöst wurde, istdiese Lösung nur halbherzig.

Page 14: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Einige Anwendungsbeispiele: XML in der Praxis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

14

Windows Script-HostDer Windows-Script-Host, die berühmt-berüch-tigte Schnittstelle für Windows-Programmierer,arbeitet seit der Version 2.0 mit WSF, dem Win-dows Scripting Format. Auch dahinter verbirgtsich XML.

Schuld für den schlechten Ruf des Script-Hostssind die vielen E-Mail-Würmer. Viele werdendeshalb aktiv, weil der Script-Host installiert ist.

Channel Definition FormatÜberhaupt scheint Microsoft XML zu lieben,selbst die damals so �hochgepushten� unseligenChannels im alten Internet Explorer 4 werdendurch das �XMLisierte� CDF beschrieben, dasChannel Definition Format.

XML bei StarOffice/OpenOfficeZum Zeitpunkt des Schreibens gibt es im Office-Sektor gerade eine kleine Revolution: Im Mai2002 erschien die erste Office-Suite, die konse-quent auf XML als Standardformat setzt, dasschon erwähnte StarOffice von Sun.

StarOffice kostet in der kommerziellen Versionca. 79 Euro. Du kannst es über www.amazon.debestellen. Die nur leicht abgespeckte kostenfreieVariante heißt dagegen Open Office und stehtauf www.openoffice.org zu Download bereit.

Und tatsächlich speichert StarOffice alle Doku-mente im XML-Format ab. Jeder kann die Infor-mationen einsehen und verändern.

Blick hinter die KulissenDu hast dieses Office auf deiner Festplatte in-stalliert? Mach dir doch einmal den Spaß unduntersuche eine Textdatei!

Ein Probedokument in StarWriter 6

Das Probedokument ist schnell geschrieben. Eswird von StarWriter standardmäßig im Formatsxw abgespeichert, zumindest scheinbar.

In Wirklichkeit dient die jeweilige Endungnur zum Wiedererkennen.

Alle Office-Dokumente werden nach dem ZIP-Verfahren komprimiert. Du kannst sie mit jedemZip-fähigen Entpacker extrahieren, beispiels-weise mit WinZip oder dem eingebauten Ent-zipper von Windows XP. Du musst lediglich dieprogrammspezifische Endung durch zip ersetzenund gelangst an Inhalt der Datei heran! So ein-fach ist das!

Aus sxw mache zip: Und schon entsteht ein Zip-ArchivDer Text-Inhalt des jeweiligen Dokuments findetsich in der Datei content.xml. Du kannst dieseDatei mit einem einfachen Texteditor ansehenoder � nach Entfernen des Verweises auf dieDTD � im Browser betrachten:

Klar strukturiert: Ausschnitt aus der content.xmlIn meta.xml stehen u.a. die so genannten Meta-Informationen über das Dokument, die �Datei-eigenschaften�.In settings.xml findest du Informationen z.B. zurDruckeinstellung u.v.a.m. Die Datei styles.xmlbeherbergt die für das Dokument definiertenFormatvorlagen.

Page 15: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Einige Anwendungsbeispiele: XML in der Praxis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

15

Die Datei meta-inf/manifest.xml beschreibt dieStruktur der XML-Datei usw. usf.

Die so genannten Dokumenttyp-Definitionen(dazu mehr später) legt OpenOffice ebenfalls�öffentlich� auf deiner Festplatte ab.

Jeder kommt also an die Daten heran. Genau wiebei HTML gilt: Wer gute �Quelltext-Kenntnisse�hat, kann Office-Dokumente sogar komplettohne �Office-Aufsatz� erstellen.Genau wie zum Erstellen von HTML der reineTexteditor völlig genügt, kann nun jeder halb-wegs fachkundige Computerfreund Office-Da-teien �mit dem Editor� erstellen. Später suchtman sich sein Office-Produkt nicht mehr nachdem Dateiformat aus (Kann es Word 2000-Da-teien lesen?) sondern nach dem Bedienkomfort.Im Hintergrund produzieren (hoffentlich) alleblütenreines XML.

XML-Schnittstellen sind offen und damit auchgut dokumentiert!

Welche Nachteile hat XML?Doch reden wir einmal über die Nachteile vonXML. Ein offensichtliches Manko von XML istder schon angesprochene größere Speicherplatz-bedarf des Textformats im Vergleich zu binärenDaten. Doch dieser Nachteil wird leicht ausgli-chen: Da Speicherplatz heutzutage immer güns-tiger wird, spielt das Argument schon von daherkaum mehr eine Rolle.Abgesehen davon existieren leistungsfähigeKomprimierformate wie ZIP oder ARJ, die manzum Platz sparenden Sichern von XML-Textda-teien verwenden kann.

Die Entwickler von StarOffice haben solch eineZip-Routine in das Programm eingebaut.

Eine Struktur, viele LayoutsWenn Struktur und Layout getrennt sind, wiesollte man XML-Inhalte dann darstellen? Dashängt davon ab, für welchen Zweck du deineDaten benötigst und ob du sie überhaupt dar-stellen willst.

Bei speziellen XML-Anwendungen musst du garnichts darstellen. Hier übernimmt die jeweiligeAnwendung die Interpretation. Das WSF-Formatfunktioniert beispielsweise nur im WindowsScripting Host ab Version 2.0. Hier geht es umdie Ausführung von Programmierbefehlen beieinem fest vorgegebenen Befehlsvorrat.Auch WML, die Sprache für WAP-Seiten, greiftparadoxerweise auf einen fest vorgegebenen Be-fehlsvorrat zurück. Hier werden die bekanntenHTML-Tags zum Ausgeben der Daten verwen-det. Und zwar im Handy.Und die XML-Dateien von StarOffice bzw.OpenOffice machen eben (bisher) nur in denjeweiligen Programmen Sinn.

Reines XMLDoch schauen wir mal auf �reines XML� in derForm, in der ich es dir beibringen will. Denkenwir zuerst an die Darstellung im Web. Hiergreifst du auf eine Layoutsprache wie CSS oderXSL zurück.Während CSS noch ganz auf die Ausgabe imWeb-Browser abgestimmt ist, wird das noch inEntwicklung befindliche XSL später sicher auchandere Aufgaben übernehmen können.Forme die Daten dann so um, dass sie sich fürden Druck in einem Hochglanz-Katalog eignen.Dafür eignet sich beispielsweise die Druckbe-schreibungssprache Postscript oder der Adobe-Standard namens PDF (Portable DocumentFormat).Transformiere deine XML-Basis-Informationengerne auch in ein Word-Dokument oder eineKalkulationstabelle.Bereite die Daten so auf, dass sie dem Kundenvon einer Telefonsoftware vorgelesen werden.Wie das alles gelöst werden wird, hängt vomjeweiligen Programm ab. Merke dir:

Die einmal festgelegt Struktur bleibt, nur dieAusgabe lässt sich flexibel anpassen.

Doch bleiben wir in der �Kurs�-Realität. Unddie heißt derzeit immer noch Web-Browser undInternet.

Page 16: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Einige Anwendungsbeispiele: XML in der Praxis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

16

Das KnowWare-BestellformularAuch im Internet wird schon kräftig auf XMLzurückgegriffen. Dabei arbeitet dieses Formatjedoch in der Regel �hinter den Kulissen�.Kennst du das KnowWare-Bestellformular aufwww.knowware.de/bestellen? Richtig, es han-delt sich um ein Warkenkorb- und Bestellsystemmit interaktiver Auswertung. Du bekommst alleDaten vor dem Versenden noch einmal ange-zeigt. Selbst eine Bestätigungsmail für den Be-steller wird vom Skript verschickt. Prima.

Das KnowWare-Bestellformular arbeitet mit XMLDoch wenn du zu www.knowware.de/bestellensurfst, wirst du dich zu Recht fragen: Wo istdenn da XML? Richtig, die Seiten basieren aufHTML, welches tlw. statisch als feste Webseite,tlw. jedoch dynamisch mit PHP erzeugt wird.Aber auch hinter diesem Formular steckt XML.Denn der Vertrieb von KnowWare arbeitet miteinem Datenbanksystem, welches auf XML-Daten angewiesen ist. Der Vertrieb benötigt alsoein XML-Dokument.Deshalb musste ich das System so programmie-ren, dass die Bestelldaten intern in eine XML-Struktur umgewandelt und dann an den Vertriebweitergeleitet werden.

Du kannst es überprüfen, wenn du im zweitenBestellschritt einmal in den Quelltext schaust.

Solch ein Bestellformular ist durchaus keinSonderfall mehr. Längst gibt es viele Webseiten,die sogar vollständig auf XML aufbauen. Dochwarum merkst du davon in der Regel nichts?

XML direkt im Browser ausgeben?Macht es Sinn, überhaupt schon Webseiten voll-ständig in XML zu publizieren? So könnte mitStyle Sheet-Sprachen wie CSS (und XSL) dochschon ein exaktes Layout erreicht werden?! DieBetonung liegt hierbei derzeit jedoch noch aufkönnte.

Praxis-Beispiel XML-GuruSchau dir als Praxis-Beispiel die Seiten meinesAutorenkollegen Michael Seeboerger-Weichsel-baum unter www.xmlguru.de an. Er bietet hierauch eine XML-Fassung seiner Seite an.

Internet Explorer: Perfekter Sitz und HaltIn der neusten Versionen des Internet Explorersklappt die Anzeige perfekt. Die Seite ist prak-tisch nicht von einer normalen Webseite zu un-terscheiden. Das Layout stimmt.

Trauriges Ergebnis selbst im Netscape-Browser 6.2Doch selbst im neuesten Netscape-Browserrutscht das Layout völlig durcheinander.

Page 17: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Einige Anwendungsbeispiele: XML in der Praxis

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

17

Praxistext nicht bestandenZugegeben, mein experimentierfreudiger Kolle-ge greift auf XSL als Formatiersprache zurück.Diese ist ein neuer und deshalb noch nicht soweit verbreiteter Standard wie CSS.Doch auch mit CSS habe ich in meinen eigenenExperimenten festgestellt, dass es teils erhebli-che Layoutabweichungen gibt.

Daraus muss man leider schlussfolgern: ReinesXML ist derzeit für die Ausgabe im Web erstbedingt geeignet.

Setzen, sechs. Durchgefallen!

XML nur �hinter den Kulissen�Und trotzdem wird XML immer häufiger auchfür das Web-Publishing eingesetzt. Für die Fir-men bringt das Vorteile:Alle Daten liegen im Hintergrund im XML-Format vor. Sie werden im XML-Format einge-geben und verwaltet. Damit hat man eine auchanderweitig verwendbare Struktur geschaffen,die in jedes beliebige Layout überführt werdenkann. Und das ist der springende Punkt: jedesbeliebige Layout.Denn ausgegeben werden die Daten für das Webweiterhin als HTML bzw. XHTML!

Die Ausgabe erfolgt in der Regel immernoch als klassisches HTML/XHTML.

Doch wie bringt man dieses �Zauberwerk� zu-stande?

Die Lösung: Transformieren!Transformiere die Daten einfach von XML inHTML oder XHTML. Wie? Wenn du auf Num-mer sicher gehen willst, denke ich hierbei inerster Linie an Skriptsprachen. Diese können ausden XML-Basisdaten �klassisches� HTMLerzeugen. Ich denke an PHP, Perl oder das mitASP zusammenarbeitende VBS bzw. JavaScript.

Nur so kann das Dokument letztendlich korrektim Browser angezeigt werden, vor allem, wenndieser noch nicht XML-fähig ist.

Auf Nummer sicher: XML nach HTML transformierenDie Grafik zeigt das Prinzip: Im Hintergrundliegen alle Daten im XML-Format vor. Der An-wender bekommt vom Webserver jedoch eineHTML-Seite zugeschickt. Der Browser mussdafür kein XML beherrschen.

Das Konvertieren von XML nach HTML durcheine Skriptsprache ist jedoch für uns eine rechtaufwändige Geschichte. Du brauchst Program-mierkenntnisse! Dieses Thema werden wir indiesem Kurs nicht weiter behandeln. Denn aus�XML-Sicht� ist es eher eine Notlösung.

Nur nebenbei: KnowWare hält Literatur zu eini-gen Programmiersprachen wie Perl, PHP oderJavaScript bereit, damit du wenigstens einGrundwissen bekommst. Von mir gibt es den imJuni 2002 erschienenen Titel �PHP für Einstei-ger�, der (hoffentlich) auch solides Skripting-Grundwissen vermittelt.

Transformieren per XSLZurück zu XML. Auch hier gibt es eine �Layout-und Transformationssprache�, die direkt in XMLgeschrieben wurde und für XML gedacht ist. Ichrede von XSL, eXtended Stylesheet Language.Es handelt sich um eine spezielle �Transforma-tions-Sprache�, die XML in andere Formateumwandeln kann.Wenn wir uns ab Seite 63 mit dieser Sprache be-schäftigen wirst du feststellen, dass man auchhier von einer Art �Programmierung� redenkann. Der Nachteil von XML für das Web? XSLwird bisher noch ungenügend unterstützt, sieheAbbildungen auf der Vorseite. Doch wir bleibenoptimistisch!

Page 18: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Zusammenfassung: Wichtige Eigenschaften von XML

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

18

Zusammenfassung: Wichtige Eigenschaften von XML Halten wir fest, dass XML allein für das Web-Publishing derzeit noch ungeeignet ist. Völligungeeignet sogar. Außerdem merken wir uns,dass XML hervorragend für Daten geeignet ist,die in eine Struktur gebracht werden müssen. Klingt bisher nicht gerade aufregend, und trotz-dem gibt es ein paar herausragende Eigenschaf-ten, die die Fähigkeiten von HTML weit in denSchatten stellen.

Definieren der eigenen TagsDie erste Eigenschaft klingt wie eine kleineSensation: Du kannst deine eigenen Tags defi-nieren. Richtig gelesen, egal ob du<Ueberschrift1>...</Ueberschrift1>,<absatz>...</absatz> bzw.<Hundekuchen>...</Hundekuchen>

schreibst, alles das ist zulässig. Was du mit ei-nem jeweiligen Tag-Paar jedoch meinst, ist dirüberlassen. Ganz im Gegensatz zu HTML (alleTags sind vorgegeben, der Tag-Vorrat ist be-grenzt) schreibt dir in XML keiner vor, welcheTags zu verwenden sollst.

Vor dem Schreiben eines XML-Dokumentssolltest du dir also die Tags und deren Bedeu-tung gut überlegen.

Und da beginnt der Stress: Diese Vorarbeitensind ähnlich aufwändig wie das Planen einerDatenbank!Einmal geschaffen, musst du dich außerdem umdas Aussehen dieser Tags kümmern, denn dasliegt schließlich ebenfalls noch nicht fest.

Eigene Attribute festlegenAlso ob das nicht reicht, kannst du zu diesenTags sogar eigenen Attribute definieren. Hierzwei Beispiele:<absatz typ="kasten">...<Hundekuchen lecker="nein">...

Auch hier ist dein Planungstalent gefragt. Wel-che Attribute benötigst du? Welche Werte sinderlaubt? Kannst du die gewünschten Eigen-schaften vielleicht auch allein über Tags ausdrü-cken?

Da fließt eine Menge Gehirnschmalz, bis mansich darüber im Klaren ist.

Beschreibung per Regelsatz (DTD)Zu allem Überfluss kannst du diese Tags undAttribute auch noch genau beschreiben. (Dukannst, musst aber nicht!)Du kannst also vorher eine Art Anweisung defi-nieren, mit der du alle gewünschten Tags, ihreNamen, Reihenfolge, Verschachtelung usw. de-finierst.Du legst fest, welche Attribute zulässig sind undwelche Werte eingesetzt werden dürfen. Du be-schreibst, ob man ein Tag bzw. Attribut verwen-den muss bzw. nur verwenden kann.Dieses komplizierte Regelwerk gibt es in zwei�Geschmacksrichtungen�. Die alt-eingeführteheißt DTD (Dokumenttyp-Definition). Die ersteDTD erstellen wir gemeinsam ab Seite 26. Dieneuere, weitaus kompliziertere Fassung nenntsich Schema. Die ersten �schematischenSchritte� beschreiten wir gemeinsam aufSeite 69.

Nur XML-Dokumente mit DTD/Schema werdenals gültig (valid) bezeichnet. Wenn du die DTDoder das Schema weglässt, ist das Dokument nurnoch wohlgeformt (well-formed).

Kommen wir nun zur wichtigsten Eigenschaft.

Trennung von Struktur und LayoutIn XML sind Struktur und Layout streng ge-trennt. Dieser Punkt ist so wichtig, dass ich ihnnicht oft genug erwähnen kann.Wenn du deine Daten in XML erfasst, weißt dudamit noch lange nicht, wie diese dargestelltwerden. Das Prinzip ist, wie schon erwähnt, gutmit Datenbanken vergleichbar.Ob du deine Adressliste als Tabelle oder im Ad-resskartenformat für Aufkleber ausdruckenmöchtest, bleibt dir überlassen. Die Roh-Datensind immer da, die Ausgabe-Form kann stets va-riiert werden.

Page 19: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Übungsteil A: Allgemeine Fragen

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

19

ÜBUNGSTEIL A: Allgemeine Fragen zur EinführungDu kennst inzwischen:• SQL und HTML, die Vorläufersprachen zu XML• Vor- und Nachteile von XML• Haupteigenschaften von XML• Anwendungen, die auf XML beruhen

Fragen rund um XMLBitte beantworte folgende Fragen �rund um XML�. Eine oder auch mehrere Antworten sind richtig.Die Lösungen findest du auf der Serviceseite zum Heft, unter www.jchanke.de/xml. Hier gibt es einenFragebogen mit interaktiver Auswertung.

1. Welches sind die Haupteigenschaften von SGMLund XML?

2. Auf welche Sprachen greift HTMLzurück?

[a] sichert Formate wie fett, kursiv usw. [a] ASCII[b] sichert die logische Struktur von Dokumenten [b] SGML[c] Dokumentsicherung im universalen Word-Format [c] XML[d] plattformunabhängige Dokumentsicherung [d] CDF3. Wann wurde SGML zum ISO-Standard? 4. Wer hat HTML entwickelt?[a] 1971 [a] Microsoft[b] 1986 [b] Tim Berners-Lee[c] 1989/90 [c] Adobe und Sun[d] 1996 [d] FileMaker5. Wofür steht die Abkürzung HTML? 6. Welche Eigenschaften charakterisieren

die Sprache XML?[a] Hyper Tool Mouseloader [a] speichert nur die Daten, nur die Struktur[b] Hypertext Multi Language [b] nicht vorrangig für den Einsatz im Web[c] Hypertext Markup Language [c] rein textbasiertes Format[d] Hyperlink Extended Markup Language [c] lizenzfreier Standard7. Welche der hier genannten Formate habennichts mit XML zu tun?

8. Wer ist für die Weiterentwicklung vonSprachen wie XML zuständig?

[a] SMIL [a] WAP (Wireless Application Protocol)[b] WAP [b] USB (Universal Serial Bus)[c] XHTML [c] W3C (World Wide Web Consortium)[d] SQL [d] Adobe

Page 20: 80 Seiten XML - download.knowware.de · Inhaltsverzeichnis ' Johann-Christian Hanke: XML für Einsteiger - 15-07-02 3 Inhaltsverzeichnis Vorwort: Herzlich willkommen zum XML-Kurs!

Lektion 1: Erste praktische Versuche mit XML

© Johann-Christian Hanke: XML für Einsteiger - 15-07-02

20

Lektion 1: Hallo XML! Erste praktische Versuche mit XML Schluss mit der Theorie! Beginnen wir mit einigen ersten praktischen Übungen: In der ersten Praxis-Lektion lernst du folgendes:• Erstellen eines einfachen XML-Dokuments mit dem Editor• Erzeugen von Prolog, Tags und Wurzelelement• Besonderheiten bei der Anzeige in unterschiedlichen Browsern• Verwendung von Sonderzeichen und Entitäten

Tipp: Erstelle unter deiner Festplatte C:\ einen Ordner namens xmlkurs. Lege hier und in noch zuerstellenden Unterordnern alle Dokumente ab. Alles klar?

Zum Entwickeln von XML brauchst du nur einen Texteditor. Unter Windows bietet sich der Editor an.Wähle einfach START/AUSFÜHREN und tippe notepad. Drücke auf [ENTER]. Der Editor erscheint.Schreibe folgenden Code ab! Das ist gleichzeitig der Grundaufbau eines XML-Dokuments. <?xml version="1.0" encoding="iso-8859-1"?><dokument>

<frage>Hallo XML, bist du da?</frage><ausgabe>XML ist das Dateiformat der Zukunft!</ausgabe>

</dokument>

Speichere das Dokument mit der Nachsilbe .xml, nenne es im Beispiel hallo.xml. Speichere es für un-seren Kurs im Ordner xmlkurs ab.

Du möchtest eine bestimmte Nachsilbe im Editor �erzwingen�? Manchmal gibt es Probleme!Setze den Dateinamen deshalb gleich in Gänsefüßchen. Schreibe also "hallo.xml�.

Das Ergebnis im Internet Explorer ausgebenRufe das Dokument nun im Internet Explorer auf. So sieht es aus:

Hallo XML! Der Internet Explorer gibt XML-Dokumente in einer Baumstruktur ausWir nutzen den Internet Explorer deshalb, weil dieser Browser einige wichtige Eigenschaften besitzt,die anderen Browser nicht bieten können. Solange du keine Layoutanweisungen einbringst, wird hierjedes XML-Dokument in seiner Baumstruktur angezeigt.Schauen wir uns nun genau an, was sich hinter den einzelnen Elementen verbirgt!