Einführung in XML - Teil 1

Slides:



Advertisements
Ähnliche Präsentationen
25. Mai 2001Kleyer/Oyen/ReuseFolie 1 Fallstudie im Rahmen des Studienganges Wirtschaftsinformatik Christian Kleyer, Daniel Oyen, Svend Reuse Grundkonzeption.
Advertisements

Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Dipl.- Dok. Rusalka Offer
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
HTML - Eine erste Annäherung
XML-basierte Techniken
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
XML Standardisierungen und Abfragesprachen
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
Einführung XML XML Einführung Andreas Leicht.
Vorlesung: 1 Betriebliche Informationssysteme XML © 2002 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
XSLT.
Vortrag HTML, XHTML, DHTML
Hypertext Markup Language
XML eXtensible Markup Language
Fortsetzung DTDs, UML  XML
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Information und ihre Darstellung: XHTML & CSS
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Web-Publishing: HTML im Rahmen des PS aus Elektronischer Datenverarbeitung (Rechnerpraktikum)
XSL und XSLT1 eXstensible Stylesheet Language und eXstensible Stylesheet Language Transformation.
Daniel Kucher Proseminar XHTML. 1. HTML – Struktur und Versionen 2. Der – Teil 3. Der – Teil 4. Stylesheets (CSS) – Das Rückrat von XHTML.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
XSLT Voraussetzungen, trivial
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
CSS Cascading Style Sheets
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
JAVA und XML Programmierpraktikum XML 1.0 / Namespaces Von Markus Lucht & Timo Stollenwerk.
XML Grundlagen, Namensräume & Hyperlinks
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Seminar : XML und Datenbanken Die Auszeichnungssprache XML Lutz GarsteckiJena, 27.Mai 2004.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
IT-Zertifikat_Seminar: Metadatenstandards XSLT Eine Transformationssprache.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
1 XML Extensible Markup Language Meiko Lösch Juli 1999.
Webseite programmieren Informatikpräsentation. Inhaltsverzeichniss Webseite Uniform Resource Locators Website Unterschied Webseite + Website Geschichte.
 Präsentation transkript:

Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG

Voraussetzungen Allgemeine Kenntnisse über: World Wide Web (WWW) Auszeichnungssprachen (z.B. HTML) Programmiersprachen (z.B. C, C++, Java)

Ziele von Teil 1 Verstehen von: XML und seinen Einsatzbereichen Anwenden von: XML und DTD XML Namespaces XML Stylesheets (CSS, XSL)

Inhaltsverzeichnis XML - Extensible Markup Language XML Namespaces DTD - Document Type Definitions XML Stylesheets - XSL Workshops wichtige Links Abkürzungsverzeichnis

XML - Extensible Markup Language Einleitung Markup Languages (Auszeichnungssprachen) Einstieg Grundlagen Struktur und Syntax Regeln der DTD

Begriffsklärung - Markup Präsentations-Markup (physische Auszeichnung) WYSIWYG (Textverarbeitung, DTP, HTML) vom Menschen lesbar Prozedurales Markup (logische Auszeichnung) Formatvorlagen, DTP, HTML (CSS), XML (PI) kann die Präsentation steuern Deskriptives Markup (semantische Auszeichnung) XML und SGML kann díe Verarbeitung und Präsentation steuern von Menschen und Maschinen lesbar

Geschichte GML SGML Generalized Markup Language 1969: Entwicklung (IBM) Goldfarb, Mosher und Lorie 1974: validierender Parser SGML Standard Generalized Markup Language 1978: Entwicklung 1986: Standard ISO 8879

Geschichte HTML Hypertext Markup Language 1990: Tim Berners-Lee am CERN in Genf World Wide Web (URL, HTTP und HTML) fester Satz von Elementtypen inoffizielle Erweiterungen über Jahre nicht sehr streng definiert DTD für HTML erst Jahre später

Auszeichnungssprachen HTML (*.html, *.htm) Rich Text Format (*.rtf) Microsoft Word (*.doc, *.dot) Adobe PostScript (*.ps, *.eps) Adobe Portable Document Format (*.pdf) LaTeX (*.tex), usw.

Was ist XML? Empfehlung des World Wide Web Consortium (W3C) entwickelt zwischen Juli 1996 und Februar 1998 von Jon Bosak, James Clark, Tim Bray, Jean Paoli und sieben weiteren Co-Editoren besonders auffällig: XML wurde aus einem akuten Bedarf heraus entwickelt sehr grosses Interesse der Industrie, z.B. Microsoft, IBM, Sun, Apache, SAP, Oracle, Adobe, Corel, Macromedia, Software AG, DataChannel, webMethods, eXcelon, ...

Was ist XML? XML bildet eine Teilmenge (Subset) von SGML: XML = SGML - fortgeschrittene Merkmale + Weberweiterungen + neuer Name und Vermarktung XML ist eine (schlanke) Metasprache: Mit XML können Auszeichnungssprachen für beliebige Einsatzzwecke entwickelt werden. XML ist für das Web konzipiert XML bietet 80 Prozent der Merkmale und Funktionen von SGML, aber nur 20 Prozent von dessen Komplexität.

XML vs. HTML XML Beschreibung und Strukturierung von Informationen strenge Syntax- und Strukturregeln Trennung des Inhalts und der Struktur von der Präsentation Teilmenge von SGML HTML Anzeige von Informationen über Jahre nicht streng spezifiziert keine strikte Trennung von Inhalt und Präsentation eine Anwendung von SGML

XML vs. HTML <?xml version="1.0"?> <email> <an>Dich</an> <von>mir</von> <cc>Chef</cc> <betreff>XML</betreff> <text>Hier geht es um XML</text> </email> <html> <head> <title>HTML</title> </head> <body> <br> <b>AN: </b>Dich<br> <b>VON: </b>mir<br> <b>CC: </b>Chef<br> <b>Betreff: </b>HTML<br><br> Hier geht es um: <b>HTML</b>. </body> </html>

XML im Einsatz als offenes Format für Datenaustausch als strukturierte, semantisch reiche Webdaten mehr Verarbeitung beim Client semantische Findmaschinen und Informationsagenten für neue Webanwendungen (z.B. Small-Screen-Clients) zur Speisung unterschiedlichster Anwendungen mit denselben Daten zur Datenspeicherung (Aufbewahrungspflicht)

XML im Einsatz XML/EDI Elektronischer Datenaustausch offener, herstellerunabhängiger Standard leicht zu implementieren flächendeckend möglich Zeit und Kosten werden gespart steigert die Effizienz traditionelles EDI besitzt feste Transaktionssätze

XML im Einsatz Web XHTML-Webseiten (XForms) Daten anzeigen im Web (mit Stylesheets) Personalisierte Webseiten Webportale Suchmaschinen („Findmaschinen“) Informationsagenten Internet-Auktionen

Eigenschaften von XML gliedert Dokumente in hierarchische Komponenten benennt diese Komponenten durch Regeln kann festgelegt werden, wie die Komponenten zusammengehören stellt Regeln bereit für die Fehlerbehandlung ist leicht im Internet nutzbar ist für eine Vielzahl von Anwendungen einsetzbar XML-Dokumente sind SGML-Dokumente: ähnliche Ausdrucksmöglichkeiten vorhandene SGML-Werkzeuge lesen und schreiben XML

Eigenschaften von XML die Namen und Inhalte sind Unicode-Text (Internationalisierung) XML ist von Menschen und Maschinen lesbar keine optionalen Features in XML (im Gegensatz zu SGML) XML-Prozessoren sind klein, schnell, einfach zu schreiben (und zahlreich) XML-Dokumente sind einfach zu erstellen Die XML-Spezifikation ist formal und knapp gehalten

Struktur und Syntax von XML Markup wird vom XML-Prozessor verarbeitet Start- und Ende-Tags, Leeres-Element-Tags, Entity- und Zeichen-Referenzen, Kommentare, CDATA-Abschnittsbegrenzer, Dokumenttypdeklarationen und Verarbeitungsanweisungen beginnt mit „<“ oder mit „&“ Zeichendaten werden von menschlichen Lesern verstanden

Struktur und Syntax von XML Gross-/Kleinschreibung wird berücksichtigt (Internationalisierung) Namen: beginnen mit einem Buchstaben oder einem oder mehreren Interpunktionszeichen und setzen sich fort mit Buchstaben, Ziffern, Gedankenstrichen, Unterstrichen, Doppelpunkten oder Punkten - den sog. Namenszeichen Nmtoken (Namenstoken): ist eine beliebige Kombination aus Namenszeichen Die Zeichenkette „xml“ ist reserviert (in allen Schreibweisen)

Struktur und Syntax von XML Literal-Zeichenketten Daten (Text, der kein Markup darstellt) eingeschlossen in "" oder '‘ Leerraum: White Spaces alle unsichtbaren Zeichen Leerzeichen (ASCII 32) Tabulator (ASCII 9) Zeilenumbruch (Carriage Return ASCII 13) Zeilenvorschub (Line Feed ASCII 10)

Physische Struktur geparste Entities: enthalten Text, der aus Zeichen zusammengesetzt ist Unterscheidung in Auszeichnungen und Zeichendaten ungeparste Entities: haben eine Notation verweisen auf binäre Daten (z.B. Bilddateien)

Logische Struktur XML Deklaration (notwendig) <?xml version="1.0"?> Dokumenttypdeklaration (optional) <!DOCTYPE name SYSTEM "name.dtd"> Dokument-Element (notwendig) <Buch> </Buch> Verschachtelungen/Unterelemente (optional) <Buch> <Titel> ... </Titel> </Buch> Ein XML Dokument ist aus Deklarationen, Elementen, Verarbeitungsanweisungen, Komentaren aufgebaut. Die Reihenfolge muss eingehalten werden. Verschachtelungen dürfen sich nicht überkreuzen.

XML Syntax Öffnende Element-Tags: <Buch> Schliessende Element-Tags: </Buch> zwingend erforderlich Leeres Element: Bsp.: <Fortsetzung/> (entspricht <Fortsetzung></Fortsetzung>) Attribute: <Lager zone="Halle3"> Attribute bei HTML <A HREF="http://www.softwareag.com/">Hompage von der Software AG</A>

Referenzierung Entity-Referenzen: Entity-Deklaration in DTD: <!ENTITY R1 "Regal Ebene 1"> Entity-Referenzierung: <Ort>Das Produkt steht auf dem &R1;</Ort> Sonderfall: Parameter-Entities numerische Zeichenreferenzen: dezimal: &#...; hexadezimal: &#x...;

Vordefinierte Entity-Referenzen < öffnende spitze Klammer (<) > schliessende spitze Klammer (>) & Ampersand (&) &apos; Apostroph (') " Anführungszeichen (") Wie fügt man folgenden Text in ein XML Dokument ein: ... „(5 > 0)“ ... ... "(5 > 0)&qout; ...

Kommentar und CDATA Kommentar: Definition: <!-- KommentarText --> Beispiel: <!-- Dies ist ein Kommentar --> CDATA-Abschnitt: explizit vom Parsing ausgeschlossen Definition: <!CDATA[ ... ]]> Beispiel: <!CDATA[ <html>Hier kommt Kurt!</html> ]]>

Processing Instructions liefern Anweisungen für die Anwendung, die das Dokument verarbeitet Definition: <?piName piAnweisung?> Beispiel: <?xml version="1.0"?> <?avi codec="video1" colors="256"?>

Gültiges und Wohlgeformtes XML stimmt mit den Regeln der XML-Spezifikation überein eindeutiges Wurzelelement alle Tags werden wieder geschlossen oder sind leer keine Überlappung von Tags (strenge Hierarchie) alle Entity-Referenzen ausser den Vordefinierten sind deklariert Literale stehen in einfachen oder doppelten Anführungszeichen Wohlgeformt es enthält ein oder mehr Elemente es enthält ein Wurzelelement (auch Dokument Element genannt) alle weiteren Elemente sind einwandfrei verschachtelt. Alle geparsten Entitys die im Dokument referenziert sind, sind wohlgeformt.

Gültiges und Wohlgeformtes XML ist wohlgeformt die im Prolog spezifizierte interne oder externe DTD bestimmt die Regeln für das Dokument alle diese Regeln sind zwingend zu beachten Wohlgeformt es enthält ein oder mehr Elemente es enthält ein Wurzelelement (auch Dokument Element genannt) alle weiteren Elemente sind einwandfrei verschachtelt. Alle geparten Entitys die im Dokument referenziert sind, sind wohlgeformt.

Zusammenfassung Welche unterschiedlichen Arten von Markup gibt es? Abgrenzung HTML vs. XML? Eigenschaften von XML? Wer kontrolliert den XML Standard? Einsatzgebiete für XML? Struktur und Syntax von XML? Logischer Aufbau eines XML Dokuments?

Zusammenfassung Was sind Processing Instructions (PI‘s)? Wozu verwendet man CDATA Abschnitte? Unterschied zwischen ‚wohlgeformt‘ und ‚gültigem‘ XML?

Beispiele DTD XML Instanz XSL Document XML Schema Parser XML Editor Anwendung Datenbank

Namensräume notwendig, um eindeutige Namen zu erhalten wird durch einen URI (Uniform Resource Identifier) identifiziert ein qualifizierter Name im Dokument besteht aus dem Namen des Namespace und dem lokalen Namen, getrennt durch einen Doppelpunkt <test:preisliste xmlns:test="http://namespaces.test.com/preisliste" ...> <test:preis waehrung="DM">100</test:preis> ... </test:preisliste>

Namensraum-Bereiche Deklaration bei einem Element als Attribute aus dem Namensraum xmlns Verwendung bei einem Element oder Attribut <el:produkt typ="software“ class:art="enduser" xmlns:el="http://ns.test.com/el/ns" xmlns:class="http://ns.test.com/el/ns"> <pname>TestIt</pname> <ppreis>100</ppreis> </el:produkt>

Namensraum Default Standard-Namensraum deklarieren ohne Präfix: <?xml version="1.0"?> <!-- elements are in the HTML namespace, in this case by default --> <html xmlns='http://www.w3.org/TR/REC-html40'> <head> <title>Frobnostication</title> </head> <body> <p>Moved to <a href='http://frob.com'>here</a>.</p> </body> </html>

DTD Document type definition - Dokumenttypdefinition Definition für eine Klasse von Dokumenten intern: <!DOCTYPE email [ ... ]> extern: <!DOCTYPE email SYSTEM "email.dtd">

Einfache DTD <?xml version="1.0"?> <!DOCTYPE email [ <!ELEMENT email (an, von, cc, betreff, text)> <!ELEMENT an (#PCDATA)> <!ELEMENT von (#PCDATA)> <!ELEMENT cc (#PCDATA)> <!ELEMENT betreff (#PCDATA)> <!ELEMENT text (#PCDATA)> ]> ...

Elemente Any: Empty: Gemischter Inhalt (Mixed Content): Dieser Elementtyp darf jeden beliebigen Inhalt in jeder beliebigen Reihenfolge enthalten <!ELEMENT test ANY> Empty: Dieser Elementtyp darf keinen Inhalt enthalten Kann Attribute enthalten <!ELEMENT test EMPTY> Gemischter Inhalt (Mixed Content): <!ELEMENT test (((#PCDATA)|x|y|z)*) Empty Elemente können Attribute enthalten

Strukturen Was bed. diese Definition: Klammern (Inhalt1, Inhalt2) Gruppierung Komma (Inhalt1,Inhalt2) Sequenz Senkrechter Strich (Inhalt1|Inhalt2) Alternative ohne Inhalt1 muss 1 mal Fragezeichen Inhalt1? 0 oder 1 Stern Inhalt1* 0 bis n Plus Inhalt1+ 1 bis n Studenten sollen die letzte Zeile erklären. Was bed. diese Definition: <!ELEMENT email (an+, von, cc*, betreff?, text?)>

Attribute Deklaration: Beispiel: <!ATTLIST ElementName AttributName Typ Vorgabe> Beispiel: <!ATTLIST email sprache (Western|Greek|Latin) "Latin">

Attributtypen CDATA es können nur Zeichendaten verwendet werden ENTITY externe, binäre Entity, die in der DTD deklariert ist ENTITIES wie ENTITY aber mehrere, durch Leerzeichen getrennt ID eindeutiger Identifier IDREF Verweis auf eine anderswo im Dokument deklarierte ID IDREFS wie IDREF aber mehrere, durch Leerzeichen getrennt NMTOKEN beliebige Zusammenstellung von Namenszeichen NMTOKENS wie NMTOKEN aber mehrere, durch Leerzeichen getrennt NOTATION muss auf eine NOTATION verweisen, die anderswo in der DTD deklariert ist Aufzählung der Attributwert muss mit einem der genannten Werte übereinstimmen (Inhalt1|Inhalt2)

Attributtypen #REQUIRED muss spezifiziert werden #IMPLIED optional #FIXED "Wert" das Attribut muss den angegebenen Wert haben Vorgabewert Vorbelegung des Attributwerts #REQUIRED Jedes Element, das das Attribut enthält, muss einen Wert für das Attribut spezifizieren. Ein fehlender Wert führt zu einem Fehler. #IMPLIED Dieses Attribut ist optional. Der Prozessor kann es ignorieren, wenn kein Wert gefunden wird. #FIXED feststehender Wert Dieses Attribut muss den Wert feststehender Wert haben. Wenn das Attribut im Element nicht enthalten ist, verhält sich der Prozessor so, als ob das Attribut mit dem Vorgabewert im Dokument stünde. Vorgabe Identifiziert einen Vorgabewert für ein Attribut. Wenn das Element das Attribut nicht enthält, verhält sich der Prozessor so, als ob das Attribut mit dem Vorgabewert im Dokument stünde.

Notations teilt dem Prozessor mit, welcher Objekttyp referenziert wird Deklaration: <!NOTATION NotationsName SYSTEM "..."> Beispiel: <!NOTATION GIF SYSTEM "Iexplore.exe">

Entities interne Entities externe Entities geparste Entities: Textentities werden wie XML-Text behandelt ungeparste Entities: Binärentitys werden als nicht geparste Einheiten betrachtet Parameter-Entities

Interne Entities Definition: Referenzierung: Beispiel: zu beachten: <!ENTITY EntityName EntityDefinition> Referenzierung: &EntityName; Beispiel: <!ENTITY sign “Prof. Dr. Gerhard Entities"> &sign; zu beachten: werden in der DTD definiert enthalten den Inhalt, der im Dokument verwendet wird

Externe Entities Definition: <!ENTITY EntityName SYSTEM|PUBLIC "URI" NOTATION> SYSTEM: Wenn lokal (auf einem Rechner in einer Organisation) verwendet Beispiel: <!ENTITY Bild SYSTEM "http://www..../bild1.gif" NDATA GIF> <!ENTITY Bild SYSTEM "bild1.gif" NDATA GIF>

Externe Entities PUBLIC: öffentlich bekannt oder Standardbibliothek Beispiel: <!ENTITY Bild PUBLIC "-//XMLCo//Text Standard images//EN" "http://www.XMLCo.com/Images/Xmlquot.gif" NDATA GIF> Hinweis: Externe Entitys können auch andere XML-Dateien referenzieren, z.B. wenn ein Buch aus mehreren Kapiteln aufgebaut wird: <!ENTITY Kapitel1 SYSTEM "Kapitel1.xml">

Parameter Entities Definition: Referenzierung: zu beachten: <!ENTITY % EntityName "Wert"> Referenzierung: %EntityName; zu beachten: sind auf DTD beschränkt

IGNORE und INCLUDE dienen zum Aktivieren und Deaktivieren von Abschnitten der DTD Definition: <![IGNORE [DTD-Abschnitt]]> <![INCLUDE [DTD-Abschnitt]]>

IGNORE und INCLUDE <!ENTITY % SICHER "IGNORE"> <!ENTITY % UNSICHER "INCLUDE"> <![%SICHER; [hier Deklarationen]]> <![%UNSICHER; [hier Deklarationen]]>

Externe DTD DTDs können ziemlich gross werden kann in beliebig vielen Dokumenten verwendet werden Syntax: <!DOCTYPE EMAIL SYSTEM "email.dtd"> Beispiel: externe DTD XML-Dokument

Klassen DTD Als Basisklasse verwendet Beispiel <DOCTYPE EMAIL SYSTEM "..." [ <!ENTITY Unterschrift "Franz"> ]> Bei Konflikten wird die zuerst gefundene Deklaration verwendet (die Innere)

CSS Cascading Style Sheets Stylesheets im HTML-Umfeld CSS Level 1 nur für HTML CSS Level 2 kann auch zur Präsentation von XML im Web-Browser verwendet werden

XSL Extensible Stylesheet Language XSL ist die Formatierungssprache für XML-Dokumente XSL ist eine Anwendung von XML XSL-T: Namespace xsl für: Transformation XSL-FO: Namespace fo für: Formatierung XPath wird zur Adressierung von Teilen (Elementen, Teilbäumen, etc.) der XML-Dokumente verwendet um XSL anwenden zu können, benötigt man einen XSL-Prozessor

Prozess Externe Elemente XML Instanz Parser DTD Definition Ein validierender Parser führt die Prüfung eines XML-Dokuments bzgl. seiner DTD durch XML Dokument XSL Stylesheet XQL Anfrage Formatierungsprozess Web Script CD/DVD

XSL Mit XSL-T kann man ein Quelldokument in eine beliebige Ausgabestruktur transformieren XSL-FO stellt eine Vielzahl von Objekten zur Spezifikation von Formatierungen bereit Hierzu werden Stylesheets verwendet Ein Stylesheet besteht aus einer oder mehreren Vorlagen (Templates) Diese Vorlagen werden über Muster (Patterns) adressiert

XSL Muster XSL verwendet Muster zur Spezifikation von XML Elementen, d.h. XSL ist deklarativ Muster beschreiben den betreffenden Zweig innerhalb des gesamten Baumes z.B.: email/von adressiert das Element von, das innerhalb des Wurzelelements email liegt

XSL Muster XML-Dokument: XSL-Stylesheet: <TABLE BORDER="1"> <email> <von>Christian.Goebel@Softwareag.com</von> <an>Thomas.Wolf@Softwareag.com</an> <cc>Bernd.Steinberg@Softwareag.com</cc> <betreff>Tamino am Beispiel</betreff> <text>Servus, die Vorstellung von Tamino am Beispiel war ein voller Erfolg. Gruss Christian </text> </email> XSL-Stylesheet: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="uri:xsl"> <xsl:template match="/"> <HTML> <BODY> <TABLE BORDER="1"> <TR> <TD>Von</TD> <TD>An</TD> </TR> <xsl:for-each select="EMAIL"> <xsl:apply-templates/> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> <xsl:template match="./"> <TD><xsl:value-of select="VON"/></TD> <TD><xsl:value-of select="AN"/></TD> </xsl:stylesheet>

XSL Elemente xsl:apply-templates xsl:attribute xsl:cdata xsl:choose xsl:comment Weist den XSL-Prozessor an, auf Grundlage eines angegebenen Musters die korrekte Vorlage zu finden, die angewendet werden soll Erzeugt einen Attributknoten und wendet ihn auf das Ausgabeelement an Gibt einen Abschnitt CDATA aus Gestattet die Prüfung von Bedingungen. Dieses Element wird in Verbindung mit den Elementen xsl:otherwise und xsl:when benutzt Erzeugt in der Ausgabestruktur einen Kommentar

XSL Elemente xsl:copy xsl:define-template-set xsl:element xsl:entity-ref xsl:eval Macht eine Kopie des Zielknotens von der Quelle, die in die Ausgabe eingefügt werden soll Definiert einen Satz von Vorlagen auf einer bestimmten Bereichsebene Erzeugt in der Ausgabe ein Element mit dem angegebenen Namen Erzeugt in der Ausgabe eine Entityreferenzierung mit dem angegebenen Namen Verwertet einen Textstring, gewöhnlich Skriptcode

XSL Elemente xsl:for-each xsl:if xsl:node-name xsl:otherwise xsl:pi Wendet dieselbe Vorlage auf mehrere Dokumentknoten an Gestattet in einer Vorlage die Prüfung einer Bedingung Fügt den Namen des aktuellen Knotens als Textstring in die Ausgabe ein Ermöglicht die Prüfung einer Bedingung. Dieses Element wird in Verbindung mit den Elementen xsl:choose und xsl:when benutzt Erzeugt in der Ausgabe eine Verarbeitungsanweisung

XSL Elemente xsl:script xsl:stylesheet xsl:template xsl:value-of xsl:when Definiert Deklarationen für globale Variablen und Funktionen Definiert den Satz von Vorlagen, die auf den Quelldokumentenbaum angewendet werden müssen, um das Ausgabedokument zu erstellen Definiert eine Vorlage für die Ausgabe auf der Grundlage eines bestimmten Musters Wertet ein XSL-Muster aus, das im Attribut select angegeben ist, und liefert den Wert des identifizierten Knotens als Text zurück, der dann in die Vorlage eingesetzt wird Bietet konditionale Prüfungen. Dieses Element wird in Verbindung mit den Elementen xsl:choose und xsl:otherwise benutzt

XSL in XSL muss jedes Element eine Vorlage haben, damit das Dokument einwandfrei verarbeitet werden kann integrierte Vorlagen: <xsl:template> <xsl:apply-templates/> </xsl:template> Konflikte werden vermieden, indem bei doppelten Spezifikationen das genauer spezifizierte Muster verwendet wird

Workshop I Beispiel für EMAIL zeigen und erklären EMAIL.XML EMAIL-externe-dtd.xml + Tag „attachment“ EMAIL-externe-dtd-erweitert.xml Beispiel für EMAIL zeigen und erklären

Workshop II XML für Buch erstellen DTD für Buch erstellen XSL für Buch erstellen HTML-Seite zum Aufruf erstellen

Wichtige Links www.w3.org World Wide Web Consortium www.oasis-open.org/cover/ OASIS XML Cover Pages www.xml.org OASIS XML.ORG www.xml.com O'Reilly Network XML.com www.go-xml.com Software AG GO XML xml.apache.org Apache XML Project www.ibm.com/developer/xml/ IBM developerWorks msdn.microsoft.com/xml/default.asp msdn online XML wdvl.internet.com/Authoring/Languages/XML/ Web Developer's Virtual Library

Abkürzungen XML Extensible Markup Language SGML Standard Generalized Markup Language DTD Document Type Definition XSL Extensible Stylesheet Language XQL XML Query Language HTML Hypertext Markup Language CSS1/2 Cascading Style Sheets, Level 1/2 WWW World Wide Web HTTP Hypertext Transport Protocol URI Uniform Resource Identifier URL Uniform Resource Locator URN Uniform Resource Name

The XML Company