XML: Extensible Markup Language XML: Extensible Markup Language Materialien zur Vorlesung Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack Sommersemester 2003 Universität Jena Warum XML? XML – Grundlagen Document Type Definition – DTD Namensräume und XML Schemata XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Warum XML? Was ist XML? HTML/CSS läst nicht die Definition eigener, strukturbeschreibender Markup-Tags zu Daher als Datenaustauschformat zwischen verschiedenen Anwendungen nur unzureichend geeignet SGML/DSSS ist zwar flexibel, aber zu allgemein und zu mächtig Metasprache zur Definition von Markup-Sprachen XML = = Daten + Strukturinformation semistrukturierte Daten Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente eines Dokuments Auszeichnungen („Markups“) über Markup-Tags XML: auf den Einsatz im WWW hin spezialisierte Untermenge von SGML Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Warum XML? 05.07.2003 XML Sprachfamilie einfach zu lesen durch Menschen zu verarbeiten durch Maschinen zu generieren Strukturbeschreibung: XML DTD / XML-Schema Layout/Darstellung: XSL (Extensible Style Language) XSLT:FO Objekt-Identifikation: XPath, XPointer, XQuery, XQL Transformationen: XSLT (XSL Transformations) Hyperlinks: XLink, XPointer, XPath erweiterbar XML ist nur generische Syntax Zusatz-Standards nutzen diese Syntax standardisiert weithin akzeptiertes Format Standard-Tools als Basiskomponenten für Applikationen 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 1 XML: Extensible Markup Language XML Timeline Warum XML? XML – Grundlagen Document Type Definition – DTD Document Object Model – DOM XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML vs. HTML Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML vs. HTML XML HTML XML HTML <movie> <title>North by Northwest</title> <cast> <director> Alfred Hitchcock</director> <actor> Cary Grant</actor> <actor> Eve Marie Saint</actor> <actor> James Mason</actor> </cast> <year> 1959</year> </movie> <h1> North by Northwest </h1> <i>1959</i> - directed by Alfred Hitchcock <P> Cast: <ul> <li>Cary Grant</li> <li>Eve Marie Saint</li> <li>James Mason</li> </ul> </P> „HTML sagt Ihnen wie die Informationen aussehen sollen, aber XML sagt Ihnen was sie bedeuten.“ Quelle: Charles F. Goldfarb, „The XML Handbook“ Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 "%& '% ' ( ⊂ ∈ "# $! ) * $+ , ) - " * % '+ , # %! . ,% ) /" *# # % '+ , 0 ," , * 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML vs. HTML XML vs. HTML !" ! 05.07.2003 ) ) # '+ , " " % '+ , # %! . ,% ) 1 * " 2% '+ , 0 ," , HTML unterstützt stets nur einen vordefinierten Dokumententyp XML erlaubt die Definition eigener Dokumenten-Typen über die Definition einer zugehörigen DTD (Document Type Definition) XSL Stylesheet XML-Dokument XML DTD XML Parser XML SGML-Deklaration Darstellung * $+ , Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 2 XML - Dokument XML - <?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration <!DOCTYPE movie SYSTEM "Beispiel.dtd"> <movie> XML DTD <title>North by Northwest</title> <cast> XML Tags <director>Alfred Hitchcock</director> XML Attribute <actor type=“protagonist”>Cary Grant</actor> <actor>Eve Marie Saint</actor> <actor type=“antagonist”> James Mason </actor> </cast> <year> 1959</year> </movie> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Parser <movie> <title> <cast> <year> Darstellung des XML-Dokuments als abstrakter Strukturbaum 1959 North by Northwest XML-Parser <director> <actor> <actor> type=„protagonist“ Alfred Hitchcock Cary Grant <actor> type=„antagonist“ Eve Marie Saint James Mason Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Parser DOM – Domain Object Model SAX – Simple API for XML objektmodellorientiert ereignisorientiert XML-Dokument als Baumstruktur: liest XML-Dokument sequentiell ein Jeder Knoten entspricht einem Objekt behandelt XML-Elemente wie eintretende Ereignisse Jedes XML-Element kann beliebig viele Unter-Elemente besitzen „Event-Handler“ muß vom Entwickler selbst programmiert werden sehr schnell, geringer Speicheraufwand, aber Sehr flexibel, aber hoher Speicher-/CPU-Verbrauch Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Document Type Definition (DTD) Um syntaktische Korrektheit eines XML-Dokuments zu prüfen, ist keine DTD notwendig Wohlgeformtes (well formed) XML-Dokument XML-Elemente sind korrekt geschachtelt Jedes Start-Tag wird mit einem korrespondierenden Ende-Tag abgeschlossen Problem: Regeln, wie ein gleichartiges XML-Dokument erstellt werden kann, bleiben unbekannt Bedeutung (Semantik) der XML-Elemente bleibt verborgen 05.07.2003 Dokument Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena kann XML-Dokument nur sequentiell verarbeiten 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Document Type Definition (DTD) XML Document Type Definition (DTD) spezifiziert Regeln (Semantik), wie ein XML-Dokument zu erstellen bzw. zu interpretieren ist. Formale Grammatik für XML-Dokument Analog zur Datendefinition/Datenmodellierung Wird ein wohlgeformtes XML-Dokument zusätzlich positiv gegen eine zugehörige XML DTD geprüft, dann spricht man von einem validierten XML-Dokument 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 3 XML Namensräume XML Namensräume XML-Autoren definieren eigene XML Element-Typen (Tags) XML-Tags mit demselben Namen, aber unterschiedlicher Bedeutung und unterschiedlichen Attributen Ambiguität und Namenskonflikte Beispiel: (1) Deklaration: xmlns:buch = “http://www.inf.uni-jena.de/book.dtd“ xmlns:artikel = “http://www.beispiel.de/article.dtd“ XML Namensraum legt eindeutigen Kontext für XML Element-Typ fest definiert Namen, die jeweils bestimmter DTD zugeordnet werden benötigt keine formale Struktur Zerlegung komplexer Strukturen in handhabbare Teilbereiche Mischung verschiedener Namensräume Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 <buch:titel> … </buch:titel> <artikel:titel> … </artikel:titel> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML: Extensible Markup Language XML Schemata XML-DTDs werden in eigener (nicht XML-konformer) Syntax realisiert Extended Backus-Naur Form (EBNF) Spezieller Interpreter notwendig XML-DTDs unterstützen lediglich den Datentyp “text“ XML-DTDs unterstützen nicht das Vererbungskonzept XML-Schema: • XML-spezifische Sprachdefinition die auf XML-Syntax beruht Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 (2) Verwendung: XML 1.0 Syntax Warum XML? XML – Grundlagen Document Type Definition – DTD XML Namensräume und XML-Schemata XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML 1.0 Syntax XML Syntax ist case-sensitiv 16 Bit Unicode 2.1 Kodierung Jedes XML-Dokument besteht aus: Prolog: Wie Header in HTML Angabe von Metainformationen über das Dokument XML-Elemente bestehen aus Start-Tag und Ende-Tag <start-tag> … </ende-tag> Ausnahme: leeres Element Rumpf: <leeres-tag/> Ein oder mehrere XML-Elemente, die verschachtelt werden können Epilog: Kommetare und Verarbeitungsanweisungen 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 4 XML 1.0 Syntax XML Prolog Bestandteile der XML 1.0 Syntax: Text-Literale: “Textliteral“ Character Data: Jeglicher Text, der weder Teil des Markup, eines Elements oder Attributs ist <autor name=“F. Schiller“> Attribute: Entity-Referenzen: XML-Deklaration: <?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“> version: encoding: standalone: Definition eines Platzhalters <!ENTITY copyright "&#xA9;"> Verarbeitungsanweisung: <?target …anweisung… ?> Kommentare: <!-- ..kommentar.. --> CDATA-Blöcke: Einbettung von Text, der sonst als Markup interpretiert wird. <![CDATA[…textblock…]]> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Prolog Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Document Type Definition DTD legt fest: XML-Referenzen: Angabe des verwendeten XML-DTDs Referenz auf externe Teilmenge (globale URI) <!DOCTYPE name SYSTEM “URI“> Referenz auf externe Teilmenge (lokales Dateisystem) <!DOCTYPE name PUBLIC “lok. URI“ “glob. URI“> welche Elementtypen gibt es welchen Inhalt dürfen sie haben welche Attribute sind erlaubt welche Werte sie dürfen annehmen XML-Elementtyp: Auf interne Teilmenge: <!DOCTYPE name [DTD-Definitionen]> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 obligatorische Versionsnummer UTF-8/16/32 yes/no (wird DTD benötigt?) XML Document Type Definition XML-Elementtyp: <!ELEMENT name (inhalt)> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Document Type Definition XML-Elementtyp - Schlüsselwörter: #PCDATA-Element: „Parsed Character Data“ (erlaubt Schachtelung) Elementinhalt <!ELEMENT Buch (Titel, Autor+, Kapitel+)> <!ELEMENT Text (#PCDATA)> Leeres Element Sequenzen <!ELEMENT Kapitel (Überschrift, Einleitung?, Inhalt) > <!ELEMENT leeresElement EMPTY> Beliebiger Inhalt Alternativen <!ELEMENT Pause (Tee|Kaffee, Zucker?, Kuchen*) > 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena <!ELEMENT Kommentar ANY> 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 5 XML Document Type Definition XML Document Type Definition Attributtypen: XML-Attribute NMTOKEN: Attributwert wird nicht als Text, sondern als Symbol behandelt <!ATTLIST elementname attributname attributtyp vorgabewert > <!ATTLIST Buch Zugriff NMTOKEN #REQUIRED> <Buch Zugriff=“geheim“> … Attributtypen: CDATA <!ATTLIST Pause Dauer CDATA #FIXED “15min“> z.B: Koppelung an XML-Elementtyp Person <!ATTLIST Person Zugriffsrecht NMTOKEN #REQUIRED> ID <!ATTLIST Buch ISBN ID #REQUIRED> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Document Type Definition XML-Notation: Verknüpfung beliebiger binärer Formate mit XML-Dokument <Person Zugriffsrecht=“geheim“>… XML Document Type Definition XML-Entity: Definition von Ersetzungen und Platzhalter <!NOTATION jpg SYSTEM “xv.exe“> <!NOTATION gif SYSTEM “xv.exe“> Applikation “xv.exe“ wird an binäre Datentypen jpg/gif geknüpft <!ENTITY %KuchenEinfach “Hartkeks“> <!ENTITY %KuchenSpezial “Stachelbeertorte“> Bedingte Deklarationen: <!ATTLIST Photo (jpg|gif)> <![INCLUDE[…]]> <![IGNORE[…]]> <Photo typ=“jpg“> … </Photo> 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Document Type Definition Beispiel: 05.07.2003 einbinden ignorieren Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Document Type Definition Beispiel (zugehöriges XML-Dokument): <!ELEMENT Buch (Titel, Subtitel?, Autor+, Preis)> <!ATTLIST Buch ISBN ID #REQUIRED)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Subtitel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Preis (#PCDATA)> 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena <!DOCTYPE Buch SYSTEM “buch.dtd“> <Buch ISBN=“3-411-20900-3“> <Titel>Duden</Titel> <Subtitel> Rechtschreibung der deutschen Sprache </Subtitel> <Autor>Dudenredaktion, Hrsg.</Autor> <Preis>10,95</Preis> </Buch> 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 6 XML: Extensible Markup Language XML Schemata Beispiel (im Vergleich zu DTD): <Schema … > <element name=“Buch“> <attribut name=“ISBN“ type=“string“> <type> <element name=“Titel“ type=“string“/> <element name=“Subtitel“ type=“string“ minOccurs=“0“ maxOccurs=“1“/> <element name=“Autor“ type=“string“ minOccurs=“0“ maxOccurs=“7“/> <element name=“Preis“ type=“decimal“/> </type> </element> </Schema> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Hyperlinks Warum XML? XML – Grundlagen Document Type Definition – DTD XML Namensräume und XML-Schemata XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Hyperlinks XML dient der Strukturierung von Dokumenten im WWW Notwendigkeit der Definition von Hyperlinks zur Dokumentenverknüpfung im WWW HTML <A> -Element Unidirektionale Verknüpfung zwischen genau zwei Informationsressourcen Stets Bestandteil des Start-Dokuments Darstellung hängt von Browser ab XML Linking Language – XLink Definition von XML-Hyperlinks XML Pointer Language – XPointer und XPath <A HREF=“…“> Definition von Ankerpunkten in XML Dokumenten Definition von Dokumentenfragmenten Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 <A name=“…“> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Hyperlinks XML Hyperlinks XLink – Out-of-Line Links Realisierung von bidirektionalen n:m Linkbeziehungen Linkbasis ist nicht Bestandteil von Quell-/Zieldokument XLink – Simple Links Entspricht HTML-Hperlink Zusätzliche Attribute: typ / role / title / show / actuate Quelldokumente <publications xmlns:xlink=“http//www.w3.org/1999/xlink/namespace/“ xlink:href=“publications.xml“ xlink:role=“http://www.bsp.de/bibliography“ xlink:title=“Veröffentlichungen“ xlink:show=“new“ xlink:actuate=“onRequest“ /> 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena Zieldokumente Linkbasis 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 7 XML Hyperlinks XML Hyperlinks XLink – Out-of-Line Links XLink – Out-of-Line Links Beispiel; Pizzaboden from <xlink:extended xmlns:xlink=“http//www.w3.org/1999/xlink/namespace/“ xlink:role=“http://www.pizza.de/pizaworld“ xlink:title=“Pizza Tonno“> <xlink:locator href=“Pizzaboden.xml“ role=“http://www.pizza.de/basis“ title=“Pizzaboden“/> ……… <xlink:locator href=“Basilikum.xml“ role=“http://www.pizza.de/spezial“ title=“Basilikum“/> ……… <xlink:arc from= =“http://www.pizza.de/basis“ to= =“http://www.pizza.de/spezial“ Show=“new“ Actuate=“onRequest“/> <xlink:extended\> Tomaten Mozarella from from Pizza Tonno to Thunfisch to Oliven to Basilikum Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Hyperlinks Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML Hyperlinks XML Pointer Language – XPointer XML Pointer Language – XPointer URI#xpointer(ankerbeschreibung) Festlegung eines Sprungziels innerhalb eines Dokuments HTML: <A NAME=“…“> Bsp.: Probleme von HTML-Ankern: Einfügen von Sprungzielen in schreibgeschützte Dokumente Es muß stets das gesamte Zieldokument übertragen werden Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XPath Navigation innerhalb des abstrakten DokumentenStrukturbaumes Kontextknoten gedicht.xml#child::gedicht[position()<3] 05.07.2003 Descendant <gedicht> <strophe ID=“strophe1“> <zeile ID=“zeile1“>Dreifach ist des Raumes Maß:</zeile> <zeile ID=“zeile2“>Rastlos fort ohn‘ Unterlaß</zeile“ <zeile ID=“zeile3“>Strebt die Länge fort ins Weite,</zeile> <zeile ID=“zeile4“>Endlos gießet sich die Breite,</zeile> <zeile ID=“zeile5“>Grundlos senkt die Tiefe sich</zeile> </strophe> </gedicht> Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML: Extensible Markup Language XML Hyperlinks Child http://www.bsp.de/gedicht.xml#xpointer(zeile2) http://www.bsp.de/gedicht.xml#xpointer(1/1/2) Parent Warum XML? XML – Grundlagen Document Type Definition – DTD XML Namensräume und XML-Schemata adressierte Knoten Ancestor Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 8 XML: Transformationen XML: Transformationen- XSL XML-Dokument ist hierarchisch strukturierte Informationssammlung vergleichbar mit hierarchischer oder relationaler Datenbank über Transformationen können XML-Dokumente für eine Vielzahl von Anwendungen nutzbar gemacht werden Extensible Style Language (XSL) zur Transformation von XML-Dokumenten ist in drei separate Sprachen aufgeteilt: XSLT – Spezifikation der Transformationen XSL:FO – Layout-Transformationen (Formatierung) mit XSLT XPath – Zugriff auf XML-Strukturen Strukturelle Transformationen Filterung/Sortierung/Umformatierung für andere Anwendungen (XSLT) Dynamische Dokumente DSSSL Oft interaktive Filterung /Reorganisation eines XML-Dokuments (XSLT) XSL Darstellungstransformationen Layoutspezifische Transformation über Stylesheets (CSS) oder XSL:FO Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML: Transformationen- XSL Strukturregeln DTD XML HTML WAP XSLSW XSL Strukturierte Information Präsentationsregeln Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Transformationen - XSL XSL arbeitet auf dem abstrakten Strukturbaum des XMLDokuments ( XPath) Ein XSL-Stylesheet besteht aus einer Sammlung von Transformationsregeln (Templates) Strukturbaum wird durchlaufen, für jeden Knoten wird passendes Template aus XSL-Stylesheet gesucht und angewendet + XSLSW 05.07.2003 XSL XSLStylesheet neues Dokument Präsentationsregeln Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Transformationen - XSL <xsl:template match = Suchabfrage name = Name priority = Prioritität … > … Template Instruktionen … </xsl:template> 05.07.2003 CSS 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Strukturbaum Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML Transformationen - XSL <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE movie SYSTEM "Beispiel.dtd"> <movie> <title>North by Northwest</title> <cast> <director>Alfred Hitchcock</director> <actor type=“protagonist”>Cary Grant</actor> <actor>Eve Marie Saint</actor> <actor type=“antagonist”> James Mason </actor> </cast> <year> 1959</year> </movie> XML-Dokument 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 9 XML Transformationen - XSL <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> <HEAD> <TITLE> <xsl:value-of select="movie/titel" /> </TITLE> </HEAD> <BODY> <H1> <xsl:value-of select="movie/titel" /> </H1> <P> Darsteller: </P> <UL> <xsl:for-each select="movie/cast/actor"> <LI> <xsl:value-of /> </LI> </xsl:for-each> </UL> </HTML> </xsl:template> XSL-Stylesheet Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 XML: Extensible Markup Language XML Transformationen - XSL <HTML> <HEAD> <TITLE> North by Northwest </TITLE> </HEAD> <BODY> <H1> North by Northwest </H1> <P> Darsteller: </P> <UL> <LI> Cary Grant</LI> <LI> Eve Marie Saint</LI> <LI> James Mason</LI> </UL> </HTML> Ergebnis der XSL-Transformation XML - Teil des WAP-Standards (Wireless Access Protocol) Teilmenge von XHTML Webseite wird als Karteikartenstapel dargestellt Document Type Definition – DTD XML Namensräume und XML-Schemata XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena XML - Derivate Wireless Markup Language Warum XML? XML – Grundlagen 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Derivate <wml> <head> … </head> <card> … </card> <card> … </card> </wml> 05.07.2003 XML - Voice XML Zur telefonischen Ausgabe von XML-Dokumenten Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena Derivate Mathematical Markup Language (MathML) Scalable Vector Graphics (SVG) Kodierung von 2-dim Vektorgrafiken Vector Markup Language (VML) Hyper Graphics Markup Language (HGML) Grafikaufbereitung für mobile Endgeräte Synchronized Multimedia Integration Language (SMIL) Synchronisation von Multimedia-Datenströmen 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 10 XML - XML: Extensible Markup Language Derivate Chemical Markup Language (CML) Warum XML? XML – Grundlagen Document Type Definition – DTD XML Namensräume und XML-Schemata XML en Detail XML Hyperlinks – XLink, XPointer, XPath XML Transformationen – XSL, XSLT XML Derivate 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 05.07.2003 Technische Grundlagen des Internet - 2 Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena 11