GRUNDKURS INFORMATIK 8 BESCHREIBUNG VON DATEN XML Marcel Götze
Agenda XML HTML und XML Von SGML zu XML Grundbegriffe Beispiele DTDs
Unterschiede zwischen HTML und XML 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. XML ersetzt HTML nicht HTML und XML sind beide nur Text http://www.w3schools.com/xml/xml_whatis.asp
Von SGML zu XML 4 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
XML Beispiel i 5 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung>
Grundbegriffe XML Dokument 6 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" encoding= "UTF-8" standalone="yes"?> und XML Daten: <Vorlesung> <Titel>GrundkursInformatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> > </Vorlesung>
Grundbegriffe Elemente 7 viele Dokumente besitzen Komponenten, oft hierarchisch organisiert: logische Dokumente logische Komponenten in XML: Elemente können andere Elemente enthalten oder (textuellen) Teil des eigentlichen Dokumentes Elemente sind durch Start- und Endtag begrenzt oder Leeres-Element-Tag <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach/> </Vorlesung>
XML Sprache, Definition i i 8 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 XML- Sprache werden als XML-Dokumente bezeichnet.
Beispiel i 9 <?xml version="1.0" encoding="iso-8859-15" standalone="yes"?> "?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach/> </Vorlesung>
Grundbegriffe Elemente 10 durch logische Struktur der Elemente wird hierarchischer Aufbau definiert kann als Baum dargestellt werden Vorlesung Titel Thema Studiengang Pflichtfach Grundkurs Informatik XML KWL Wurzel- oder Dokumentelement: enthält alle anderen Elemente
Grundbegriffe Attribute 11 ähnlich HTML können Elemente Attribute enthalten wird als Attribut am Tag angegeben g <?xml version="1.0" encoding="iso-8859-15" standalone="yes"?> <Vorlesung> <Titel start="2010-11-30t09:00:00+01:00"> 11 09 00 00 00" Grundkurs Informatik </Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung>
XML in 10 Punkten 12 1. XML steht für strukturierte Daten: XML strukturiert Daten Strukturierung von Daten ubiquitär: Adressbücher, Tabellenkalkulation, finanzielle Transaktionen XML stellt die Regeln, ist aber keine Programmiersprache erlaubt die Definition i i einer Sprache zur Strukturierung <?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
XML in 10 Punkten 13 2. XML sieht ein wenig wie HTML aus: verwendet Tags: <tag> und Attribute: <tag name= Wert > Tags sind aber nicht vorgegeben, gg jede Anwendung kann eigene definieren <br> heisst also nicht Zeilenumbruch XML ersetzt HTML nicht <?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
XML in 10 Punkten 14 3. XML ist Text, aber nicht zum Lesen: 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> http://www.w3c.de/misc/xml-in-10-points.html
XML in 10 Punkten 4. XML ist vom Design her ausführlich: XML Dateien sind größer als vergleichbare binäre Formate 178 Byte XML, davon 34 Byte reine Daten <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> </Vorlesung>
XML in 10 Punkten 5. XML ist eine Familie von Techniken: XML Überbegriff für eine Reihe von Techniken Beispielsweise: XLink: realisiert Verlinkung zwischen XML-Dokumenten XPointer: Eindeutige Beschreibung der Position von Elementen innerhalb eines XML-Dokumentes XSL: Stylesheets zur Darstellung von XML DOM Document Object Model Modell des XML Dokumentes Datenstruktur DOM - Document Object Model: Modell des XML-Dokumentes, Datenstruktur zum Zugriff auf Dokument(teile)
XML in 10 Punkten 6. XML ist neu, aber nicht so neu: entwickelt seit 1996, Wurzeln aber SGML, 1969 9 Seit 1998 W3C Standard Seit 1990 Entwicklung von HTML Erfahrungen Basis für XML Das Beste aussgml
XML in 10 Punkten 18 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 Dateiformaten entwickelt, die auch im Web eingesetzt wurden Beispiel: i SVG Wirrwarr von Standards XML SGML xhtml HTML
xhtml 19 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 <p>das ist ein Absatz</p> <br /> <br /> Weitere Spezifikationen sind jetzt Pflicht (Dokumenttyp,...)
XML in 10 Punkten 20 8. XML ist modular: 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 9. XML ist die Basis für RDF und das Semantic Web: Semantic Web: Netz von Sinnzusammenhängen Vorraussetzung: Beschreibung von Ressourcen: RDF XML i li f i l f d h ll bhä i d 10. XML ist lizenzfrei, plattform- und herstellerunabhängig, und gut unterstützt
Whl Wohlgeformtheit hi 21 Zu jedem Start-Tag existiert genau ein Ende-Tag. <Titel>Grundkurs Informatik</Titel> 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. l
XML Beispiel i 22 <?xml version="1.0" encoding="iso-8859-15" standalone="yes"?> <Vorlesung> <Titel>Grundkurs Informatik</Titel> <Thema>XML</Thema> <Studiengang>KWL</Studiengang> <Pflichtfach /> </Vorlesung>
Whl Wohlgeformtheit hi 23 Alle Attributwerte sind idi in einfachen if 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
Gültigkeit i 24 Wichtig für Datenaustausch Anforderungen an Gültigkeit eines Dokumentes: 1. Definition des Dokumentaufbaus mittels Grammatik (Document Type Definition DTD, oder XML-Schema), oder enthält die Deklaration standalone="yes" 2. Dokument ist wohlgeformt
DTD Document Typ Definition i i 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 erlaubt die Überprüfung von Dokumenten auf Gültigkeit legt fest, was Anwendungen erwarten können
XML Medienunabhängig XML stellt Basis für die Umwandlung in verschiedene Dokumentformate dar XML HTML xhtml PDF
Anwendungen für XML Anzeigen: Browser Opera, Firefox, InternetExplorer Erzeugen, Verändern: Editor jeder Texteditor, jedit, PsPad Lesen: Parser Verarbeiten: XML-Processor
XML-Sprachen/XML-Familie WH: XML definiert regeln für die Entwicklung von Markup-Sprachen Beispiele: Graphik: SVG, X3D Text: DocBook-XML, OpenDocument (ODF), xhtml Webservices: RSS-Feeds, SOAP Semantic Web: RDF, OWL, TopicMaps
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>
XML-Sprachen: MathML - Beispiel ax 2 +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"> /M th/dtd/ th th <math xmlns="http://www.w3.org/1998/math/mathml"> <mrow> <mi>a</mi> <mo> <!-- ⁢ ibl --></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>
XML-Sprachen: DocBook Definiert Vokabular zur Beschreibung von textuellen Dokumenten El Erlaubt Strukturierung von Texten <book id="einfaches_buch"> <title>ein sehr einfaches Buch</title> <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.unimagdeburg.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