+ All Categories
Home > Documents > Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.

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

Date post: 06-Apr-2016
Category:
Upload: hilko-pfeiffer
View: 215 times
Download: 0 times
Share this document with a friend
69
Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG
Transcript
Page 1: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.

Einführung in XML - Teil 1

Kai BesserDipl. Ing. InformatikAccount Manager Software AG

Page 2: 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)

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

Ziele von Teil 1

Verstehen von:XML und seinen Einsatzbereichen

Anwenden von:XML und DTDXML NamespacesXML Stylesheets (CSS, XSL)

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

Inhaltsverzeichnis

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

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

XML - Extensible Markup Language

EinleitungMarkup Languages (Auszeichnungssprachen)Einstieg

GrundlagenStruktur und SyntaxRegeln der DTD

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

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

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

Geschichte

GML Generalized Markup Language 1969: Entwicklung (IBM) Goldfarb, Mosher und Lorie 1974: validierender Parser

SGML Standard Generalized Markup Language 1978: Entwicklung 1986: Standard ISO 8879

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

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

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

Auszeichnungssprachen

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

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

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 entwickeltsehr grosses Interesse der Industrie, z.B. Microsoft, IBM,

Sun, Apache, SAP, Oracle, Adobe, Corel, Macromedia, Software AG, DataChannel, webMethods, eXcelon, ...

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

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.

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

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

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

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>

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

XML im Einsatz

als offenes Format für Datenaustausch als strukturierte, semantisch reiche Webdaten

mehr Verarbeitung beim Clientsemantische Findmaschinen und Informationsagenten

für neue Webanwendungen (z.B. Small-Screen-Clients) zur Speisung unterschiedlichster Anwendungen mit

denselben Daten zur Datenspeicherung (Aufbewahrungspflicht)

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

XML im Einsatz

XML/EDIElektronischer Datenaustauschoffener, herstellerunabhängiger Standard leicht zu implementieren flächendeckend möglichZeit und Kosten werden gespartsteigert die Effizienz traditionelles EDI besitzt feste Transaktionssätze

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

XML im Einsatz

WebXHTML-Webseiten (XForms)Daten anzeigen im Web (mit Stylesheets)Personalisierte WebseitenWebportaleSuchmaschinen („Findmaschinen“) Informationsagenten Internet-Auktionen

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

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

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

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

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

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

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

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)

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

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)

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

Physische Struktur

geparste Entities:enthalten Text, der aus Zeichen zusammengesetzt istUnterscheidung in Auszeichnungen und Zeichendaten

ungeparste Entities:haben eine Notationverweisen auf binäre Daten (z.B. Bilddateien)

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

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>

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

XML Syntax

Öffnende Element-Tags: <Buch> Schliessende Element-Tags: </Buch>

zwingend erforderlich Leeres Element:

Bsp.: <Fortsetzung/>(entspricht <Fortsetzung></Fortsetzung>)

Attribute: <Lager zone="Halle3">

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

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...;

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

Vordefinierte Entity-Referenzen

&lt; öffnende spitze Klammer (<) &gt; schliessende spitze Klammer (>) &amp; Ampersand (&) &apos; Apostroph (') &quot; Anführungszeichen (")

Wie fügt man folgenden Text in ein XML Dokument ein:... „(5 > 0)“ ...

... &quot;(5 &gt; 0)&qout; ...

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

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> ]]>

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

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"?>

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

Gültiges und Wohlgeformtes XML

wohlgeformt:stimmt mit den Regeln der XML-Spezifikation übereineindeutiges Wurzelelementalle Tags werden wieder geschlossen oder sind leerkeine Überlappung von Tags (strenge Hierarchie)alle Entity-Referenzen ausser den Vordefinierten sind

deklariertLiterale stehen in einfachen oder doppelten

Anführungszeichen

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

Gültiges und Wohlgeformtes XML

gültig: ist wohlgeformtdie im Prolog spezifizierte interne oder externe DTD

bestimmt die Regeln für das Dokumentalle diese Regeln sind zwingend zu beachten

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

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?

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

Zusammenfassung

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

‚gültigem‘ XML?

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

Beispiele

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

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

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>

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

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>

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

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>

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

DTD

Document type definition - Dokumenttypdefinition Definition für eine Klasse von Dokumenten intern:

<!DOCTYPE email [ ... ]>

extern: <!DOCTYPE email SYSTEM "email.dtd">

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

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)>

]>...

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

Elemente

Any: 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)*)

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

Strukturen

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

Was bed. diese Definition: <!ELEMENT email (an+, von, cc*, betreff?, text?)>

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

Attribute

Deklaration: <!ATTLIST ElementName AttributName Typ Vorgabe>

Beispiel: <!ATTLIST email sprache (Western|Greek|Latin) "Latin">

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

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)

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

Attributtypen

#REQUIRED muss spezifiziert werden #IMPLIED optional #FIXED "Wert" das Attribut muss den angegebenen Wert haben Vorgabewert Vorbelegung des Attributwerts

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

Notations

teilt dem Prozessor mit, welcher Objekttyp referenziert wird Deklaration:

<!NOTATION NotationsName SYSTEM "..."> Beispiel:

<!NOTATION GIF SYSTEM "Iexplore.exe">

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

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

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

Interne Entities

Definition: <!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

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

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>

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

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">

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

Parameter Entities

Definition: <!ENTITY % EntityName "Wert">

Referenzierung: %EntityName;

zu beachten: sind auf DTD beschränkt

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

IGNORE und INCLUDE

dienen zum Aktivieren und Deaktivieren von Abschnitten der DTD

Definition: <![IGNORE [DTD-Abschnitt]]> <![INCLUDE [DTD-Abschnitt]]>

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

IGNORE und INCLUDE

<!ENTITY % SICHER "IGNORE"><!ENTITY % UNSICHER "INCLUDE">

<![%SICHER; [hier Deklarationen]]><![%UNSICHER; [hier Deklarationen]]>

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

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

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

Klassen DTD

Als Basisklasse verwendet Beispiel

<DOCTYPE EMAIL SYSTEM "..." [<!ENTITY Unterschrift "Franz">]>

Bei Konflikten wird die zuerst gefundene Deklaration verwendet (die Innere)

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

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

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

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

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

Prozess

Parser

XMLInstanz

Web CD/DVDScript

Ein validierender Parser validierender Parserführt die Prüfung einesXML-Dokuments bzgl.seiner DTD durch

ExterneElemente

XMLDokument

XSLStylesheet Formatierungsprozess

DTD Definition

XQLAnfrage

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

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

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

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/vonadressiert das Element von, das innerhalb des Wurzelelements email liegt

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

XSL Muster

XML-Dokument:<email>

<von>[email protected]</von><an>[email protected]</an><cc>[email protected]</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">

<TR><xsl:apply-templates/>

</TR> </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:template></xsl:stylesheet>

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

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

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

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

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

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

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

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

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

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

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

Workshop I

EMAIL.XML EMAIL-externe-dtd.xml

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

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

Workshop II

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

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

Wichtige Links

www.w3.orgWorld 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

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

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

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

The XML Company


Recommended