XML-Motivation

Download Report

Transcript XML-Motivation

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
XML
1
Spezialisierter SGML Parser
für HTML
Document
DTD
SGML Declaration
Parser
XML
2
Spezialisierter SGML Parser
für XML
XML DTD
Document
SGML Declaration
Parser
Parser
SGML Declaration for XML
XML
3
Publishing mit XML
Benutzerdefinierter
Dok.typ
XML
Dok.typ
XSL
Style Sheet
Benutzerdefiniertes
Dokument
www
Darstellung
XML
Dokument
XML-Konverter
XML-Browser
XML
4
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>
<name>
<email>
<item>
XML
<name>
<email>
5
Beispiel - Verallgemeinerung
<?xml version = “1.0“>
<!DOCTYPE result [
<!ELEMENT result
<!ELEMENT item
<!ELEMENT name
<!ELEMENT phone
<!ELEMENT email
]>
(item*) >
(name, phone?, email?) >
(# PCDATA) >
(# PCDATA) >
(# PCDATA) >
<result>
<item>
<name>Mylopoulos</name>
<email>[email protected]</email>
</item>
<item>
<name>Storey</name>
<email>[email protected]</email>
</item/>
</result>
XML
6
Beispiel für ein CSS 2-Style-Sheet
item {display: block;
name {display: list-item;
phone{display: list-item;
email {display: list-item;
margin-bottom: 5 mm}
font-weight:
bold}
font-style:
italic}
text-decoration: underline}
Anmerkung:
ähnlich HTML, jedoch kann die Verarbeitung des XML
Dokumentes spezieller sein, z.B. nur Suchoperationen innerhalb
von name-Elementen zulassen.
XML
7
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
XML
8
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)
XML
9
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.
XML
10
Beispiel 1: Klasse/Element Author
author
firstname
middlename [0..1]*
lastname
suffix [0..1]
<!ELEMENT author
( firstname,
middlename*,
lastname,
suffix?
)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT middlename (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT suffix (#PCDATA)>
...
XML
11
Beispiel 2: Content Modell XML - UML
<!ELEMENT chapter
(head?, (p | citation | table )*, section*)
chapter
{1}
head
{sequence: 1}
0..1
{2} {choice: 0 ..*}
p
citation
XML
{3} 0..*
section
table
12
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.
XML
13
Ü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.
XML
14
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.
XML
15
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.
XML
16
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
XML
17
Inline- versus Out-of-Line Links
(beachte auch Bidirektionalität)
Dokument1
Dokument1
Ressource1
Ressource1
Link
Ressource2
Ressource2
Dokument2
Dokument2
XML
18
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
XML
19
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 MailingListen-Link verwenden, um alle anderen Teilnehmer
(oder die Mailing-Listen Webseite) herauszufinden.
XML
20
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
XML
21
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.
XML
22
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.
XML
23
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>
<title> <chapter> <chapter>XML
<li>
24
Example HTML, XML, DTD, XSL
• Incorporate example from Vidgen, Fig‘s.
11.1 – 11.4 (existing as word file)
XML
25
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.
XML
26
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
XML
27