27
XML 1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung SGML (Standard Generalized Markup Language): Basis von HTML stellt Mechanismus dar, der Strukturierungsregeln für beliebieg strukturierte Daten enthält, ist jedoch bzgl. Implementierung sehr komplex XML: Profil (Teilmenge) von SGML

XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

Embed Size (px)

Citation preview

Page 1: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 1

XML-Motivation

• HTML definiert nur einen bestimmten Dokumenttyp

• Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

• SGML (Standard Generalized Markup Language):– Basis von HTML– stellt Mechanismus dar, der Strukturierungsregeln für

beliebieg strukturierte Daten enthält, ist jedoch bzgl. Implementierung sehr komplex

• XML: Profil (Teilmenge) von SGML

Page 2: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 2

Spezialisierter SGML Parserfür HTML

Document

SGML Declaration DTD

Parser

Page 3: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 3

Spezialisierter SGML Parserfür XML

ParserSGML Declaration

Parser

XML DTD Document

SGML Declaration for XML

Page 4: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 4

Publishing mit XML

XML-Konverter XML-Browser

Benutzer-definierterDok.typ

Benutzer-definiertesDokument

XMLDok.typ

XMLDokument

Darstellung

www

XSLStyle Sheet

Page 5: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 5

Beispiel<?xml version = “1.0“><result>

<item> <name>Mylopoulos</name>

<email>[email protected]</email> <item/><item>

<name>Storey</name> <email>[email protected]</email>

<item/></result> <result>

<item> <item>

<name> <email> <name> <email>

Page 6: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 6

Beispiel - Verallgemeinerung<?xml version = “1.0“><!DOCTYPE result [

<!ELEMENT result (item*) ><!ELEMENT item (name, phone?, email?) > <!ELEMENT name (# PCDATA) ><!ELEMENT phone (# PCDATA) ><!ELEMENT email (# PCDATA) >

] > <result>

<item><name>Mylopoulos</name><email>[email protected]</email>

</item><item>

<name>Storey</name><email>[email protected]</email>

</item/></result>

Page 7: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 7

Beispiel für ein CSS 2-Style-Sheet

item {display: block; margin-bottom: 5 mm}

name {display: list-item; font-weight: bold}

phone {display: list-item; font-style: italic}

email {display: list-item; text-decoration: underline}Anmerkung:

ähnlich HTML, jedoch kann die Verarbeitung des XML Dokumentes spezieller sein, z.B. nur Suchoperationen innerhalb von name-Elementen zulassen.

Page 8: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 8

Konvertierung - Vorteile

• Sich selbst beschreibende Dokumente• Durchsuchbare Datenstukturen• Mächtige Verknüpfungen (XLink, XPointer)• Einfache Konvertierung in Web-Datenformate

– insbesondere in XML

– heute wichtig XML HTML;

– Umwandlung über XML DTD für HTML = XHTML

• Plattformunabhängigkeit

Page 9: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 9

XML und XML-Schema

• XML DTD beschreibt die Struktur von Dokumenttypen in textueller Form und ist daher unübersichtlich und schwer verständlich

• XML-Schema ist eine Sprache zur Definition der Struktur von XML Dokumenten bestimmter Dokumenttypen.

• XML-Schema bietet strong typing, Wiederverwendung, Modularisierung

• XML-Schema kann die XML DTD Syntax ersetzen, aber auch beide parallel möglich (bessere Performance bei DTD Evaluierung)

Page 10: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 10

XML-Schema und UML

• XML etabliert sich als Metagrammatik für interorganisatorische Kommunikation im Internet.

• Es wird immer notwendiger, dass Systemanalytiker und SW-Entwickler fähig sind:– zu repräsentierende Informationen in XML zu

modellieren,– Beziehungen zwischen XML und den Systemen, die

XML verarbeiten, zu beschreiben.

• Die Transformation zwischen XML Schema und UML soll helfen, Systeme, die mit XML Dokumenten arbeiten, einheitlich zu spezifizieren und zu entwickeln.

Page 11: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 11

Beispiel 1: Klasse/Element Author

<!ELEMENT author ( firstname,middlename*,lastname,suffix?

) ><!ELEMENT firstname (#PCDATA)><!ELEMENT middlename (#PCDATA)><!ELEMENT lastname (#PCDATA)><!ELEMENT suffix (#PCDATA)>. . .

author

firstnamemiddlename [0..1]*lastnamesuffix [0..1]

Page 12: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 12

Beispiel 2: Content Modell XML - UML

<!ELEMENT chapter

(head?, (p | citation | table )*, section*)

chapter

headsection

p citation table

{sequence: 1}

{choice: 0 ..*}{1}

{2} {3}0..1 0..*

Page 13: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 13

Transformation XML Schema - UML

• Betrifft UML‘s Statische Struktur Diagramme• 2 Varianten: Allgem. Abb. von UML Klassen

nach XML Schema versus Erweiterung von UML• Erweiterungsvariante durch Stereotypen und

Tagged Values hat zahlreiche Vorteile:– XML Schema wird direkt, eindeutig abgebildet

– macht Toolerstellung von Tools, die nur den XML content bearbeiten, einfacher

– ermöglicht 2-phasige Bearbeitung des UML Modells.

Page 14: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 14

Überblick zur Abbildung XML Schema - UML

• Alle Element- und Datentypen von XML-Schema werden in Klassen mit Stereotypen übergeführt.

• Die Stereotypen geben die Semantik des entsprechenden XML-Schema Konzeptes an.

• Da in Dokumenten i. A. die Reihenfolge der Elemente wichtig ist, UML dies aber nicht direkt unterstützt, muss eine Form der Angabe der Reihenfolge gefunden werden.

• Zu diesem Zweck wird in UML eine Sequenznummer für die Angabe der Reihenfolge von Content-Model-Elementen eingeführt.

Page 15: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 15

Beispiel eines UML - XML Schema Mappings

Zu Diskutieren:

- Darstellung der Reihenfolge

- Darstellung von Sequenz und Auswahl

- Kardinalitäten und sonstige NFR bei den Attributen in UML

Thema des Beispiels:

Datenmodell für ein vereinfachtes Dokument eines Verkaufsauftrags.

Page 16: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 16

XML Konzeptuelle Modellierung mit UML

• Produktkataloge, EDI (Electronic Data Interchange), digitale Bibliotheken, basieren auf XML, die entsprechenden DTD können aber dzt. nicht konzeptuell modelliert werden.

• UML kann als das Bindeglied zwischen Software Engineering und Dokumentdesign gesehen werden.

• Mit UML kann OO-Software gemeinsam mit den benötigten XML Strukturen entwickelt werden.

Page 17: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 17

XLink: XML Linking Language

• XLink und XPointer sind Bestandteile der Extensible Linking Language (XLL)

• HTML Links sind immer Bestandteil der Ressource, die sie verknüpfen: Einschränkung

• HTML Links verknüpfen immer genau zwei Ressourcen.

• XML: – Inline Links: ähnlich HTML– Out-of-Line Links: allgemeiner, werden an anderer

Stelle festgelegt

Page 18: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 18

Inline- versus Out-of-Line Links(beachte auch Bidirektionalität)

Dokument1

Dokument2Dokument2

Dokument1

Ressource1 Ressource1

Ressource2 Ressource2

Link

Page 19: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 19

Out-of-Line Links - Motivation

• Weitere Stufe der Indirektheit• Multidirektionale Links:

– es ist nicht sinnvoll, multidirektionale Links einer der Ressourcen zuzuordnen

• Herausgehende Links für schreibgeschützte Dokumente– ermöglicht die Erstellung herausragender Links in

scheibgeschützten Dokumenten

• höhere Änderbarkeit/Anpassbarkeit von Dokumenten

Page 20: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 20

Out-of-Line Links - Motivation

• Beispiel für die Verknüpfung mehrerer Ressourcen: Mailing-Liste, die selbst mit allen Teilnehmern verknüpft ist.

– Mailing Liste ist eine Webseite mit der Bescheibung des Zweckes

– Links zu den Teilnehmern können Links zu ihren Home-Pages oder zu ihren Email-Adressen sein

– Jeder Teilnehmer der Mailing Liste kann den Mailing-Listen-Link verwenden, um alle anderen Teilnehmer (oder die Mailing-Listen Webseite) herauszufinden.

Page 21: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 21

Link Informationen und Link Typen

• Locator: in der Regel ein URI• Link Semantics• Local Resource Semantics

– Rolle– Titel

• Remote Resource Semantics– Rolle und Titel– Verhalten

• Link Typen: – Simple Links– Extended Links und Extended Link Groups

Page 22: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 22

Xpointer: XML Pointer Language

• Xpointer dient zur Definition von Links auf Subressourcen, d.h. Auf Ressourcen innerhalb eines XML Dokumentes.

• Xpointer soll allgemein die Benutzung von Fragment Identifiern in URI‘s ermöglichen (#).

• Grundlegender Bestandteil: Location Term.• I.A. geben Xpointer ein Element innerhalb eines

Dokuments an, sie können aber auch nur Teile von Elementen oder mehrere Elemente bezeichnen.

Page 23: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 23

XSL Extensible Style Language

• XSL ist ein Profil (funktionale Teilmenge) der DSSSL (Document Style Semantics and Specification Language);

• Verhältnis XSL zu DSSSL ähnlich wie XML zu SGML

• XSL hat bzgl. XML eine größere Bedeutung als CSS bzgl. HTML hat, da HTML eine Standardformatierung für alle Elemente vorsieht

• XSL ist erheblich leitungsfähiger als CSS, da XML keine vordefinierte Formatierng vorsieht.

Page 24: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 24

XSL Verarbeitung

• Zwei Schritte:– Result Tree Construction aus Source Tree– Formatierung

• Beispiel: XSL Result Tree; Abb. von XML auf HTML <html>

<head> <body>

<title> <h1> <h2> <u1> <h2> <h2><book>

<li> <li><title> <chapter> <chapter>

Page 25: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 25

Example HTML, XML, DTD, XSL

• Incorporate example from Vidgen, Fig‘s. 11.1 – 11.4 (existing as word file)

Page 26: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 26

Die Zukunft von XML• Größte Innovation der Content-Architekturen seit dessen

Einführung.• Es wird noch dauern, bis XML die Verbreitung erreicht,

die HTML heute hat, XML‘s Vorteile sollten jedoch ausreichen, eine Konvertierung von HTML-Lösungen in XML einzuleiten.

• Weitere Unterstützung:– XML Namespaces zur eindeut. Namensgebung– Internet RFC definiert XML Medientypen , die im

content-type-Header eines HTT-Response angeführt werden

• RDF (Resource Description Framework) baut auf XML auf; XML etabliert sich als allgemeine Plattform für strukturierte Daten imWeb.

Page 27: XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung

XML 27

XML – Quellen (der Folien)

• http://www.w3.org

• Sehr gut lesbares Überblicksbuch, (Kap.7: XML) Eric Wilde: “World Wide Web“; Springer, 1999.

• G. Booch et al.: “UML for XML Schema Mapping Specification“; http://www.rational.com/UML

• R. Conrad et al.: „“XML Conceptual Modeling Using UML“; ER2000 Conference Proceedings, A. Laender et al. (ed.), LNCS 1920; Springer 2000.

• J. Conallen: „“Working with XML Documents in UML“; RoseAchitect, Spring 2000. http://www.rosearchitect.com