270 likes | 319 Views
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
E N D
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
Spezialisierter SGML Parserfür HTML Document DTD SGML Declaration Parser XML
Spezialisierter SGML Parserfür XML SGML Declaration for XML XML DTD Document Parser SGML Declaration Parser XML
Publishing mit XML XML-Konverter XML-Browser Benutzer- definierter Dok.typ XML Dok.typ www Darstellung XSL Style Sheet Benutzer- definiertes Dokument XML Dokument XML
<result> <item> <item> <name> <email> <name> <email> Beispiel <?xml version = “1.0“> <result> <item> <name>Mylopoulos</name> <email>jm@cs.toronto.edu</email> <item/> <item> <name>Storey</name> <email>storey@gsu.edu</email> <item/> </result> XML
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>jm@cs.toronto.edu</email> </item> <item> <name>Storey</name> <email>storey@gsu.edu</email> </item/> </result> XML
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. XML
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
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
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
author firstname middlename [0..1]* lastname suffix [0..1] Beispiel 1: Klasse/Element Author <!ELEMENT author ( firstname, middlename*, lastname, suffix? ) > <!ELEMENT firstname (#PCDATA)> <!ELEMENT middlename (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT suffix (#PCDATA)> . . . XML
Beispiel 2: Content Modell XML - UML <!ELEMENT chapter (head?, (p | citation | table )*, section*) chapter {sequence: 1} {1} 0..1 {3} 0..* {2} {choice: 0 ..*} head section p citation table XML
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
Ü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
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
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
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
Inline- versus Out-of-Line Links(beachte auch Bidirektionalität) Dokument1 Dokument1 Ressource1 Ressource1 Link Dokument2 Dokument2 Ressource2 Ressource2 XML
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
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. XML
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
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
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
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> XML
Example HTML, XML, DTD, XSL • Incorporate example from Vidgen, Fig‘s. 11.1 – 11.4 (existing as word file) XML
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
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