1 / 74

XML eXtensible Markup Language

XML eXtensible Markup Language. XML. Web-Sites www.w3.org/xml www.xml.org xml.apache.org www.microsoft.com/xml/ www.xml.com. XML. Literatur Niedermair Elke, Niedermair, Michael, [2001]: XML Das grosse Buch, Data Becker, Düsseldorf.

marge
Télécharger la présentation

XML eXtensible Markup Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XMLeXtensible Markup Language Prof. Dr. Fabian Glasen Content Management Systeme

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

  3. 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. 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. 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. XML Beispiel <Buecher> <Buch> <Titel> .... </Buch> <Buch> .... </Buch> </Buecher> Root-Knoten Knoten Prof. Dr. Fabian Glasen Content Management Systeme

  7. 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> <PERSON> <NAME> Oskar Osterhase </NAME> <STRASSE> Eierring 28 </STRASSE> <PLZ> 87654 </PLZ> <ORT> Eierhausen </ORT> <TEL> 034/678376 </TEL> </PERSON> <PERSON> <NAME> Käptn Blaubär </NAME> <STRASSE> Schwindelweg 3 </STRASSE> <PLZ> 21211 </PLZ> <ORT> Lügenbeutel </ORT> <TEL> 08765/324553 </TEL> </PERSON> </PERSONEN> Prof. Dr. Fabian Glasen Content Management Systeme

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

  9. 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. 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. 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. 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. 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. 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. XML XML ist ein Sprachbaukasten zur Erzeugung bedarfsgerechter neuer Auszeichnungssprachen • ErweiterbarkeitXML erlaubt die Definition neuer Tags und Attribute • StrukturXML erlaubt die Darstellung beliebig tief verschachtelter hierarchischer Strukturen • ValidierungXML ermöglicht die Prüfung der strukturellen Gültigkeit der Dokumente(bezüglich DTD) Prof. Dr. Fabian Glasen Content Management Systeme

  16. 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. XML Tag-Sprachen erlauben • Strukturierung • Austausch • Verarbeitung der Inhalte unabhängig von • Plattformen • Betriebssystemen • spezifischer Anwendungssoftware Prof. Dr. Fabian Glasen Content Management Systeme

  18. 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. Schema for Object-Oriented XML XML Data Reduced E-Business- XML SOX XML-Schema XDR ebXML WEB-Services Common Business Language DTD SOAP xCBL Open Financial Exchange WSDL OFX UDDI Open Trading Protocol OTP Schema-Sprachen Business-Sprachen XML Visualisierung / Transformation XSLT XSL Document Object Model Resource Description Framework XHTML DOM CSS RDF Prof. Dr. Fabian Glasen Content Management Systeme

  20. 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. 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. 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. 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. XML - XSL XML HTML XSL Prozessor XSL Prof. Dr. Fabian Glasen Content Management Systeme

  25. XML Informationen können in XML • als Elemente oder • als Attribute abgelegt werden. Prof. Dr. Fabian Glasen Content Management Systeme

  26. 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. 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. XML Beispiel: Ablage als Attributund 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. 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. 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

  31. 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. XML und CSS (Cascading Style Sheets) Prof. Dr. Fabian Glasen Content Management Systeme

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

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

  45. DTD Interne / externe DTDs • interne DTDs werden in XML-Datei selbst definiert • externe DTDs werden in eigener Datei definiertVerweis:<!DOCTYPE wurzelelement SYSTEM „DTD-URL“> Prof. Dr. Fabian Glasen Content Management Systeme

  46. 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&amp;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

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

More Related