XML Extensible Markup Language

Ähnliche Dokumente
XML Extensible Markup Language

XML Extensible Markup Language

XML Extensible Markup Language

XML Extensible Markup Language

XML Extensible Markup Language

Python-Praxis XML & XML-Prozessierung

XML Extensible Markup Language

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

XML Extensible Markup Language

Algorithmen und Datenstrukturen II

XML-Praxis. XML-Grammatiken. Jörn Clausen

Einführung in die extensible Markup Language

Logische Dokumentenstruktur mit SGML und XML

XML-Praxis. XML-Grammatiken.

XHTML. Lernfragen zu XHTML. Was ist HTML? Überblick

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Document Type Definitions (DTDs)

Perl-Praxis XML & LibXML

Komponenten-basierte Entwicklung Teil 2: Einführung in XML

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

XSLT XSL Transformations

Kurzeinführung in XML. Was ist XML? Well-formed u. gültiges XML Erste Anwendung in XML Externe DTD Attribute und Entities Datenausgabe mit XSL

XSLT XSL Transformations

<B1>Skript</B1> Skript zur Vorlesung Auszeichnungssprachen Stand: September 2016

Einführung in XML. Seminarunterlage. Version 3.05 vom

Diese neuen Gestaltungsmöglichkeiten können nun auf den Web-Anzeigenmarkt angewandt werden: Wissensbaustein»Anzeigenmarkt: CSS-Einsatz«(S.

DTD: Syntax-Zusammenfassung

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY*

Web (Site) Engineering (WebSE)

Verarbeitung von XML-Dateien. Jörn Clausen

XML-Praxis.

XML steht für Extensible Markup Language. Helmut Vonhoegen (2007) beschreibt XML unter anderem so:

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Musterlösung des Übungsblattes 1

Document Type Definition (DTD)

Textkodierung mit XML

XML-Praxis. Einführung in XSLT. Jörn Clausen

Einführung in XML Extensible Markup Language

XML-Praxis. XML-Anwendungen.

XML-Technologien. Tutorium im Sommersemester Mai 2014

Strukturierung von Inhalten

Was ist SGML. - welche Auszeichnungen (Mark up) sind erlaubt? - welche Auszeichnungen sind notwendig?

XML light. XML bearbeiten. Jörn Clausen

Literatur. VA SS Teil 12/XML

Verteilte Anwendungen. Teil 12: XML-Einführung

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Knowledge Management im Bildungsbereich KMB: Teil 4

Textkodierung mit XML

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

Semistrukturierte Daten. Teil 3: Document Type Definitions (DTDs)

<XML/> Eine kleine Einführung Sascha Kohlmann <XML/> Eine kleine Einführung

Softwareentwicklung mit Komponenten

12. Jgst. 3. Kursarbeit Datum: Fach: Informationsverarbeitung (Leistungskurs) & )!!*+,!- -.!-

2 XML-Basiskonzepte. 2.1 XML-Dokumente

5 XML und Analyse von XML-Dokumenten

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

Information und Struktur Einführung in XML

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Android will doch nur spielen XML

XML-Praxis. XML Übungen. Jörn Clausen

Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Web-Programmierung (WPR)

Textauszeichnung mit XML

XML RSS. 1. Einführung 2. Syntax 3. Eigenschaften 4. Validierung 5. Fazit. 1. Einführung 2. Struktur 3. Fazit. Seite 2

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Datenaustauschformate. Datenaustauschformate - FLV

XML. XML: Extensible Markup Language. Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler

Seminar Document Engineering

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Vortrag im Rahmen des IFC-Seminars am Performance Messungen mit XML bei der empolis GmbH

XML kompakt. Eine praktische Einführung. Bearbeitet von Thomas Michel

Design und objektorientierter Entwurf

Übersicht über 1. Vorlesungsabschnitt Form und Darstellung von Informationen

XML, XHTML und MathML

Agenda GRUNDKURS INFORMATIK 8 BESCHREIBUNG VON DATEN XML. Von SGML zu XML. Grundbegriffe XML Dokument. XML Beispiel

Einführung in Perl. WWW, Teil 2: XML

2. Einführung in Datenbanken und XML

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1

GRUNDKURS INFORMATIK. Marcel Götze

Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1

Information und ihre Darstellung: XHTML & CSS

Beuth Hochschule Verschiedene Bestandteile einer XML-Datei WS10/11

XML-Einführung. Entwicklung Begriffe Vorteile/Möglichkeiten von XML Adressen Beispiele. Fachhochschule Nordwestschweiz FHNW Martin Hüsler

XML-Praxis.

<XML und XSLT Eine Einführung/> Katharina Hemmeter, Claus Ludewig SQ: Digitale Dokumente

Transkript:

XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de

XML? Das sind doch bloß spitze Klammern! XML-Praxis XML Extensible Markup Language 2/22

XML? Das sind doch bloß spitze Klammern! Ja, und Programme sind nur Folgen von Bytes. XML-Praxis XML Extensible Markup Language 2/22

Übersicht Was ist XML? Verarbeitung von XML Aufbau von en XML-Grammatiken XML-Praxis XML Extensible Markup Language 3/22

Was ist XML? Daten sind strukturiert (Texte, Bilder, Meßergebnisse,... ) maschinelle Verarbeitung erfordert Kenntniss der Strukturen gesucht: Formalismus, um beliebige Strukturen zu beschreiben XML kann textuelle Daten strukturieren standardisierte Methoden zur Verarbeitung von XML XML-Praxis XML Extensible Markup Language 4/22

Ursprung von XML: SGML Standard Generalized Markup Language 1986 als ISO-Standard 8879 verabschiedet keine Markup-Sprache, sondern Grammatik-Sprache Einsatz vor allem im Verlagswesen 1989: Hypertext Markup Language, World Wide Web Problem: komplexe Regeln, Parser schwer zu implementieren ab 1996: Entwicklung von XML SGML, nicht HTML++ XML-Praxis XML Extensible Markup Language 5/22

Verarbeitung von XML <a> <b> </b> </a> XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML DTD XML Schema <a> <b> </b> </a> DTD: Document Type Definition XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> (z.b. XHTML) DTD: Document Type Definition XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML Stylesheet XSLT DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> (z.b. XHTML) DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML Stylesheet XSLT DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> In a hole in the ground there lived a hobbit. 1 (z.b. XHTML) PDF-Datei DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML Stylesheet XSLT DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> <fo:block> </fo:block> In a hole in the ground there lived a hobbit. 1 (z.b. XHTML) XSL-FO-Datei PDF-Datei DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations FO: Formatting Objects XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML Stylesheet XSLT XSL-FO Engine DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> <fo:block> </fo:block> In a hole in the ground there lived a hobbit. 1 (z.b. XHTML) XSL-FO-Datei PDF-Datei DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations FO: Formatting Objects XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML XML Stylesheet Stylesheet XSLT XSLT XSL-FO Engine DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> <fo:block> </fo:block> In a hole in the ground there lived a hobbit. 1 (z.b. XHTML) XSL-FO-Datei PDF-Datei DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations FO: Formatting Objects XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML XML XML Stylesheet Stylesheet XSLT XSLT XSL-FO Engine DTD XML Schema <a> <b> </b> </a> <x> </x> <y/> <fo:block> </fo:block> In a hole in the ground there lived a hobbit. 1 (z.b. XHTML) XSL-FO-Datei PDF-Datei Java, C, Perl, SAX, DOM DTD: Document Type Definition XSL: Extensible Style Sheets XSLT: XSL Transformations FO: Formatting Objects SAX: Simple API for XML DOM: Document Object Model XML-Praxis XML Extensible Markup Language 6/22

Verarbeitung von XML, cont. (fast) alles ist XML wenige Werkzeuge nötig (XML-Parser, XML-Editor,... ) wiederverwendbare Komponenten Textformat Unicode: portabel, einfach zu verarbeiten offene Standards, viele Open Source-Lösungen XML-Praxis XML Extensible Markup Language 7/22

ein Beispiel <?xml version="1.0"?> <presentation status="draft" date="2002-10-04"> <title>xml & Friends for Dummies</title> <author>joe User</author> <slide> <title toc="yes">what is XML?</title> <ilist> <item>xml is not a markup language (unlike HTML)</item> <item>xml instances can be <emph>well formed</emph> or even <emph>validating</emph></item> <item>xml stands for &xml;</item> </ilist> </slide> <slide></slide> </presentation> XML-Praxis XML Extensible Markup Language 8/22

Aufbau von XML XML-Datei beginnt mit XML declaration <?xml version="1.0"?> bisher nur Version 1.0 spezifiziert, neue Versionen in Planung verwendete Kodierung <?xml version="1.0" encoding="iso-8859-1"?> sonst Unicode (UTF-8), Obermenge von ASCII Kodierung im Dokument nicht unproblematisch XML-Praxis XML Extensible Markup Language 9/22

Elemente (elements) öffnendes und schließendes tag <item>xml is not a </item> Elemente können geschachtelt werden <ilist> <item>xml is not a </item> <item> <emph>well formed</emph> </item> </ilist> keine Minimierungsregeln leeres Element <hr/> statt <hr></hr> statt <hr> XML-Praxis XML Extensible Markup Language 10/22

Elemente, cont. Schachtelung muß passen <a> <b> </a> </b> Groß/Klein-Schreibung relevant <html> </HTML> muß genau ein oberstes Element enthalten <?xml version="1.0"?> <presentation> </presentation> XML-Praxis XML Extensible Markup Language 11/22

Attribute (attributes) Zusatzinformationen zu Elementen <presentation status="draft" date="2002-10-04"> nur im öffnenden tag Anführungszeichen " (double quote) oder (single quote) Attribut darf nur einmal vorkommen <presentation lang="en" lang="de"> Designfrage: Wann Elemente, wann Attribute? <date y="2002" m="10" d="7"/> <date><y>2002</y><m>10</m><d>7</d></date> XML-Praxis XML Extensible Markup Language 12/22

Entitäten (entities) Makros und Sonderzeichen in XML vordefinierte entity references & < > &apos; " weitere können definiert werden character references: Zugriff auf beliebige Unicode-Zeichen 2002 by Jörn Clausen XML-Praxis XML Extensible Markup Language 13/22

wohlgeformtes vs. valides XML well formed XML: bestimmte Kriterien erfüllt korrekte Kodierung korrekte Schachtelung der Elemente korrekte Attribute definierte Entitäten XML-Parser kann Wohlgeformtheit überprüfen valid XML: Dokument entspricht einer Grammatik XML-Praxis XML Extensible Markup Language 14/22

XML-Grammatiken formale Beschreibung der Syntax eines s Welche Elemente gibt es? Wie dürfen/müssen Elemente geschachtelt werden? Welche Attribute dürfen in welchen Elementen vorkommen? Welche Entitäten sind definiert? erleichtert den Austausch von en kann bei der Erstellung eines s helfen XML-Praxis XML Extensible Markup Language 15/22

XML-Grammatiken, cont. von SGML übernommen: Document Type Definition (DTD) für XML etwas eingeschränkt DTD selber ist nicht XML alternative Vorschläge: W3C XML Schema RelaxNG Schematron Document Schema Definition Language (ISO/IEC 19757) zur Zeit sehr kontrovers diskutiert XML-Praxis XML Extensible Markup Language 16/22

Document Type Definition für allgemeine Daten nicht immer ideal für textuelle Daten aber (immer noch) geeignet große Anzahl an etablierten DTDs große Anzahl an Werkzeugen (XML/SGML-Editoren) XML-Praxis XML Extensible Markup Language 17/22

Element besitzt content model Elemente definieren <!ELEMENT title (#PCDATA)> #PCDATA: Text ohne weitere Elemente Container-Elemente <!ELEMENT slide (title, ilist)> <!ELEMENT ilist (item*)> Quantoren:?, +, * (wie in regulären Ausdrücken) Konnektoren: a,b: erst a, dann b a b: a oder b XML-Praxis XML Extensible Markup Language 18/22

Elemente definieren, cont. Mischung von Text und inline-elementen <item> can be <emph>well formed</emph> or even </item> mixed content <!ELEMENT item (#PCDATA emph)*> kann bei der Verarbeitung problematisch sein XML-Praxis XML Extensible Markup Language 19/22

Attribute definieren Aufzählungstyp <!ATTLIST presentation status (draft final publ) #REQUIRED> Vorgabe definieren <!ATTLIST presentation status (draft final publ) "draft"> beliebiger Text <!ATTLIST presentation status (draft final publ) #REQUIRED date CDATA #IMPLIED> XML-Praxis XML Extensible Markup Language 20/22

Entitäten definieren textuelle Makros <!ENTITY xml "Extensible Markup Language"> Umlaute wie in HTML <!ENTITY Auml "Ä"> <!ENTITY auml "ä"> parameter entities, für Makros in der DTD <!ENTITY % text "(#PCDATA ital bold)*"> <!ELEMENT item %text;> <!ELEMENT ital %text;> <!ELEMENT bold %text;> XML-Praxis XML Extensible Markup Language 21/22

DTD einbinden Verweis auf DTD im system identifier <?xml version="1.0"?> <!DOCTYPE presentation SYSTEM "presentation.dtd"> public identifier und system identifier <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> XML-Praxis XML Extensible Markup Language 22/22