1 / 27

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

Download Presentation

XML-Motivation

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

  2. Spezialisierter SGML Parserfür HTML Document DTD SGML Declaration Parser XML

  3. Spezialisierter SGML Parserfür XML SGML Declaration for XML XML DTD Document Parser SGML Declaration Parser XML

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

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

  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>jm@cs.toronto.edu</email> </item> <item> <name>Storey</name> <email>storey@gsu.edu</email> </item/> </result> 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. 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 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) 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. XML

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

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

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

  18. Inline- versus Out-of-Line Links(beachte auch Bidirektionalität) Dokument1 Dokument1 Ressource1 Ressource1 Link Dokument2 Dokument2 Ressource2 Ressource2 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 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. 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 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. 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. 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> XML

  25. Example HTML, XML, DTD, XSL • Incorporate example from Vidgen, Fig‘s. 11.1 – 11.4 (existing as word file) 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. 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 XML

More Related