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: &lt; 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>&#x2062;<!-# 2062 !
&InvisibleTimes;
I i ibl Ti
--></mo>
/
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>b</mi>
<mo>&#x2062;<!-- &InvisibleTimes; --></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

Documents pareils