• Keine Ergebnisse gefunden

XML- XML -Technologien Technologien

N/A
N/A
Protected

Academic year: 2022

Aktie "XML- XML -Technologien Technologien"

Copied!
9
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

© Klaus Schild, 2004 1

XML- XML -Technologien Technologien

© Klaus Schild, 2004 2

Heutige Vorlesung Heutige Vorlesung

ƒ Organisatorisches

ƒ Einführung und Überblick

ƒ Klausurrelevante Literatur

© Klaus Schild, 2004 3

Organisatorisches Organisatorisches

© Klaus Schild, 2004 4

Webseite der Lehrveranstaltung Webseite der Lehrveranstaltung

ƒ http://www.inf.fu-berlin.de/inst/ag-nbi/lehre/04/V_XML/

ƒ hier finden sich:

ƒ Termine

ƒ Folien

ƒ Übungsblätter

ƒ Hinweise zur Lösung der Übungen

ƒ Musterlösungen

ƒ Hinweise auf Literatur

Anmeldung Anmeldung

ƒ heute in Anmeldeliste eintragen

ƒ zusätzlich in Mailing-Liste eintragen:

http://lists.spline.inf.fu-berlin.de/mailman/listinfo/nbi_v_xml

ƒ Msc-Studiernde:

ƒ verbindlicheAnmeldung zur Veranstaltung notwendig

ƒ Ohne diese Anmeldung dürfen keineLeistungen erbracht werden.

ƒ verbindliche Anmeldung mit Unterschrift in der nächsten Woche

Übungsbetrieb Übungsbetrieb

ƒ jeweils Mi 16:15-17:45

ƒ abwechselnd Tutorium und betreute Rechnerübung

(2)

© Klaus Schild, 2004 7

Tutorium Tutorium

ƒ ab 21.4. alle zwei WochenMi 16:15-17:45 im SR 055

ƒ dort:

ƒ Fragen zur Vorlesung

ƒ Erläuterungen zum aktuellen Übungsblatt

ƒ Rückgabe des letzten Übungsblattes

ƒ 6 Übungsblätter

ƒ Aufgaben mit projektcharakter

ƒ werden bewertet

ƒ Es müssen Gruppen von 3 Studierenden gebildet werden.

© Klaus Schild, 2004 8

Betreute Rechnerübung Betreute Rechnerübung

ƒ ab 28.4. alle zwei WochenMi 16:15-17:45 in einem der Rechnerräume im Keller

ƒ dort:

ƒ keinFrontalunterricht

ƒ stehe bei Problemen bei der Bearbeitung des Übungsblattes zur Verfügung

© Klaus Schild, 2004 9

XML XML- -Editor Editor

ƒ 20 Lizenzen von XMLSpy stehen in den PC-Pools zur Verfügung

ƒ XMLSpy unterstützt XML, DTDs, XML-Schema, XSLT, SOAP und WSDL

ƒ XMLSpy-Einführung:

http://www.xmlspy.de/documents/xmlspy2004proTutorial.pdf

© Klaus Schild, 2004 10

Scheinkriterien Scheinkriterien

ƒ alle Übungsaufgaben erfolgreich gelöst

ƒ die Klausur erfolgreich bestanden

ƒ Gesamtnote:

ƒ Mittel aus Übungsnote und Klausurnote

ƒ bei überdurchschnittlicher Abweichung behalte ich mir Anpassung der Gesamtnote vor

Termine Termine

ƒ erstes Tutorium am 21.4.

ƒ verpflichtende Anmeldung für MSc-Studierende am 21.4.

ƒ Klausur am 28.7.

Kommunikation Kommunikation

ƒ Veranstalter: schild@inf.fu-berlin.de

ƒ Sprechstunde: Termin außerhalb der betreuten Rechnerübung per E-Mail vereinbaren

ƒ Mailing-Liste:nbi_v_xml@lists.spline.inf.fu-berlin.de

(3)

© Klaus Schild, 2004 13

Inhalt der Inhalt der Veranstaltung Veranstaltung

© Klaus Schild, 2004 14

Vorlesungsinhalt

XML

XML--BasistechnologienBasistechnologien(6 Termine)

ƒ maschinenlesbare Dokumente (Maschine-Maschine- Kommunikation)

ƒ nicht behandelt werden: XML-Technologien zur Präsentation von Dokumenten: XHTML oder WML (Mensch-Maschine-Kommuniaktion)

Web

Web--Dienste (Web Services)Dienste (Web Services)(4 Termine)

ƒ plattformunabhängige XML-Protokolle für verteilte Systeme

Semantic

SemanticWebWeb(1 Termin)

ƒ Linkstruktur des WWW wird durch

maschinenverarbeitbare Beziehungen ergänzt

© Klaus Schild, 2004 15

Was ist XML?

Was ist XML?

© Klaus Schild, 2004 16

HTML HTML

hat sich für die Präsentation von Inhalten bewährt hat sich für die Präsentation von Inhalten bewährt

Layoutunabhängige Repräsentation Layoutunabhängige Repräsentation

ƒ Trennung von Inhalt und Präsentation ÎVielfalt von Endgeräten und Bandbreiten

ƒ Austausch von Daten/Dokumenten zwischen Computern Îz.B. Übermittlung eines Bestellformulars

Îz.B. Google-Suchanfrage ohne Browser HTML: keinelayoutunabhängige

Repräsentation von Inhalten HTML: keinelayoutunabhängige

Repräsentation von Inhalten

XML XML

ƒ Sprache des Webs zur layoutunabhängigen Repräsentation von Inhalten

ÎXML ersetztHTML nicht, es ergänzt HTML

ƒ XML ist wie SGML eine verallgemeinerte Auszeichnungssprache

(4)

© Klaus Schild, 2004 19

Binärdateien Binärdateien

ƒ enthalten reichhaltige Informationen, wie Daten zu interpretieren sind (Metadaten)

ƒ Z.B. kann Word-Dokument Informationen enthalten, dass ein bestimmtes Textfragment eine Kapitelüberschrift ist.

ƒ Nachteil: werden nur von bestimmten Anwendungsprogrammen verstanden

© Klaus Schild, 2004 20

Textdateien Textdateien

ƒ enthalten wie Binärdateien nur Bits

ƒ Bits so angeordnet, dass sie Zahlen repräsentieren, die wiederum bestimmte Zeichen darstellen

ƒ Vorteil: werden von jedem Anwendungsprogramm verstanden, das die entsprechende

Zeichenrepräsentation kennt (z.B. Texteditoren)

ƒ werden deshalb als anwendungsunabhängig bezeichnet

ƒ Nachteil: Alle Zeichenketten werden gleich behandelt:

keine Informationen, wie Daten zu interpretieren sind (Metadaten).

© Klaus Schild, 2004 21

tag

Auszeichnungssprachen Auszeichnungssprachen

ƒ kombinieren Vorteile von Binärdateien mit denjenigen von Textdateien:

ƒ anwendungsunabhängige Dateiformate, die reichhaltige Metadaten enthalten können

ƒ Auszeichnungssprache (markup language): textbasierte Sprache, die Dokumente/Daten mit so genannten Tags („Markierungen“) und dadurch mit zusätzlicher Information (Metadaten) versieht :

<tag-name>ausgezeichneter Text</tag-name>

ƒ Beispiel: Hypertext Markup Language(HTML)

© Klaus Schild, 2004 22

Verallgemeinerte Auszeichnungssprachen

ƒ HTML: vorgegebeneAuswahl von Tags, keine anderen dürfen verwendet werden.

ƒ verallgemeinerte Auszeichnungssprache (generalized markup language): keine Tags vorgegeben, beliebige Tags möglich

ƒ Vorteil: beliebige Metainformationen darstellbar

ƒ Nachteil: Bedeutung der Metainformationen (Tags) offen und muss durch die Anwendung festgelegt werden

ƒ Beispiele: SGML und XML

SGML SGML

ƒ SGML = Standard Generalized Markup Language

ƒ 1969 von Charles Goldfarb und zwei seiner Kollegen bei IBM für das Dokumentenmanagement entwickelt.

ƒ seit 1986 ein internationaler Standard

ƒ keinevorgegebenen Tags, auch keine für das Layout von Dokumenten

Beispiel Beispiel

<book>

<title>Beginning XML</title>

<edition>2nd</edition>

<authors>

<author>David Hunter</author>

<author>Curt Cagle</author>

<author>Chris Dix</author>

</authors>

<date>2001</date>

<publisher>Wrox Press</publisher>

<abstract>...</abstract>

<book>

<title>Beginning XML</title>

<edition>2nd</edition>

<authors>

<author>David Hunter</author>

<author>Curt Cagle</author>

<author>Chris Dix</author>

</authors>

<date>2001</date>

<publisher>Wrox Press</publisher>

<abstract>...</abstract>

ƒ SGML erlaubt das Strukturieren von Dokumenten:

(5)

© Klaus Schild, 2004 25

SGML SGML

ƒ gibt keinekonkreten Tags vor

ƒ erlaubt, spezielle Auszeichnungssprachen mit konkreten Tags zu definieren (= Untermengen von SGML)

ƒ Solche Untermengen von SGML werden auch als Anwendungenbezeichnet.

ƒ Bekannteste Anwendung von SGML ist HTML.

ƒ SGML wird häufig auch als Meta-Sprachebezeichnet.

ƒ weitere Informationen:

http://userpage.fu-berlin.de/~corff/SGML/

© Klaus Schild, 2004 26

Vor- Vor - und Nachteile von SGML und Nachteile von SGML

+kombiniert SGML die Vorteile von Binärdateien mit denjenigen von Textdateien

+beliebig erweiterbar

+erlaubt die Definition von konkreten Auszeichnungssprachen wie HTML

- sehr komplex: Spezifikation über 500 Seiten lang - SGML-Parser schwierig zu implementieren

© Klaus Schild, 2004 27

Extensible

Extensible Markup Markup Language Language (XML) (XML)

ƒ HTML hat sich für die Präsentation von Inhalten bewährt.

ƒ HTML erlaubt aber keine layoutunabhängige Repräsentation von Inhalten.

ƒ Hierfür sind verallgemeinerte Auszeichnungssprachen (wie SGML) besser geeignet.

ƒ Für das Web ist allerdings SGML viel zu komplex.

XML ist eine konsequente Vereinfachung von SGML, die für Web-Anwendungen hinreichend allgemein ist.

XML ist eine konsequente Vereinfachung von SGML, die für Web-Anwendungen hinreichend allgemein ist.

© Klaus Schild, 2004 28

Eine kurze Geschichte von XML Eine kurze Geschichte von XML

1969

1969 Charles Goldfarb entwickelt bei IBM die Generalized Markup Language (GML).

19801980 ANSI veröffentlicht ersten Entwurf von SGML.

1986

1986 ISO verabschiedet SGML.

1989

1989 Bernes-Lee schlägt SGML-basiertes Hypertext-System vor.

1990

1990 Beners-Lee entwickelt HTML, HTTP und URL. World Wide Web seinen Betrieb mit zwei Maschinen am CERN auf.

19941994 Gründung des World Wide Web Consortiums (W3C) 19951995 HTML 2.0

19981998 XML 1.0 2000

2000 XHTML 1.0 (Reformulierung von HTML in XML) XML 1.0 (2ndEdition)

Extensible

Extensible Markup Markup Language Language (XML) (XML)

ƒ wie SGML erlaubt XML das Strukturieren von Dokumenten

ƒ XML-Dokumente werden von den meisten modernen Browsern angezeigt.

<name>

<first>John</first>

<last>Doe</last>

</name>

<name>

<first>John</first>

<last>Doe</last>

</name>

Baumstruktur von XML Baumstruktur von XML

<name>

<name>

<first>

<first> <middle><middle> <last><last>

„John“

„John“ „Fitzgerald Johansen“„Fitzgerald Johansen“ „Doe“„Doe“

ƒ Jedes XML-Dokument hat genau einWurzelelement.

ƒ Kind-Elemente geordnet

(6)

© Klaus Schild, 2004 31

Dokument Dokument- -Typen Typen

ƒ beschreiben generelle Strukturvon Dokumenten/Daten, keine konkreten Inhalte

ƒ beschreiben also eine Klasse von XML-Dokumenten

ƒ können entweder mit DTDs (Document Typ Definitions) oder XML-Schemataspezifiziert werden.

Klasse

Objekt Objekt

Objekt

DTD / XML-Schema

XML-Dokument XML-Dokument

XML-Dokument

© Klaus Schild, 2004 32

DTDs DTDs vs. vs. XML XML- -Schemata Schemata

DTDs für Spezifikation von Text-Dokumenten ausreichend, XML-Schemata zur Spezifikation von

Daten besser geeignet

DTDs für Spezifikation von Text-Dokumenten ausreichend, XML-Schemata zur Spezifikation von

Daten besser geeignet

Text-Dokument Daten

XML-Dokument XML-Dokument

DTD/

Schema Schema

kodiert als

beschrieben durch

© Klaus Schild, 2004 33

Erweiterbarkeit Erweiterbarkeit

ƒ X in XML steht für erweiterbar (engl. extensible).

ƒ Was bedeutet Erweiterbarkeit?

ƒ Vergleich mit HTML hilfreich:

HTML HTML

ƒ vorgegebene Auswahl an Sprachelementen

ƒ Neues Sprachelement kann nur eingeführt werden, wenn sich das W3C auf eine neue HTML-Version einigt!

XML

ƒ beliebige Elemente können benutzt werden

ƒ Nur die Anwender des entsprechenden Elementes müssen sich auf eine gemeinsame Interpretation einigen.

© Klaus Schild, 2004 34

Die

Die XML XML- -Familie Familie: Der Kern : Der Kern

XML 1.0

ƒ Syntax wohlgeformter XML-Dokumente

ƒ Definition einfacher Dokument-Typen (DTD) Namensräume

Namensräume

ƒ gleichzeitige Verwendung unterschiedlicher Vokabularien in einem XML-Dokument

ƒ z.B. Unterscheidung zwischen Titel einer Person vom Titel eines Buches

XML XML--SchemaSchema

ƒ Definition komplexen Datentypen wie sie von Programmiersprachen bekannt sind

Der Rest der

Der Rest der XML XML- -Familie Familie

Extensible

Extensible StylesheetStylesheetLanguageLanguage(XSLT)(XSLT)

ƒTransformation von XML-Dokumenten in beliebige Text-Formate:

XML ÎHTML / WML / ASCII / XML / … Document

DocumentObjectObjectModel (DOM)Model (DOM)

ƒParsen, Modifizieren und Erstellen von XML- Dokumenten

XPath XPath

ƒZugriff auf beliebige Teile eines XML-Dokumentes, wie z.B. die Nachnamen aller Autoren

Exkurs: Das W3C Exkurs: Das W3C

ƒ 1994 als Projekt am MIT gegründet

ƒ keine Normierungsorganisation im klassischen Sinn

ƒ kann Einhaltung von Normen nichtauf rechtlichem Wege einklagen

ƒ definiert deshalb lediglich Empfehlungen (recommendations)

ƒ W3C-Recommendations sind lizenzfrei.

(7)

© Klaus Schild, 2004 37

Standardisierungsprozess des W3C Standardisierungsprozess des W3C

Working Draft (WD) Working Draft (WD) Working Draft (WD)

Last Call WD Last Call WD Last Call WD Proposed Recommendation (PR)Proposed Proposed Recommendation Recommendation(PR)(PR) Recommendation (REC) Recommendation (REC) Recommendation (REC)

Candidate Recommendation (CR)Candidate Candidate Recommendation (CR) Recommendation (CR)

aktueller Diskussionsstand einer AG letztes WD, Aufforderung an alle betroffenen AGs zur Begutachtung.

offizieller Konsens der betreffenden AG dar, wird dem Advisory Committee übergeben offizieller W3C-Standard

von entsprechender Community begutachtet, Aufruf zur

Begutachtung auch an alle anderen.

© Klaus Schild, 2004 38

Anwendungen von XML Anwendungen von XML

ƒ Trennung von Inhalt und Präsentation

ƒ anwendungsspezifische Standards

ƒ Web-Dienste (Web Services)

ƒ Semantic Web

© Klaus Schild, 2004 39

Trennung von Inhalt und Präsentation Trennung von Inhalt und Präsentation

WML

XHTML ASCII

XML

HTML

Inhalt auf verschiedenen Endgeräten mit unterschiedlichen Bandbreiten unterschiedlich darstellen

(Multi Delivery)

Inhalt auf verschiedenen Endgeräten mit unterschiedlichen Bandbreiten unterschiedlich darstellen

(Multi Delivery)

© Klaus Schild, 2004 40

Anwendungsspezifische

Anwendungsspezifische Standards Standards

ƒ XHTML: Reformulierung von HTML in XML

ƒ WML: Wireless Markup Language

Präsentation von Inhalten auf mobilen Endgeräten

ƒ DocBook: strukturierte Darstellung von Bücher/Artikel

ƒ MathML: Mathematical Markup Language Standard für mathematische Ausdrücke

ƒ SVG: Scalable Vector Graphics Standard für Vektorgraphiken

ƒ SMIL: Synchronized Multimedia Integration Language Standard für Multi-Media-Anwendungen

ƒ VoiceXML: Voice Extensible Markup Language Standard für interaktive Sprachanwendungen unterschiedliche Anwendungen, einheitliche Syntax!

unterschiedliche Anwendungen, einheitliche Syntax!

Was sind Web

Was sind Web- -Dienste? Dienste?

Was sind Web

Was sind Web- -Dienste (Web Services)? Dienste (Web Services)?

Browser

Anwendung traditionelle Web

traditionelle Web--AnwendungAnwendung

Anwendung Anwendung

Web

Web--Dienst (Web Service)Dienst (Web Service) HTML

SOAP Webseiten

ÎMensch-Maschine-Kommunikation

(8)

© Klaus Schild, 2004 43

Beispiel:

Beispiel: ohne Browser ohne Browser

ƒ Google gibt es auch als Web-Dienst: Suche und Rechtschreibkorrektur.

ƒ Anwendungsprogramm sendet Google eine SOAP- Nachricht.

ƒ Google antwortet wiederum mit SOAP-Nachricht.

With

WithGoogleGoogleWeb Web APIs

APIs, , youryourcomputercomputer cancando do thethe searching searchingforforyouyou..

© Klaus Schild, 2004 44

Beispiel:

Beispiel: ohne Browser ohne Browser

Google kann also aus einem Anwendungsprogramm heraus aufgerufen werden, um z.B.:

ƒ in periodischen Abständen zu einem bestimmten Thema nach neuen Informationen zu suchen

ƒ automatisch neue Trends im WWW zu identifizieren

ƒ die Rechtschreibkorrektur von Google zu nutzen

© Klaus Schild, 2004 45

Eigenschaften von Web

Eigenschaften von Web- -Diensten Diensten

ƒ implementieren keine neuenSysteme

ƒ Fassade für bestehende Systeme, um diese einfach zuzugreifen

ƒ nutzen gängige Internet-Protokolle wie HTTP(S), SMTP und FTP

ƒ verwenden XML-Standards SOAP und WSDL

ƒ unabhängig von Programmiersprachen und Betriebssystemen

© Klaus Schild, 2004 46

Was ist das

Was ist das Semantic Semantic Web? Web?

Semantic Web

ƒ heutige Webinhalte (Hypertexte) für Mensch-Maschine- Kommunikation ausgelegt

ƒ Berner-Lees` Vision vom Semantic Web:

ƒ Webinhalte werden auch für Maschinen verständlich

ƒ dadurch können Computer komplexe Anfragen beantworten, die heute nur durch manuelles Surfen zu beantworten sind

ƒ Beispiel: Wie alt ist der Autor eines bestimmten Dokumentes?

Semantic Web

ƒ XML: erster Schritt zum Semantic Web:

Dokumente Îmaschinenverarbeitbare Daten

ƒ Link-Struktur des heutige Webs muss noch für Maschinen verständlich gemacht werden

ƒ hierfür wurde RDF entwickelt

(9)

© Klaus Schild, 2004 49

R Ressource essource D Description escription Framework F ramework

ƒ maschinenverständliche Link-Typen (durch URIs identifiziert)

ƒ verknüpfen zwei beliebige Web-Ressourcen

© Klaus Schild, 2004 50

Literatur Literatur

© Klaus Schild, 2004 51

Klausurelevante Literatur Klausurelevante Literatur

XML, Namensräume, XSLT XML, Namensräume, XSLT

ƒ Hunter et al., Beginning XML (2nd Edition), Wrox Press, 2001: S.

29-147.

ÎSemesterapparat der Fachbereichsbibliothek XML

XML--SchemaSchema

ƒ http://www.w3.org/TR/xmlschema-0/oder

ƒ S. 217-288 aus Hunter et al. (2001).

XMLXML--ParserParser

ƒ http://java.sun.com/webservices/docs/1.2/tutorial/doc/: Kap.1, "The SAX API" und "The DOM API".

Web Web--Dienste Dienste

ƒ http://www.w3.org/TR/soap12-part0/

ƒ http://www.w3.org/TR/wsdl

© Klaus Schild, 2004 52

Wie geht es nächste Woche weiter?

Wie geht es nächste Woche weiter?

;Organisatorisches

;Einführung und Überblick

;Klausurrelevante Literatur

ƒ XML-Syntax

ƒ Namensräume

ƒ Semantik von XML-Eelementen

<location>

<latitude>32.904237</latitude>

<longitude>73.620290</longitude>

<uncertainty units="meters">2</uncertainty>

</location>

<location>

<latitude>32.904237</latitude>

<longitude>73.620290</longitude>

<uncertainty units="meters">2</uncertainty>

</location>

Beispiel Beispiel

ƒ Ortsangabe: besteht aus Breitengrad, Längengrad und Unsicherheit der beiden Angaben.

ƒ Breitengrad: Dezimalzahl zwischen -90 und +90.

ƒ Längengrad: Dezimalzahl zwischen -180 und +180.

ƒ Unsicherheit: eine nicht-negative Zahl.

ƒ Einheit für Unsicherheit: entweder Meter oder Fuß

DTD XML-Schema

Beispiel für Erweiterbarkeit Beispiel für Erweiterbarkeit

1. Neues Element kann jederzeit eingeführt werden (verallgemeinerte Auszeichnungssprache).

1. 2.

Referenzen

ÄHNLICHE DOKUMENTE

– Erstellt beim Parsen einen DOM-Baum auf dem nach dem Parsen zugegriffen werden kann. Der DOM-Baum kann wieder in einem XML-Dokument gespeichert

Anfragesprache zur Auswahlvon Knoten in einem XML-Dokument, über Patternmatch und Filter. ● Weist gewisse Ähnlichkeiten zur

Zwischenstands jeden Mittwoch (zwei Folien erlaubt). • dienstags:

Sowohl das shipTo- als auch das billTo-Element enthält immer ein Attribut type aus dem Namensraum http://www.w3.org/2001/XMLSchema-instance, jeweils mit dem Werten ipo:EU-Address

Das shipTo- und das billTo-Element einer gültigen Instanz kann entweder aus a) den Elementen name, street, city, und postcode oder aus b) den Elementen name, street, city, state

Das XSLT-Stylesheet soll nicht nur das obige XML-Dokument, sondern alle gültigen Instanzen des XML-Schemas document.xsd auf analoge Art und

• Mit Document Type Definitions (DTDs) können aber spezielle Auszeichnungssprachen mit konkreten Tags definiert werden:. • werden Anwendungen von

Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik2. Netzbasierte