Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML eXtensible Markup Language

Ähnliche Präsentationen


Präsentation zum Thema: "XML eXtensible Markup Language"—  Präsentation transkript:

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

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


Herunterladen ppt "XML eXtensible Markup Language"

Ähnliche Präsentationen


Google-Anzeigen