XML Grundlagen But if I bought a radio and found that it accessed only certain stations and not others, I'd be upset. I suppose I could have a half dozen.

Slides:



Advertisements
Ähnliche Präsentationen
Web-Content-Management-Systeme
Advertisements

XML-basierte Techniken
25. Mai 2001Kleyer/Oyen/ReuseFolie 1 Fallstudie im Rahmen des Studienganges Wirtschaftsinformatik Christian Kleyer, Daniel Oyen, Svend Reuse Grundkonzeption.
WML – Wireless Markup Language Vortrag von Eduard Jakel.
Extensible Markup Language
Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Zurück zur ersten Seite n Style Sheets sind im Prinzip Formatvorlagen für HTML-Dokumente n Über Style Sheets lassen sich zentrale Layout-Vorgaben für eine.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 10: Einführung in XML.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Tinosch Ganjineh, Christian v. Prollius 1 Scalable Vector Graphics SVG.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Grundschutztools
Was versteht man unter XML Schema?
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Vortrag HTML, XHTML, DHTML
XML eXtensible Markup Language
JavaScript.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
CGI (Common Gateway Interface)
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
Kurzpräsentation von Herbert Schlechta
XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Vortrag: Frames & Javascript.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Formulare in HTML.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
CSS Cascading Style Sheets
© Prof. Dr.-Ing. habil. Dierk Langbein 2005 Dierk Langbein LE 4 1 Datenverarbeitung mittels XML 1. XML-Grundlagen.
HTML Hypertext Markup Language
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
 Präsentation transkript:

XML Grundlagen But if I bought a radio and found that it accessed only certain stations and not others, I'd be upset. I suppose I could have a half dozen radios, one for each set of stations. It makes no more sense to have a half dozen computers or different operating systems or browsers for Web access. Sir Timothy J. Berners-Lee (Begründer des WWW)

SGML Entwicklung: 1967 generic coding 1968 “editorial structure tags” 1986 SGML als ISO-Standard 8879 Funktion: Formale Typisierung von Dokumenten (Buch: Kapitel, Abschnitte, Unterabschnitte, …) Charakterisiert Dokumenttyp anhand „Document Type Definitionen“ (DTD) Metasprache zum beschreiben von Markup Languages. (kann eigene Tags definieren und deren strukturelle Beziehung zueinander festlegen) Reibungsloser Ablauf erforderte hohen Initialaufwand (Programme, Schulungen)

SGML Beispiel: Für das folgende Beispiel soll der Dokumenttyp "Notiz" dienen. Eine Notiz soll einen Titel haben, aus mindestens einem Absatz bestehen und im Text sollen wichtige Stellen markierbar sein: <!-- Element Min Inhalt --> <!ELEMENT notiz - - (titel, absatz+) > <!ELEMENT titel - - (#PCDATA) > <!ELEMENT absatz - - (#PCDATA | wichtig)* > <!ELEMENT wichtig - - (#PCDATA) > Angenommen diese DTD ist als Datei /usr/home/sm/dtd/notiz.dtd abgespeichert. Eine Instanz des Dokumenttyps würde so aussehen: <!DOCTYPE notiz SYSTEM "/usr/home/sm/dtd/notiz.dtd" []> <notiz> <titel>Termine</titel> <absatz> Dienstag, 9 Uhr: <wichtig>Zahnarzttermin</wichtig> </absatz> ... </notiz>

Was ist XML ? Entwicklung: Am 10.02.1998 wurde XML 1.0 als Empfehlung des W3C veröffentlicht Am 06.10.2000 folgte die 2.Edition von XML 1.0 Am 04.02.2004 folgte die 3.Edition von XML 1.0 AM 29.09.2006 folgte die 4.Edition von XML 1.0 http://www.w3.org/TR/REC-xml/#sec-origin-goals Funktion: reduzierte Version von SGML Standard zur Modellierung von Daten in Form einer Baumstruktur Klartext verständlich für Mensch & Maschine definiert Regeln für den Aufbau von Dokumenten Standard zur Definition von beliebigen in ihrer Grundstruktur jedoch stark verwandten Auszeichnungssprachen Metasprache Sieht ähnlich wie HTML aus, ist jedoch nicht als Nachfolger gedacht.

Was ist XML ? Aufbau: Ein XML-Dokument besteht aus einem Prolog und den eigentlichen XML- Daten. Prolog: <?xml version="1.0" encoding="UTF-8" standalone=“no" ?> <?xml-stylesheet href="...\styles\muster.xsl" type="text/xsl" ?> <!DOCTYPE xmldoc SYSTEM "dokumenttypdefinition.dtd"> XML-Daten: <gruss>Hallo Welt!</gruss>

Warum XML ? technisch völlig plattformunabhängig Liefert Zusatzinformationen über Daten, die direkt weiterverarbeitet werden können. umfangreiche Formatierungen mit HTML nicht möglich HTML erlaubt keine Definition eigener DTDs SGML ist nicht gut geeignet um Dokumente über das Internet anzubieten. Spezifikationsumfang von XML geringer als SGML, da Teilmenge. Pareto Verteilung XML enthält mehr Restriktionen (Entwicklung von Browsern leichter) CSS und JavaScript/DOM sind 100% zu XML kompatible. Kann verwendet werden, wenn keine Datenbank zur verfügung steht.

Korrektheit XML hat 2 verschiedene Vorstellungen von "korrekt". Wohlgeformtheit: Dokument mit verständlichem Markup wird als wohlgeformtes Dokument bezeichnet. Gültigkeit: Der Standard definiert ein XML-Dokument als gültig, wenn es wohlgeformt ist, den Verweis auf eine DTD enthält und das durch die DTD beschriebene Format einhält. Wird ein XML-Dokument als nicht gültig erkannt, ist seine Verarbeitung gemäß W3C-Vorgabe abzubrechen.

Korrektheit Ein wohlgeformtes Dokument sollte u.a. folgende Bedingungen erfüllen: die XML-Version sollte deklariert sein es gibt genau 1 Wurzelelement innerhalb des Wurzelelementes sind alle Elemente eindeutig ineinander verschachtelt alle nicht-leeren Elemente sind mit Start-Tag und End-Tag markiert jeder Start-Tag beginnt mit < und schließt ab mit > und jeder End-Tag beginnt mit </ und schließt ab mit > leere Elemente sind entweder mit Start- und End-Tag markiert oder beginnen mit < und schließen ab mit /> Ein Kommentar wird begrenzt von <!-- und --> eingeschlossen ein Attribut darf nicht zweimal im gleichen Tag vorkommen verwendete Entitäten müssen vor ihrer Referenzierung deklariert worden sein

Korrektheit Beispiel für ein wohlgeformtes XML-Dokument: wohlgeformt.xml: <?xml version="1.0" ?> <vater> <kind> <!– Ich bin ein Kommentar --> Ich bin wohlgeformt. </kind> <leererTag/> <auchLeer></auchLeer> </vater>

Dokument Type Definition Die DTD ist das Regelwerk des XML-Dokuments und definiert Elemente, Entities und Attribute. In HTML gibt es eine fest vorgeschriebene HTML-DTD. Bei XML kann man sich diese DTD selber definieren (lassen). Vorteile: Mehr Handlungsspielraum, da die Syntax auf die Bedürfnisse angepasst werden kann. Jeder Elementtyp kann in der gewünschten Häufigkeit angegeben werden. Ein XML-Editor kann einen Autor davon abhalten, die Gültigkeit eines XML-Dokuments zu zerstören. Eine DTD bildet die Grundlage für eine mögliche homogene, dezentrale Weiterverarbeitung der XML-Daten.

Dokument Type Definition Beispiel dokumenttypdefinition.dtd <!ENTITY auml CDATA "ä"> <!ENTITY Auml CDATA "Ä"> <!ENTITY ouml CDATA "ö"> <!ENTITY Ouml CDATA "Ö"> <!ENTITY uuml CDATA "ü"> <!ENTITY Uuml CDATA"Ü"> <!ENTITY szlig CDATA "ß"> <!ELEMENT persverz (person)+> <!ELEMENT person (name, adresse+, geburtsdatum?, sonstiges*)> <!ELEMENT name (vorname, nachname)> <!ELEMENT vorname (#PCDATA)> <!ELEMENT nachname (#PCDATA)> <!ELEMENT adresse (#PCDATA)> <!ELEMENT geburtsdatum (#PCDATA)> <!ELEMENT sonstiges (#PCDATA)>

Dokument Type Definition Beispiel für daraus resulierendes XML-Dokument xmldoc.xml <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <?xml:stylesheet type="text/xsl" href="layoutdatei.xsl"?> <!DOCTYPE xmldoc SYSTEM "dokumenttypdefinition.dtd"> <persverz> <person> <name> <vorname>Hans</vorname> <nachname>Wurst</nachname> </name> <adresse>Musterstr.1, 00700 Musterstadt </adresse> <geburtsdatum>1.1.2000</geburtsdatum> <sonstiges>verheiratet</sonstiges> <sonstiges>2 Kinder</sonstiges> </person> </persverz>

Präfix(Namensraum):lokaler Teil(Element oder Attribut) Namensräume In der Praxis kann es vorkommen, dass beim Konsolidieren zweier XML-Dokumente, Elementtypen mit gleicher Bezeichnung verwendet werden. Mögliche Folge wäre keine eindeutige Zuweisung des Elementtyps zu einer der vorhandenen DTDs.→ XSLT hätte Probleme die XML-Daten richtig aufzubereiten Man bedient sich in diesem Fall der Namensräume. Ein qualifizierender Name Qname besteht aus: Präfix(Namensraum):lokaler Teil(Element oder Attribut) <person xmlns:vater="http://homepage-vom-vater.de" xmlns:kind="http://www.homepage-vom-kind.de"> <vater:vorname>Hans</vater:vorname> <kind:vorname>Hänschen</kind:vorname> </person> Die URI soll nur eine eindeutige Bezeichnung für den Namensraum sein. Es wird nicht auf die Datei zugegriffen.

XML-Schema Ein XML-Schema (auch XML-Schema-Definition kurz:XSD) bietet eine umfangreichere Alternative zur Strukturbeschreibung als eine DTD. Das Schema wird in XML verfasst.

XML-Schema Die Vorteile der XSD bestehen vorrangig in der Komplexität und den möglichen Einstellungen, die vorgenommen werden können. Das XSD kann sich selber validieren und ist somit als Bestandteil des XML-Dokuments korrekt. Das XSD wird in XML verfasst und es bedarf keiner neuen, XML-fremden Sprache. In Schema lassen sich komplexe Datentypen definieren und sogar im Wertebereich eingrenzen.

XML-Schema Elementdefinitionen: Simple: <xsd:element name=“geburtstag“ type=“xsd:date“/> <xsd:element name=“homepage“ type=“xsd:anyURI“/> Complex: <xsd:complexType name=“Familie“> <xsd:mitglieder> <xsd:element name="Vater“ type="xsd:string"/> <xsd:element name="Mutter" type="xsd:string"/> </xsd:mitglieder> </xsd:complexType>

XLink Mit einem XLink lassen sich zwei Typen von Links erstellen: simple: vergleichbar mit dem aus HTML bekannten Link auf Ressource oder Internetauftritt. extended: bildet komplexes Linksystem, mit dem man mehrere Ressourcen/Internetseiten gleichzeitig ansprechen kann. Außerdem lassen sich Verhaltensmuster für Linkgruppen definieren.

XPointer Der XPointer macht es möglich neben Element(teilen) auch auf einzelne Punkte oder Bereiche zu referenzieren. Vorgabe dabei ist allerdings, dass die angesprochenen Dokumente XML-konform sind. Es gibt 2 Zeigertypen. #xpointer():sucht Element mit entsprechender ID oder Alternative #xpointer(id("zielid1")) xpointer(id("zielid2")) #element():verfolgt den Strukturbaum bis zum gewünschten Element #element(1/2/3) oder #element(element1/2/3)

Document Object Model DOM ist eine Programmierschnittstelle (API) für den Zugriff auf HTML- oder XML-Dokumente. Sie wird vom World Wide Web Consortium definiert erlaubt Computerprogrammen dynamisch den Inhalt, die Struktur und das Layout eines Dokuments zu verändern. Programmschnittstelle ist Plattform und Sprachneutral geeignet für Script-Sprachen aber z.B. auch für HTML-Editoren Verarbeitung eines Dokuments Im ersten Schritt wird ein Dokument eingelesen und ein Dokument-Objekt erzeugt. Anhand dieses Objekts kann mittels der Methoden des API auf die Inhalte, Struktur und Darstellung zugegriffen werden. DOM erlaubt: die Navigation zwischen den einzelnen Knoten eines Dokuments, das Erzeugen, Verschieben und Löschen von Knoten sowie das Auslesen, Ändern und Löschen von Textinhalten. Am Ende der Verarbeitung kann aus dem Dokument-Objekt durch Serialisierung ein neues XML- oder HTML-Dokument generiert werden.

Document Object Model Beispiel: Beispiel_xmldoc.xml <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <?xml:stylesheet type="text/xsl" href="layoutdatei.xsl"?> <!DOCTYPE xmldoc SYSTEM "dokumenttypdefinition.dtd"> <persverz> <person> <name> <vorname>Hans</vorname> <nachname>Wurst</nachname> </name> <adresse>Musterstr.1, 00700 Musterstadt</adresse> <geburtsdatum>1.1.2000</geburtsdatum> <sonstiges>verheiratet</sonstiges> </person> </persverz>

Document Object Model DOM-Baum zu Beispiel_xmldoc.xml: Fast alle XML-Parser bieten inzwischen ein DOM-Modul an, mit dem sich ein DOM aus einer XML-Datei erstellen läßt. Der DOM-Baum, der vom Parser erstellt wird, muß immer vollständig im Hauptspeicher gehalten werden. (bedenke Performance)

Transformation von XML-Dokumenten XSL Transformations (XSLT) ist ein Sprachbestandteil der eXtensible Stylesheet Language XSL. XSLT bietet die Möglichkeit beliebige XML-Dokumente in andere Formate zu transformieren. Es ist es möglich die Daten in XML zu speichern, aber in einem anderen bzw. nützlicheren Format darzustellen oder kompakter zu gestalten als das Original. (ohne überflüssige Informationen) mögliche Ausgabeformate sind XML, HTML, XHTML, SVG, VRML und PDF Die Transformation geschieht mithilfe von XSL-Stylesheets Parsen durch Transformations-Engine (z.b. Saxon) Existiert zu einer Auszeichnung eine Regel im Stylesheet, ein sogenanntes Template, wird diese angewandt und der Ergebnis-Code wird erzeugt

Transformation von XML-Dokumenten Beispiel: adressbuch.xml –-–-Saxon–-–-> adressbuch.html Die Transformation eines Adressbuchs adressbuch.xml in eine HTML-Datei adressbuch.html soll hier mit der XSLT-Engine Saxon beispielhaft gezeigt werden. Die Quelldatei adressbuch.xml: <?xml version="1.0"?> <!DOCTYPE adressbuch SYSTEM "adressbuch.dtd"> <Adressbuch> <Person> <Vorname>Hans</Vorname> <Nachname>Wurst</Nachname> <Ort plz=„06701">Bockstadt</Ort> <Alter>50</Alter> </Person> </Adressbuch>

Transformation von XML-Dokumenten Das Transformations-Stylesheet adressbuch.xsl: <?xml version="1.0"?> <xsl:stylesheet version="1.0“ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title> Transformiertes Adressbuch </title> </head> <body> <xsl:apply-templates /> </body> </html> </xsl:template>

Transformation von XML-Dokumenten <xsl:template match="Vorname"> <td> <xsl:value-of select="." /> </td> </xsl:template> <xsl:template match="Nachname"> <xsl:template match="Alter"> <xsl:template match="Ort"> </xsl:stylesheet>

Transformation von XML-Dokumenten Aufruf: saxon -o adressbuch.html adressbuch.xml adressbuch.xsl Quelldatei: adressbuch.xml Stylesheet: adressbuch.xsl Ergebnis: adressbuch.html

Transformation von XML-Dokumenten Ergebnis adressbuch.html: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> Transformiertes Adressbuch </title> </head> <body> <table border="2"> <tr> <td>Hans</td> <td>Wurst</td> <td>Bockstadt</td> <td>50</td> </tr> </table> </body> </html> Das Ergebnis dieser Transformation ist also eine reine HTML-Datei, die über die Angaben im Stylesheet beliebig gestaltet werden darf

Transformation von XML-Dokumenten Beispiel: XML - Gästebuch http://cruncher.ba-mannheim.de/~s0511202/XML/easyboard/ easyboard.php (Die Index-Seite des Gästebuches) easyboard_entries.xml (Enthällt die Einträge im XML-Format)

Quellen Bücher: SGML für die Praxis – Ansatz und Einsatz von ISO 8879, Wolfgang Rieger, Springer-Verlag Berlin Heidelberg, 1995 XML für Dummies, 3. überarbeitete Auflage, Lucinda Dykes , Ed Tittel; Wiley- Vch, 2006 XML, Grundlagen der Sprache und Anwendungen in der Praxis; Dirk Ammelburger, Carl Hanser Verlag, 2004 Internet: http://www.come2xml.de/ http://www.edition-w3c.de/ http://www.fh-wedel.de/~si/seminare/ss04/Ausarbeitung/9.Kobligk http://www.fh-wedel.de/~si/seminare/ws00/Termine/Themen.html http://www.mintert.com/xml http://www.rittershofer.de http://www.stud.fernuni-hagen.de http://www.wikipedia.de