XML eXtensible Markup Language

Slides:



Advertisements
Ähnliche Präsentationen
Extensible Markup Language
Advertisements

Webstandards Leinwandbindung Jeder Kettfaden liegt abwechselnd unter bzw. über dem Schußfaden Köperbindung Die Bindungspunkte am diagonalen Köpergrat.
XML.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
SVG und X3D Referentin: Gergana Ivanova
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
Content Management Systeme
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)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 10: Einführung in XML.
© 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.
Tinosch Ganjineh, Christian v. Prollius 1 Scalable Vector Graphics SVG.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Ü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
Einführung XML XML Einführung Andreas Leicht.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover.
Tobias Högel & Dennis Böck,
Cascading Style Sheets CSS
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?
Vortrag HTML, XHTML, DHTML
XML eXtensible Markup Language
Einsatzgebiete und Anwendungen
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
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
CSS – Cascading Style Sheets
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Hypertext Markup Language
HTML Grundkurs Patrick Cato.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
CSS Cascading Style Sheets
Cascading Style Sheets
Cascading Stylesheets Staffelbare Formatvorlagen sind eine direkte Erweiterung von HTML und gestatten eine exaktere Gestaltung einer Webseite. Seit 1998.
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.
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
- XML: Das Sprachkonzept
- XML: Das Sprachkonzept
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
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
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
Dokumentenproduktion im Medienzentrum
CSS.
 Präsentation transkript:

XML eXtensible Markup Language Prof. Dr. Fabian Glasen Content Management Systeme

Prof. Dr. Fabian Glasen Content Management Systeme XML Web-Sites www.w3.org/xml www.xml.org xml.apache.org www.microsoft.com/xml/ www.xml.com Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML Beispiel <Buecher> <Buch> <Titel> .... </Buch> </Buecher> Root-Knoten Knoten Prof. Dr. Fabian Glasen Content Management Systeme

Prof. Dr. Fabian Glasen Content Management Systeme XML <?xml version="1.0" encoding="ISO-8859-1" ?> <PERSONEN> <PERSON> <NAME> Nikolaus Weihnachtsmann </NAME> <STRASSE> Eisscholle 1 </STRASSE> <PLZ> 2412 </PLZ> <ORT> Nordpol </ORT> <TEL> 012/241200 </TEL> </PERSON> <NAME> Oskar Osterhase </NAME> <STRASSE> Eierring 28 </STRASSE> <PLZ> 87654 </PLZ> <ORT> Eierhausen </ORT> <TEL> 034/678376 </TEL> <NAME> Käptn Blaubär </NAME> <STRASSE> Schwindelweg 3 </STRASSE> <PLZ> 21211 </PLZ> <ORT> Lügenbeutel </ORT> <TEL> 08765/324553 </TEL> </PERSONEN> Prof. Dr. Fabian Glasen Content Management Systeme

Prof. Dr. Fabian Glasen Content Management Systeme XML Jedes XML-Dokument muss mit einer XML-Deklaration beginnen <?xml version=„1.0“ encoding=„iso-8859-1“?> Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML - XSL XML HTML XSL Prozessor XSL Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML CDATA <?xml version="1.0" encoding="ISO-8859-1"?> <ungleichung> <![CDATA[Aufgabe: x+27<65 Lösung: x<65-27 => x<38 ]]> </ungleichung> Prof. Dr. Fabian Glasen Content Management Systeme

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

(Cascading Style Sheets) XML und CSS (Cascading Style Sheets) Prof. Dr. Fabian Glasen Content Management Systeme

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML CSS <?xml version="1.0" encoding="ISO-8859-1"?> <?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> 3-453-13650-0 </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

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

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

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

DTD (Document Type Definition) Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

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

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 http://www.dtds.de/gespraech.dtd> im Browser (Beispiel XHTML) Prof. Dr. Fabian Glasen Content Management Systeme

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

DTD externe DTD (Beispiel) <?xml version="1.0" encoding="ISO-8859-1"?> <!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> 3-453-13650-0 </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

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

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML - DTD Beispiel E-Mail (DTD): <!- - E-Mail-DTD version 2 - -> <!ELEMENT email (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

Prof. Dr. Fabian Glasen Content Management Systeme XML - DTD Beispiel E-Mail (Instanz): <?xml version=„1.0“?> <!DOCTYPE email SYSTEM email2.dtd> <email> <empfaenger>staib@ba-loerrach.de</empfaenger> <kopieAn>martin@ba-loerrach.de</kopieAn> <kopieAn>treffert@ba-loerach.de</kopieAn> <absender>glasen@ba-loerrach.de</absender> <thema>Gruss</thema> <nachricht>Hallo how are you?</nachricht> </email> Prof. Dr. Fabian Glasen Content Management Systeme

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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML - DTD Beispiel Häufigkeit <?xml version="1.0" encoding="ISO-8859-1"?> <!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

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

Prof. Dr. Fabian Glasen Content Management Systeme XML- Schema Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

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

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

Visualisieren und Gestalten (XSL / XSL-FO / XSLT) Prof. Dr. Fabian Glasen Content Management Systeme

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

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

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

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

XML - XSL (Beispiel: kurs.xsl) <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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

XML - XSL (Beispiel: kurs.xml) <?xml version="1.0" encoding="ISO-8859-1"?> <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

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

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

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

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

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

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