Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
XML eXtensible Markup Language
Prof. Dr. Fabian Glasen Content Management Systeme
2
Prof. Dr. Fabian Glasen Content Management Systeme
XML Web-Sites xml.apache.org Prof. Dr. Fabian Glasen Content Management Systeme
3
Prof. Dr. Fabian Glasen Content Management Systeme
XML Literatur Niedermair Elke, Niedermair, Michael, [2001]: XML Das grosse Buch, Data Becker, Düsseldorf. Rothfuss, Gunther / Ried, Christian, [2001]: Content Management mit XML, Springer, Berlin. Prof. Dr. Fabian Glasen Content Management Systeme
4
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML ist eine Metasprache zur Definition von Markupsprachen (z.B. HTML) XML ist selbst eine Markup-Sprache XML definiert eine hierarchische Struktur für ein Dokument Die Struktur kann mittels einer DTD oder XML-Schema festgeschrieben werden XML sagt nichts darüber aus, wie ein Dokument in einem Browser angezeigt wird. Zur Spezifikation der Anzeige können Stylesheets verwendet werden (CSS/ XSL) Prof. Dr. Fabian Glasen Content Management Systeme
5
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML wurde u.a. entworfen, um eine einfache Implementierung und Zusammenarbeit mit SGML und HTML zu gewährleisten. Prof. Dr. Fabian Glasen Content Management Systeme
6
Prof. Dr. Fabian Glasen Content Management Systeme
XML Beispiel <Buecher> <Buch> <Titel> .... </Buch> </Buecher> Root-Knoten Knoten Prof. Dr. Fabian Glasen Content Management Systeme
7
Prof. Dr. Fabian Glasen Content Management Systeme
XML <?xml version="1.0" encoding="ISO " ?> <PERSONEN> <PERSON> <NAME> Nikolaus Weihnachtsmann </NAME> <STRASSE> Eisscholle 1 </STRASSE> <PLZ> 2412 </PLZ> <ORT> Nordpol </ORT> <TEL> 012/ </TEL> </PERSON> <NAME> Oskar Osterhase </NAME> <STRASSE> Eierring 28 </STRASSE> <PLZ> </PLZ> <ORT> Eierhausen </ORT> <TEL> 034/ </TEL> <NAME> Käptn Blaubär </NAME> <STRASSE> Schwindelweg 3 </STRASSE> <PLZ> </PLZ> <ORT> Lügenbeutel </ORT> <TEL> 08765/ </TEL> </PERSONEN> Prof. Dr. Fabian Glasen Content Management Systeme
8
Prof. Dr. Fabian Glasen Content Management Systeme
XML Jedes XML-Dokument muss mit einer XML-Deklaration beginnen <?xml version=„1.0“ encoding=„iso “?> Prof. Dr. Fabian Glasen Content Management Systeme
9
Prof. Dr. Fabian Glasen Content Management Systeme
XML Kommentare <!-- Kommentar-Text --!> Processing Instruction (PI) <? PITarget etc. ?> Beispiel für PI: XML-Deklaration <?xml version=„1.0“?> Prof. Dr. Fabian Glasen Content Management Systeme
10
Prof. Dr. Fabian Glasen Content Management Systeme
XML Schema: Da auch bei „sprechenden“ Tagnamen nicht sicher gestellt ist, dass jeder Nutzer die Tagnamen eindeutig interpretiert, kann zusätzlich eine Definition (Beschreibung) dafür gegeben werden. Eine solche Definition (Beschreibung) nennt man ein Schema, wenn die dadurch implizierte Struktur häufiger wieder verwendet werden soll. Ein Schema ist als ein Modell für eine Klasse gleichartiger Dokumente mit wiederkehrendem Muster. Das Schema beschreibt die zugelassenen Tags und ihre Anordnung in einem gültigen Dokument Prof. Dr. Fabian Glasen Content Management Systeme
11
Prof. Dr. Fabian Glasen Content Management Systeme
XML Schema: Um die gewünschte Strukturvorgabe systematisch zu ermöglichen (werden benötigt) bzw. stehen zur Verfügung: DTD- (Document Type Definition) XML-Schema XML-Prozessor validiert die XML-Dokumente hinsichtlich der zugehörigen DTDs. Prof. Dr. Fabian Glasen Content Management Systeme
12
Prof. Dr. Fabian Glasen Content Management Systeme
DTD (Beispiel) <!DOCTYPE PERSONEN [ <!ELEMENT PERSONEN (#PCDATA)> <!ELEMENT PERSON (#PCDATA)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT STRASSE (#PCDATA)> <!ELEMENT PLZ (#PCDATA)> <!ELEMENT ORT (#PCDATA)> <!ELEMENT TEL (#PCDATA)> ]> Prof. Dr. Fabian Glasen Content Management Systeme
13
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS Beispiel für CSS Datei person.css NAME {font family: Arial; font size: 20pt; color: red} STRASSE {font family: Arial; font size: 16pt; color: yellow} PLZ {font family: Arial; font size: 16pt; color: green} ORT {font family: Arial; font size: 16pt; color: blue} TEL {font family: Arial; font size: 12pt; color: magenta} Prof. Dr. Fabian Glasen Content Management Systeme
14
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML ist eine generalisierte Auszeichnungssprache (markup language) Inhaltsbeschreibungssprache eine Tag-Sprache (wie HTML) keine Seitenbeschreibungssprache (wie HTML) generalisiert: Benutzer kann eigene Tags definieren (Spezialsprachen z.B. XHTML) grosser Bruder: SGML (XML ist Teilmenge von SGML schlanker, aufwärtskompatibel) Prof. Dr. Fabian Glasen Content Management Systeme
15
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML ist ein Sprachbaukasten zur Erzeugung bedarfsgerechter neuer Auszeichnungssprachen Erweiterbarkeit XML erlaubt die Definition neuer Tags und Attribute Struktur XML erlaubt die Darstellung beliebig tief verschachtelter hierarchischer Strukturen Validierung XML ermöglicht die Prüfung der strukturellen Gültigkeit der Dokumente (bezüglich DTD) Prof. Dr. Fabian Glasen Content Management Systeme
16
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML-Dokumente können von einer Person oder einer beliebigen Anwendung erzeugt und per Messaging über ein Netzwerk verschickt und von einer anderen Person oder Applikation interpretiert werden. XML-Dokumente können relativ einfach zur Präsentation in verschiedenen Ausgabeformaten (HTML, WML, PDF, RTF etc.) aufbereitet werden. Prof. Dr. Fabian Glasen Content Management Systeme
17
Prof. Dr. Fabian Glasen Content Management Systeme
XML Tag-Sprachen erlauben Strukturierung Austausch Verarbeitung der Inhalte unabhängig von Plattformen Betriebssystemen spezifischer Anwendungssoftware Prof. Dr. Fabian Glasen Content Management Systeme
18
Prof. Dr. Fabian Glasen Content Management Systeme
XML Funktionen des Markups in einem XML-Dokument: Aufteilung auf Speicherungseinheiten Beschreibung der hierarchischen Struktur Verknüpfung von Attribut-Wert-Paaren mit der Struktur Prof. Dr. Fabian Glasen Content Management Systeme
19
Prof. Dr. Fabian Glasen Content Management Systeme
DTD XML-Schema SOX XDR XML Data Reduced Schema for Object-Oriented XML Schema-Sprachen ebXML xCBL OFX OTP E-Business- XML Open Trading Protocol Open Financial Exchange Common Business Language Business-Sprachen SOAP WSDL UDDI WEB-Services XML Visualisierung / Transformation XSLT XSL Document Object Model Resource Description Framework XHTML DOM CSS RDF Prof. Dr. Fabian Glasen Content Management Systeme
20
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML basierte Standards XML-Basisstandard (XML als Metasprache) XML Kernstandards (Xpath, Xlink, DOM, XML-Schema, XSLT) Horizontale Standards (branchenunabhängige DTDs: WML, XHTML, SVG (Scalable Vector Graphics), xCBL, ebXML) Vertikale Standards (branchenspezifische DTDs und zugehörige Vokabularien) Prof. Dr. Fabian Glasen Content Management Systeme
21
Prof. Dr. Fabian Glasen Content Management Systeme
XML Standardisierungsaktivitäten xCBL (Common Business Language) ebXML (Electronic Business XML) OFX (Open Financial Exchange) OTP (Open Trading Protocol) Prof. Dr. Fabian Glasen Content Management Systeme
22
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML eignet sich als Visualisierungssprache (formatunabhängig) Datenaustauschsprache für SCM (EDI) Metasprache zur Definition von Markup-Sprachen Prof. Dr. Fabian Glasen Content Management Systeme
23
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL Transformation eines XML-Dokumentes in andere Formate XML-Dokument Transformations- regeln XSL-Stylesheet HTML ... XML TeX WML Text PDF RTF Prof. Dr. Fabian Glasen Content Management Systeme
24
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL XML HTML XSL Prozessor XSL Prof. Dr. Fabian Glasen Content Management Systeme
25
Prof. Dr. Fabian Glasen Content Management Systeme
XML Informationen können in XML als Elemente oder als Attribute abgelegt werden. Prof. Dr. Fabian Glasen Content Management Systeme
26
Prof. Dr. Fabian Glasen Content Management Systeme
XML Beispiel: Ablage als Element ... <Adresse> <Strasse>Inselgasse 25</Strasse> <PLZ>78462</PLZ> <Ort>Konstanz</Ort> </Adresse> Prof. Dr. Fabian Glasen Content Management Systeme
27
Prof. Dr. Fabian Glasen Content Management Systeme
XML Beispiel: Ablage als Attribut ... <Adresse strasse=„Abc“ plz=„20111“ ort=„Hamburg“/> Attribute sollten möglichst Metainformationen zu den zugehörigen Elementen enthalten: <Preis Währung=„US-Dollar“>4711</Preis> Prof. Dr. Fabian Glasen Content Management Systeme
28
Prof. Dr. Fabian Glasen Content Management Systeme
XML Beispiel: Ablage als Attribut und als Element ... <?xml version 1.0?> .... <BUCH> <TITEL>XML im Content Management</TITEL> <VERLAG> ort=„Heidelberg“ >Springer</VERLAG> </BUCH> Prof. Dr. Fabian Glasen Content Management Systeme
29
Prof. Dr. Fabian Glasen Content Management Systeme
XML CDATA-Abschnitte innerhalb von CDATA-Abschnitten werden Sonderzeichen z.B. für Tags etc. nicht interpretiert. <![CDATA [<gruss>Hallo Welt</gruss>]]> im Gegensatz zu: <?xml version=„1.0“?> <gruss>Hallo Welt</gruss> Prof. Dr. Fabian Glasen Content Management Systeme
30
Prof. Dr. Fabian Glasen Content Management Systeme
XML CDATA <?xml version="1.0" encoding="ISO "?> <ungleichung> <![CDATA[Aufgabe: x+27<65 Lösung: x<65-27 => x<38 ]]> </ungleichung> Prof. Dr. Fabian Glasen Content Management Systeme
31
Prof. Dr. Fabian Glasen Content Management Systeme
XML XML-Prozessoren können XML-Dokumente lesen (interpretieren), d.h.: Sie können auf die Struktur zugreifen über die Struktur auf den Inhalt von XML-Dokumenten zugreifen Struktur und Inhalt verändern Prof. Dr. Fabian Glasen Content Management Systeme
32
(Cascading Style Sheets)
XML und CSS (Cascading Style Sheets) Prof. Dr. Fabian Glasen Content Management Systeme
33
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS CSS entsprechen in Word Druckformatvorlagen (Absatzformate) ermöglichen Layoutdefinition für neue Tags einer Web-Site, die in XML oder HTML verwendet werden durch Änderung der Tag-Definition in CSS-Datei wird das Design in allen betroffenen Web-Seiten geändert Prof. Dr. Fabian Glasen Content Management Systeme
34
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS Gleichen XML-Tags in unterschiedlichen XML-Dokumenten kann durch CSS ein einheitliches Layout zugewiesen werden das Layout aller XML-Dateien, die ein Tag und den Bezug zur einer CSS-Datei enthalten, kann durch Änderung der Tag-Definition in der CSS-Datei einfach für alle XML-Dokumente verändert werden. Prof. Dr. Fabian Glasen Content Management Systeme
35
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS <?xml version="1.0" encoding="ISO "?> <?xml-stylesheet href="katalog1.css" type="text/css"?> <Katalog> <Titel> Der fromme Dieb </Titel> <Autor> Ellis Peters </Autor> <Kategorie> Krimi </Kategorie> <Verlag> Heyne Verlag </Verlag> <Erscheinungsjahr> 1998 </Erscheinungsjahr> <Seitenzahl> 319 </Seitenzahl> <ISBN-Nummer> </ISBN-Nummer> <Inhaltsangabe> Nach einem Unwetter müssen die ... </Inhaltsangabe> <Preis> 12,90 DM </Preis> <Cover src="cover1.gif"></Cover> </Katalog> Prof. Dr. Fabian Glasen Content Management Systeme
36
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS Beispiel 1 für CSS-Datei katalog1.css Titel, Verlag, ISBN-Nummer {font-family:Arial} Autor, Erscheinungsjahr,Inhaltsangabe {font-family:"Courier New"} Kategorie, Seitenzahl, Preis {font-family:Times} Prof. Dr. Fabian Glasen Content Management Systeme
37
Prof. Dr. Fabian Glasen Content Management Systeme
XML CSS Beispiel 2 für CSS-Datei katalog1.css Titel, Verlag, ISBN-Nummer, Autor, Erscheinungsjahr,Inhaltsangabe, Kategorie, Seitenzahl, Preis {display:block} Titel, Verlag, ISBN-Nummer {font-family:Arial} Autor, Erscheinungsjahr,Inhaltsangabe {font-family:"Courier New"} Kategorie, Seitenzahl, Preis {font-family:Times} Prof. Dr. Fabian Glasen Content Management Systeme
38
Prof. Dr. Fabian Glasen Content Management Systeme
XML - CSS Beispiel 3 für CSS-Datei katalog1.css Titel {font-family:Arial; font-size: 18pt; font-style: italic} Autor {font: bold 16pt Arial; text-decoration: underline} Kategorie, Verlag, Erscheinungsjahr,Seitenzahl, ISBN-Nummer, Inhaltsangabe, Preis , Neupreis {font-family:Times; font-size: 12pt} Seitenzahl {font-family:Arial; font-size: 10pt} ISBN-Nummer, Neupreis {font-weight: bold} Kategorie {font-family:Arial; font-size: 12pt} Preis {text-decoration: line-through} Prof. Dr. Fabian Glasen Content Management Systeme
39
DTD (Document Type Definition)
Prof. Dr. Fabian Glasen Content Management Systeme
40
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Die DTD definiert die Struktur eines XML-Dokumentes es müssen alle Elemente, Attribute und Entitäten spezifiziert werden Wird zu Beginn eine Reihenfolge der Elemente spezifiziert, (Inhaltsmodell) müssen die Elemente in der festgelegten Reihenfolge im Dokument auftauchen. XML-Dokumente können auch ohne DTD angelegt werden Falls DTD einem XML-Dokument zugwiesen wird, muss sich das Dokument nach den Vorgaben richten Prof. Dr. Fabian Glasen Content Management Systeme
41
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD DTD liefert Unterstützung bei Interpretation durch Menschen und Programme und beim Austausch von XML-Dokumenten aber: Semantik / Bedeutung muss letztlich zwischen Menschen vereinbart werden. Sie kann z.B. durch Typdefinitionen verbessert werden (XML-Schema) Prof. Dr. Fabian Glasen Content Management Systeme
42
Prof. Dr. Fabian Glasen Content Management Systeme
XML DTD <!DOCTYPE Katalog[ <!ELEMENT Katalog (Titel, Autor, Kategorie, Verlag, Erscheinungsjahr, Seitenzahl, ISBN-Nummer, (Inhaltsangabe | Autorensteckbrief), Preis, Cover)+ > <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Verlag (#PCDATA)> <!ELEMENT Erscheinungsjahr (#PCDATA)> <!ELEMENT Seitenzahl (#PCDATA)> <!ELEMENT ISBN-Nummer (#PCDATA)> <!ELEMENT Inhaltsangabe (#PCDATA)> <!ELEMENT Autorensteckbrief (#PCDATA)> <!ELEMENT Preis (#PCDATA)> <!ELEMENT Cover EMPTY> <!ATTLIST Cover src CDATA #REQUIRED>]> Prof. Dr. Fabian Glasen Content Management Systeme
43
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Die Dokumenttyp-Deklaration beginnt mit <!DOCTYPE und endet mit ]> Die Element-Deklaration <!ELEMENT name inhalt> Gross- und Kleinschreibung wird strikt beachtet!!! ELEMENT und die Schlüsselwörter müssen gross geschrieben werden. Prof. Dr. Fabian Glasen Content Management Systeme
44
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Wo sich die DTD befinden kann: im Dokument selbst (hohe Redundanz) in separater Datei auf dem gleichen Rechner wie das Dokument (benötigt Verweis im XML-Dokument) <!DOCTYPE Gespraech SYSTEM „gespraech.dtd> irgendwo im Netz (Gefahr eines Netzwerkfehlers) <!DOCTYPE Gespraech SYSTEM im Browser (Beispiel XHTML) Prof. Dr. Fabian Glasen Content Management Systeme
45
Prof. Dr. Fabian Glasen Content Management Systeme
DTD Interne / externe DTDs interne DTDs werden in XML-Datei selbst definiert externe DTDs werden in eigener Datei definiert Verweis: <!DOCTYPE wurzelelement SYSTEM „DTD-URL“> Prof. Dr. Fabian Glasen Content Management Systeme
46
DTD externe DTD (Beispiel)
<?xml version="1.0" encoding="ISO "?> <!DOCTYPE Katalog SYSTEM "katalog.dtd"> <Katalog> <Titel> Der fromme Dieb </Titel> <Autor> Ellis Peters </Autor> <Kategorie> Krimi </Kategorie> <Verlag> Wilhelm Heyne Verlag GmbH&Co. KG, München </Verlag> <Erscheinungsjahr> 1998 </Erscheinungsjahr> <Seitenzahl> 319 </Seitenzahl> <ISBN-Nummer> </ISBN-Nummer> <Inhaltsangabe> Nach einem Unwetter müssen .... </Inhaltsangabe> <Preis> 12,90 DM </Preis> <Cover src="cover1.gif"></Cover> </Katalog> Prof. Dr. Fabian Glasen Content Management Systeme
47
DTD externe DTD (Beispiel)
<!ELEMENT Katalog (Titel, Autor, Kategorie, Verlag, Erscheinungsjahr, Seitenzahl, ISBN-Nummer, (Inhaltsangabe | Autorensteckbrief), Preis, Cover*)+ > <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Verlag (#PCDATA)> <!ELEMENT Erscheinungsjahr (#PCDATA)> <!ELEMENT Seitenzahl (#PCDATA)> <!ELEMENT ISBN-Nummer (#PCDATA)> <!ELEMENT Inhaltsangabe (#PCDATA)> <!ELEMENT Autorensteckbrief (#PCDATA)> <!ELEMENT Preis (#PCDATA)> <!ELEMENT Cover EMPTY> <!ATTLIST Cover src CDATA #REQUIRED> Prof. Dr. Fabian Glasen Content Management Systeme
48
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Gültigkeitsbeschränkungen Attribute #REQUIRED Attribut muss immer auftreten #IMPLIED Attribut muss nicht auftreten Elemente: * Element kann beliebig oft vorkommen ? ist optional + muss mindestens einmal vorkommen | Alternative bzw. Sequenz von Elementen Prof. Dr. Fabian Glasen Content Management Systeme
49
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Definition der Häufigkeit von Elementen ?: einmal oder keinmal *: einmal oder keinmal oder mehrmals +: mindestens einmal oder mehrmals Prof. Dr. Fabian Glasen Content Management Systeme
50
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Beispiel (DTD): <!- - -DTD version 2 - -> <!ELEMENT (empfaenger, kopieAn*, absender, thema, nachricht)> <!ELEMENT empfaenger (#PCDATA)> <!ELEMENT kopieAn (#PCDATA)> <!ELEMENT absender (#PCDATA)> <!ELEMENT thema (#PCDATA)> <!ELEMENT nachricht (#PCDATA)> Prof. Dr. Fabian Glasen Content Management Systeme
51
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Beispiel (Instanz): <?xml version=„1.0“?> <!DOCTYPE SYSTEM 2.dtd> < > <thema>Gruss</thema> <nachricht>Hallo how are you?</nachricht> </ > Prof. Dr. Fabian Glasen Content Management Systeme
52
XML - DTD (Inhaltsmodell)
<!DOCTYPE Buch [ <!ELEMENT Buch (Titel, Autor, Kategorie, Verlag, Erscheinungsjahr, Seitenzahl, ISBN-Nummer, Inhaltsangabe, Preis, Cover) > <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Verlag (#PCDATA)> <!ELEMENT Erscheinungsjahr (#PCDATA)> <!ELEMENT Seitenzahl (#PCDATA)> <!ELEMENT ISBN-Nummer (#PCDATA)> <!ELEMENT Inhaltsangabe (#PCDATA)> <!ELEMENT Preis (#PCDATA)> <!ELEMENT Cover EMPTY> <!ATTLIST Cover src CDATA #REQUIRED> ]> Prof. Dr. Fabian Glasen Content Management Systeme
53
XML - DTD (Inhaltsmodell/Alternative)
<!DOCTYPE Buch [ <!ELEMENT Buch (Titel, Autor, Kategorie, Verlag, Erscheinungsjahr, Seitenzahl, ISBN-Nummer, (Inhaltsangabe | Autorensteckbrief), Preis, Cover) > <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Verlag (#PCDATA)> <!ELEMENT Erscheinungsjahr (#PCDATA)> <!ELEMENT Seitenzahl (#PCDATA)> <!ELEMENT ISBN-Nummer (#PCDATA)> <!ELEMENT Inhaltsangabe (#PCDATA)> <!ELEMENT Autorensteckbrief (#PCDATA)> <!ELEMENT Preis (#PCDATA)> <!ELEMENT Cover EMPTY> <!ATTLIST Cover src CDATA #REQUIRED>]> Prof. Dr. Fabian Glasen Content Management Systeme
54
Prof. Dr. Fabian Glasen Content Management Systeme
XML - DTD Beispiel Häufigkeit <?xml version="1.0" encoding="ISO "?> <!DOCTYPE Buch [ <!ELEMENT Buch (Titel, Autor, Kategorie+) > <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> ]> <Buch> <Titel> Der fromme Dieb </Titel> <Autor> Ellis Peters </Autor> <Kategorie> Krimi </Kategorie> <Kategorie> Historischer Roman </Kategorie> </Buch> Prof. Dr. Fabian Glasen Content Management Systeme
55
Prof. Dr. Fabian Glasen Content Management Systeme
XML (DTD) - Defizite XML hat kein Typsystem (nur PCDATA / CDATA) ermöglicht keine Darstellung von n:m-Relationen liefert keinen Beitrag zu Prozessdefinition und Abwicklung XML ist langsam XML ist nicht objektorientiert (Vererbungsbeziehungen zwischen Dokumenttypen fehlen) Prof. Dr. Fabian Glasen Content Management Systeme
56
Prof. Dr. Fabian Glasen Content Management Systeme
XML- Schema Prof. Dr. Fabian Glasen Content Management Systeme
57
Prof. Dr. Fabian Glasen Content Management Systeme
XML-Schema Nachfolger der XML-DTD Weitaus ausdrucksstärker als DTD: Vielzahl elementarer Datentypen Komplexe Datentypen Verteilte Schemata (im Web verteilt) Vererbung zwischen Typdefinitionen Für Substrukturen eines Dokumentes können Schlüssel definiert werden. Prof. Dr. Fabian Glasen Content Management Systeme
58
Prof. Dr. Fabian Glasen Content Management Systeme
XML Schemasprachen (XML-Schema) beschreiben XML-Dokumenttypen XML-Schema arbeitet mit Vererbung Prof. Dr. Fabian Glasen Content Management Systeme
59
Prof. Dr. Fabian Glasen Content Management Systeme
XML-Schema XML-Schema ist selbst eine XML-Sprache Dadurch können XML-Parser auch auf Schemadefinitionen angewendet werden. Prof. Dr. Fabian Glasen Content Management Systeme
60
Prof. Dr. Fabian Glasen Content Management Systeme
XML-Schema Beispiel <xsd:complexType name=„Adresse“> <xsd:sequence> <xsd: element name=„Name“ type=„xsd:string/> <xsd: element name=„Strasse“ type=„xsd:string/> <xsd: element name=„Stadt“ type=„xsd:string/> <xsd: element name=„PLZ“ type=„xsd:decimal/> </xsd:sequence> <xsd:attribute name=„Land“ type=„xsd:string“ use=optional“ value=„DE“/> </xsd:complexType> Prof. Dr. Fabian Glasen Content Management Systeme
61
Prof. Dr. Fabian Glasen Content Management Systeme
XML-Schema Beispiel <xsd:complexType name=„BestellungType“> <xsd:sequence> <xsd: element name=„Lieferadresse“ type=„Adresse“ /> <xsd: element name=„ Zahlungsadresse“ type=„Adresse“ /> <xsd: element name=„Positionen“ type=„Positionentype“/> </xsd:sequence> <xsd:attribute name=„Datum“ type=„xsd:date“/> </xsd:complexType> Prof. Dr. Fabian Glasen Content Management Systeme
62
Visualisieren und Gestalten (XSL / XSL-FO / XSLT)
Prof. Dr. Fabian Glasen Content Management Systeme
63
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL Visualisierung XSL (eXtensible Stylesheet Language) ermöglicht unterschiedliche Darstellungen des gleichen XML-Dokumentes in unterschiedlichen Anwendungskontexten mögliche Zielsprachen: HTML, RTF, PDF, ASCII Text, EDI, WML (Wireless Markup Language) etc. Prof. Dr. Fabian Glasen Content Management Systeme
64
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL XSL (eXtensible Stylesheet Language) HTML-Autoren können weiterhin mit HTML und CSS arbeiten Entwicklungsbausteine in XSL Scriptsprache für XSL ist ECMAScript (eine Standardisierung von JavaScript/) Flow-Object-Klassen von DSSSL Prof. Dr. Fabian Glasen Content Management Systeme
65
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL XSL umfasst die Sprachen XSLT (XSL Transformation) stellt Sprachelemente bereit, die beschreiben, wie die Übersetzung von XML-Dokumente in XML-Dokumente oder in andere Ausgabeformate erfolgen soll XSL-FO (XSL Formatierung) stellt Sprachelemente bereit, die beschreiben, wie XML-Elemente angezeigt werden sollen (Schriftart, Grösse etc.) Prof. Dr. Fabian Glasen Content Management Systeme
66
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL Wo / wie erfolgt die Transformation??? im Client (Browser) XML und XSL-Dokument werden zum Browser an den Browser übertragen und dort verarbeitet dynamisch am Server XML und XSL werden bei jedem Aufruf dynamisch am Server verarbeitet statisch am Server XML und XSL werden zu Beginn in HTML (etc.) transformiert und nur bei Änderungen als HTML (etc.) aktualisiert Prof. Dr. Fabian Glasen Content Management Systeme
67
XML - XSL (Beispiel: kurs.xsl)
<?xml version="1.0" encoding="ISO "?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="Kurs"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="Einheit"> <p> </p> </xsl:stylesheet> Prof. Dr. Fabian Glasen Content Management Systeme
68
XML - XSL (Beispiel: kurs.xml)
<?xml version="1.0" encoding="ISO "?> <Kurs> <Tag param="Montag"> <Einheit art="Vortrag"> <Zeit>9:00-10:30</Zeit> <Ort>Raum 229</Ort> <Thema>Java in verteilten Systemen</Thema> <Referent>Herr Dr. Müller</Referent> </Einheit> <Einheit art="Kurs"> <Zeit>10:30-12:00</Zeit> <Ort>Raum 228</Ort> <Referent>Herr Peter Marks</Referent> <Zeit>13:00-17:00</Zeit> </Tag> Prof. Dr. Fabian Glasen Content Management Systeme
69
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL (Beispiel) <Tag param="Dienstag"> <Einheit art="Referat"> <Zeit>9:00-10:00</Zeit> <Ort>Raum 120</Ort> <Thema>XML und Java</Thema> <Referent>Frau Petra Kern</Referent> </Einheit> <Einheit art="Übung"> <Zeit>10:00-12:00</Zeit> <Zeit>13:00-17:00</Zeit> </Tag> </Kurs> Prof. Dr. Fabian Glasen Content Management Systeme
70
XML - XSL (Beispiel: kurs.html)
<body> <p> 9:00-10:30 Raum 229 Java in verteilten Systemen Herr Dr. Müller </p> 10:30-12:00 Raum 228 Java in verteilten Systemen Herr Peter Marks 13:00-17:00 Raum 228 Java in verteilten Systemen Herr Peter Marks 9:00-10:00 Raum 120 XML und Java Frau Petra Kern 10:00-12:00 Raum 120 XML und Java Frau Petra Kern 13:00-17:00 Raum 120 XML und Java Frau Petra Kern </body> </html> Prof. Dr. Fabian Glasen Content Management Systeme
71
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL-FO XSL-FO (Formatierungsobjekte) unterstützen ein vielseitiges visuelles Layout (für professionelles Publishing) Kopf und Fusszeilen Fussnoten Randnotizen Seitenzahlen Querverweise Prof. Dr. Fabian Glasen Content Management Systeme
72
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL-FO XSL-FO basiert auf rechteckigen Seiten-Bereichen (Kästen(Areas), die Text nichts (Leerraum) Formatierungsobjekte enthalten können Der XSL-Formatierer ermittelt, wo diese Bereiche auf der Seite platziert werden Prof. Dr. Fabian Glasen Content Management Systeme
73
Prof. Dr. Fabian Glasen Content Management Systeme
XML - XSL-FO XSL-FO Areas (Bereichstypen): Bereichscontainer oberste Container, kann auf Seite per Koordinaten positioniert werden Blockbereiche i.d.R: Absätze (können enthalten: Zeilenbereiche, Blockbereiche, Grafik) Zeilenbereiche nimmt eine Textzeile innerhalb eines Blocks auf, kann Inline-Bereiche enthalten Inline-Bereiche sind Teile einer Zeile, einzelne Zeichen, Fussnaoten, Referenzen, mathematische Formeln Prof. Dr. Fabian Glasen Content Management Systeme
74
XML - XSL-FO Zeilenbereich Inline-Bereich Blockbereich
Bereichscontainer Kopfzeile Bereichscontainer Hauptkörper Zeilenbereich Inline-Bereich Blockbereich Bereichscontainer Fusszeile Prof. Dr. Fabian Glasen Content Management Systeme
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.