GRUNDKURS INFORMATIK Agenda Von SGML zu XML XML
Transcription
GRUNDKURS INFORMATIK Agenda Von SGML zu XML XML
07.12.2010 Agenda XML HTML und XML Von SGML zu XML Grundbegriffe Beispiele DTDs GRUNDKURS INFORMATIK 8 – BESCHREIBUNG VON DATEN – XML Marcel Götze Unterschiede zwischen HTML und XML Von SGML zu XML 4 XML ersetzt HTML nicht XML: entwickelt zum Transport und zur Strukturierung und zur Speicherung von Daten HTML: entwickelt zur Darstellung von Daten „HTML is about displaying information, while XML is about carrying information.“ http://www.w3schools.com/xml/xml_whatis.asp XML ersetzt HTML nicht HTML und XML sind beide nur Text XML – Beispiel 5 SGML weitaus umfangreicher als XML →SGML zu komplex XML Untermenge von SGML, 80-20 Regel Idee des Hypertext auch hier grundlegend Ziel: Flexibilisierung der Struktur Notwendig: technische Unterstützung 1996: erster Entwurf von XML quasi Standard zur Dokumentbeschreibung Grundbegriffe – XML Dokument 6 <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> / <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> Ein XML-Dokument ist ein Datenstrom (der nicht zwingend als Datei vorliegen muß), welcher den Strukturierungsprinzipien der eXtensible Markup Language genügt. besteht aus Prolog: <?xml version="1.0" version 1.0 encoding encoding= "UTF-8" UTF 8 standalone="yes"?> und XML Daten: <Vorlesung> <Titel>GrundkursInformatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> 1 07.12.2010 Grundbegriffe – Elemente 7 XML – Sprache, Definition 8 viele Dokumente besitzen Komponenten, oft hierarchisch organisiert: logische Dokumente logische Komponenten in XML: Elemente können oder d andere Elemente enthalten (textuellen) ( ll ) TTeilil d des eigentlichen i li h D Dokumentes k Elemente sind durch Start- und Endtag begrenzt oder Leeres-Element-Tag <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach/> </Vorlesung> Beispiel 9 Eine Anwendung der Extensible Markup Language. Ein Vokabular, das aus Symbolen und der ihnen zugewiesenen Bedeutung (Semantik) gebildet wird, ergänzt um Regeln (grammatikalische Struktur und Gültigkeitsregeln für den Inhalt (z.B. Datentypen)) zur Kombination der Vokabularelemente. Anwendungen einer so neu geschaffenen XMLSprache werden als XML-Dokumente bezeichnet. Grundbegriffe – Elemente 10 <?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach/> </Vorlesung> Vorlesung Grundbegriffe – Attribute 11 durch logische Struktur der Elemente wird hierarchischer Aufbau definiert kann als Baum dargestellt werden Titel Thema Studiengang Grundkurs Informatik XML KWL Pflichtfach Wurzel- oder Dokumentelement: enthält alle anderen Elemente XML in 10 Punkten 12 ähnlich HTML können Elemente Attribute enthalten wird als Attribut am Tag angegeben <?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?> <Vorlesung> <Titel i l start="2010-11-30T09:00:00+01:00"> "2010 11 30 09 00 00 01 00" Grundkurs Informatik </Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> XML steht für strukturierte Daten: 1. XML strukturiert Daten Strukturierung von Daten ubiquitär: Adressbücher, Tabellenkalkulation, finanzielle Transaktionen XML stellt die Regeln, ist aber keine Programmiersprache erlaubt l b die di D Definition fi i i einer i S Sprache h zur Strukturierung S k i <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> http://www.w3c.de/Misc/XML-in-10-points.html 2 07.12.2010 XML in 10 Punkten 13 XML in 10 Punkten 14 XML sieht ein wenig wie HTML aus: 2. XML ist Text, aber nicht zum Lesen: 3. verwendet Tags: <tag> und Attribute: <tag name=´Wert´> Tags sind aber nicht vorgegeben, jede Anwendung kann eigene definieren <br> heisst also nicht Zeilenumbruch XML ersetzt HTML nicht XML ist mit jedem Editor lesbar Speicherung textuell, nicht binär vereinfacht den Datenaustausch zwischen Maschinen <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> http://www.w3c.de/Misc/XML-in-10-points.html http://www.w3c.de/Misc/XML-in-10-points.html XML in 10 Punkten XML in 10 Punkten XML ist vom Design her ausführlich: 4. XML ist eine Familie von Techniken: 5. XML Dateien sind größer als vergleichbare binäre Formate 178 Byte XML, davon 34 Byte reine Daten XML – Überbegriff für eine Reihe von Techniken Beispielsweise: <?xml version version="1.0" "1 0" encoding encoding="ISO-8859-1" "ISO 8859 1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung> XML in 10 Punkten XLink: realisiert Verlinkung zwischen XML-Dokumenten XPointer: Eindeutige g Beschreibung g der Position von Elementen innerhalb eines XML-Dokumentes XSL: Stylesheets zur Darstellung von XML DOM - Document Object Model: Modell des XML-Dokumentes, Datenstruktur zum Zugriff auf Dokument(teile) XML in 10 Punkten 18 6. XML ist neu, aber nicht so neu: entwickelt seit 1996, Wurzeln aber SGML, 1969 Seit 1998 W3C Standard Seit 1990 Entwicklung von HTML – Erfahrungen Basis für XML „Das Beste aus SGML” 7. XML überführt HTML in xHTML: Ende der 1960er Jahre: Entwicklung von SGML HTML basiert auf SGML, jetzt Version 4.0 1996: Entwicklung von XML XML: generelle, allgemein einsetzbare Auszeichnungssprache mit XML wurden eine Reihe von SGML Dateiformaten entwickelt, die auch im Web eingesetzt wurden Beispiel: SVG Wirrwarr von Standards XML HTML xHTML 3 07.12.2010 xHTML 19 XML in 10 Punkten 20 XML gerechtes HTML ist syntaktisch zu vielen XML-Standardsprachen kompatibel und kann in andere XML-Dokumente eingebettet werden Vereinheitlicht das automatische Lesen (Parsen) von Dateien wichtig, XML ist syntaktisch strenger: HTML wird in der Syntax an das strengere XML angepaßt z.B. jeder Start-Tag muss einen End-Tag oder ‚/‘ besitzen XML ist modular: 8. <p>Das ist ein Absatz</p> <br /> XML ist die Basis für RDF und das Semantic Web: 9. Weitere Spezifikationen sind jetzt Pflicht (Dokumenttyp, ...) Wohlgeformtheit Semantic Web: Netz von Sinnzusammenhängen Vorraussetzung: Beschreibung von Ressourcen: RDF XML ist lizenzfrei, plattform- und herstellerunabhängig, und gut unterstützt 10. 21 XML erlaubt die Definition eines neuen Dokumentformates durch Kombination und Wiederbenutzung Problem: zwei Formate können parallel entwickelt und damit gleiche Tags oder Attribute mit unterschiedlicher Bedeutung besitzen Lösung: Namensräume XML – Beispiel 22 Zu jedem Start-Tag existiert genau ein Ende-Tag. <Titel>Grundkurs Informatik</Titel> <?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach /> </Vorlesung> Bei leeren Elementen können diese zu einem Tag zusammenfallen. <Pflichtfach /> / Korrekte Elementschachtelung, d.h. Elemente überlappen einander nicht. <Titel>Grundkurs Informatik<Thema>XML </Titel><Thema> Genau ein Wurzelelement. Wohlgeformtheit 23 Gültigkeit 24 Alle Attributwerte sind in einfachen oder doppelten Anführungszeichen. <Titel start=" 2010-11-30T09:00:00+01:00"> Grundkurs Informatik</Titel> Kein Start-Tag (oder Tag der ein leeres Element einleitet)) enthält zwei oder mehr Attribute desselben Namens. <Titel start="" start=""> Keine Kommentare innerhalb von Tags. Kommentare beginnen und enden mit genau zwei Bindestrichen. <!-- Kommentar --> < darf nicht innerhalb von Elementinhalten oder Attributwerten auftreten: < statt dessen Wichtig für Datenaustausch Anforderungen an Gültigkeit eines Dokumentes: 1. 2. Definition des Dokumentaufbaus mittels Grammatik (Document Type Definition – DTD, oder XML-Schema), oder enthält die Deklaration standalone="yes" " " Dokument ist wohlgeformt 4 07.12.2010 DTD – Document Typ Definition XML – Medienunabhängig 25 legt die Strukturmerkmale eines Dokumentes fest welche Elemente verwendet werden dürfen welche Attribute zu welchem Element erlaubt sind wie Elemente zu verschachteln sind Beispiel: Abschnitte eines Buches dürfen nicht beliebig tief verschachtelt werden XML stellt Basis für die Umwandlung in verschiedene Dokumentformate dar XML erlaubt die Überprüfung von Dokumenten auf Gültigkeit legt fest, was Anwendungen erwarten können Anwendungen für XML Anzeigen: Browser Opera, xHTML PDF XML-Sprachen/XML-Familie Firefox, InternetExplorer WH: XML definiert regeln für die Entwicklung von Markup-Sprachen Erzeugen, Verändern: Editor jeder HTML Texteditor Texteditor, jEdit, jEdit PsPad Lesen: Parser Verarbeiten: XML-Processor XML-Sprachen: SVG <?xml version="1.0" encoding="utf-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="400" height="600"> <circle cx="100" cy="100" r="50" /> <rect x="100" y="100" width="100" height="200" /> <line x1="100" y1="100" x2="200" y2="200" stroke="red" stroke-width="4px"/> / </svg> Beispiele: Graphik: SVG, X3D DocBook-XML, OpenDocument (ODF), xHTML Webservices: RSS-Feeds, SOAP Semantic Web: RDF, OWL, TopicMaps Text: XML-Sprachen: MathML - Beispiel ax2+bx+c <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>a</mi> <mo>⁢<!-# 2062 ! ⁢ I i ibl Ti --></mo> / <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>b</mi> <mo>⁢<!-- ⁢ --></mo> <mi>x</mi> <mo>+</mo> <mi>c</mi> </mrow> </math> 5 07.12.2010 XML-Sprachen: DocBook Definiert Vokabular zur Beschreibung von textuellen Dokumenten Erlaubt Strukturierung von Texten <book id="einfaches_buch"> <titl >Ei sehr <title>Ein h einfaches i f h BBuch</title> h</titl > <chapter id="einfaches_kapitel"> <title>Kapitel</title> <para>Hallo Welt!</para> </chapter> </book> Weit umfangreicher (aber auch komplizierter) → OpenDocument XML-Sprachen: RSS-Feeds Really Simple Syndication Ermöglicht, Webseiten oder Teile davon zu abonnieren Nicht beschränkt auf textuelle Inhalte: Podcasts Beispiel: http://www.spiegel.de/dienste/0,1518,271804,00.ht ml http://www.uni- magdeburg.de/fgse/dekanat/news/?q=rss.xml Zusammenfassung 33 Trennung von Inhalt und Layout XML - eXtensible Markup Language XML strukturiert Daten logische, hierarchische Struktur XML-Dokument: baumartiger Aufbau Besteht aus Elementen: Element hat Name (Tag) und Inhalt (von Start- und Endtag umschlossen) Wohlgeformtheit, DTD 6