Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

- Warum: Das HTML-Dilemma

Ähnliche Präsentationen


Präsentation zum Thema: "- Warum: Das HTML-Dilemma"—  Präsentation transkript:

1 - Warum: Das HTML-Dilemma
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente (mit DTD) Attribute, Entities, Style Sheets Weitere Konzepte aus dem XML Umfeld

2 HTML - eine Sprache zur Auszeichnung von Dokumenten
Das HTML-Dilemma HTML - eine Sprache zur Auszeichnung von Dokumenten <H1>Überschrift 1</H1> <H2>Überschrift 2</H2> <p>Absatz<p> ...

3 HTML ist ... ...aber leider... Das HTML-Dilemma einfach
Erweiterbarkeit: Semantische Auszeichnung unmöglich Struktur: Komplexere Strukturen nicht abbildbar Validierung: Strukturelle Schwächen

4 Das HTML-Dilemma Erweiterbarkeit: HTML ist ein reines Präsentationsformat. Ein in HTML codiertes Dokument enthält nur Informationen, wie Inhalte darzustellen sind; weitergehende Informationen über die Semantik des Inhalts sind nicht abbildbar. Struktur: In HTML können keine Datenstrukturen jenseits von Formatinformationen beschrieben werden. Der Zusammenhang der Daten untereinander ist nicht beschreibbar. Validierung: HTML fehlen Sprachspezifikationen, die Anwendungen, die HTML-codierte Daten verarbeiten sollen, eine Überprüfung der strukturellen Validität der Daten erlauben, also der Korrektheit der Struktur des Markup in XML-Dokumenten.

5 XML: Das Sprachkonzept
Was ist XML ? Die eXtensible Markup Language XML ist eine textbasierte Meta-Auszeichnungssprache, die die Beschreibung, den Austausch, die Darstellung und die Manipulation von strukturierten Daten erlaubt, so daß diese von einer Vielzahl von Anwendungen genutzt werden können.

6 XML: Das Sprachkonzept
XML basiert genau wie SGML auf der Idee des strukturierten Auszeichnens von Daten

7 XML: Das Sprachkonzept
Tags und Attribute können individuell definiert und benannt werden. Dokumentenstrukturen können in beliebiger Komplexität abgebildet werden. XML-Dokumente können - müssen aber nicht – eine formale Beschreibung ihrer Grammatik enthalten.

8 XML: Das Sprachkonzept
XML besteht also aus Tags <TAG>Inhalt</TAG> ...die ineinander geschachtelt sind <TAG> <NochEinTag>Inhalt</NochEinTag> </TAG> ...und zusammen mit einer XML-Deklaration bereits ein vollständiges XML-Dokument ergeben. Dabei müssen nur wenige „Wohlgeformtheits-Regeln“ beachtet werden. <?xml version="1.0"?>

9 Wohlgeformte Dokumente
Jeder geöffnete Tag muß explizit geschlossen werden Tags ohne Inhalt (<IMG> in HTML) werden in XML als <IMG/> geschrieben oder geschlossen Attribut-Werte in doppelte Anführungszeichen, z. B.: <?xml version=”1.0”?> Das Markup muß, wie bei SGML, streng hierarchisch gegliedert sein Keine Markup-Zeichen (< oder &) im Text, alle Attribute – die für alle Elemente verwendet werden können – müssen Default-Typ CDATA sein. Am Anfang des Dokumentes sollte der Hinweis auf die XML-Version erfolgen: <?xml version=”1.0”?>

10 Wohlgeformtes Dokument
„Bestellung“ <?xml version="1.0" ?> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> <DATUM> </DATUM> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> <BEZEICHNUNG>Monitor</BEZEICHNUNG> <ARTIKELNUMMER>9876</ARTIKELNUMMER> <ANZAHL>1</ANZAHL> </AUFTRAGSPOSITIONEN> </BESTELLUNG>

11 XML Grundlagen XML stellt die Regeln bereit, um Auszeichnungssprachen zu definieren. Es gibt zwei Arten, diese Regeln (also die Grammatik der konkreten Auszeichnungssprache) zu spezifizieren: Sind die grundlegenden Anforderungen an die XML-Syntax erfüllt, spricht man von wohlgeformten (well-formed) Dokumenten Zu XML-Dokumenten kann eine explizite Definition der nötigen/ möglichen Tags und ihrer Struktur gehören. Hierfür verwendet XML eine formale Grammatik, die Document Type Definition (DTD).

12 Gültiges Dokument „Bestellung“
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BESTELLUNG SYSTEM "BESTELLUNG.DTD"> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> <DATUM> </DATUM> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> <BEZEICHNUNG>Monitor</BEZEICHNUNG> <ARTIKELNUMMER>9876</ARTIKELNUMMER> <ANZAHL>1</ANZAHL> </AUFTRAGSPOSITIONEN> </BESTELLUNG>

13 DTD zu gültigem Dokument
„Bestellung“ <!ELEMENT BESTELLUNG (AUFTRAGSKOPF, AUFTRAGSPOSITIONEN)> <!ELEMENT AUFTRAGSKOPF (NAME, DATUM, )> <!ELEMENT NAME (#PCDATA)> <!ELEMENT DATUM (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT AUFTRAGSPOSITIONEN (POSITION)+> <!ELEMENT POSITION (BEZEICHNUNG, ARTIKELNUMMER, ANZAHL)> <!ELEMENT BEZEICHNUNG (#PCDATA)> <!ELEMENT ARTIKELNUMMER (#PCDATA)> <!ELEMENT ANZAHL (#PCDATA)> BESTELLUNG.DTD

14 Deklaration von Elementen in der DTD
Elemente können i. Allg. andere Elemente oder Zeichendaten enthalten <!ELEMENT AUFTRAGSKOPF (NAME, DATUM, )> <!ELEMENT NAME (#PCDATA)> Elemente können als sequentiell, optional etc. definiert werden <!ELEMENT a (b, c?, (d|e)+, f*) <!ELEMENT (adresse, cc*, message, signature?) Elemente können auch gemischten Inhalt haben <!ELEMENT a (#PCDATA | b | c)*>

15 Attribute Alle Elemente können Attribute haben:
<AUFTRAGSKOPF edifact=„UNH D0062.1“ lala=„123“> Die Attribute müssen wie Elemente deklariert werden <!ATTLIST AUFTRAGSKOPF edifact CDATA #REQUIRED> Attribute können optional, obligatorisch oder „fixed“ sein <!ATTLIST BEZEICHNUNG ean CDATA #REQUIRED abbildung CDATA #FIXED „ status (angebot | normal) „normal“>

16 Gültiges XML-Dokument
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BESTELLUNG SYSTEM „bestellung2.dtd“> <BESTELLUNG> <AUFTRAGSKOPF edifact=„UNH D0062.1“> <NAME>Mustermann</NAME> <DATUM> </DATUM> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG ean=„ “ abbildung=„ status=„angebot“>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> </AUFTRAGSPOSITIONEN> </BESTELLUNG>

17 DTD <!ELEMENT BESTELLUNG (AUFTRAGSKOPF, AUFTRAGSPOSITIONEN)>
<!ELEMENT AUFTRAGSKOPF (NAME, VORNAME*,DATUM, +)> <!ATTLIST AUFTRAGSKOPF edifact CDATA #REQUIRED> <!ELEMENT NAME (#PCDATA)> <!ELEMENT VORNAME (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT DATUM (#PCDATA)> <!ELEMENT AUFTRAGSPOSITIONEN (POSITION)+> <!ELEMENT POSITION (BEZEICHNUNG, ARTIKELNUMMER, ANZAHL)> <!ELEMENT BEZEICHNUNG (#PCDATA)> <!ATTLIST BEZEICHNUNG ean CDATA #REQUIRED abbildung CDATA #FIXED „ status (angebot | normal) „normal“> <!ELEMENT ARTIKELNUMMER (#PCDATA)> <!ELEMENT ANZAHL (#PCDATA)>

18 Gültige XML-Dokumente
Ein XML-Dokument ist gültig (valid), wenn es wohlgeformt ist und darüber hinaus den Spezifikationen einer DTD entspricht. Ein wohlgeformtes XML-Dokument kann ein gültiges werden, sofern es die Regeln der DTD erfüllt. Funktional ist eine DTD dem Relationenschema einer Datenbank oder einer IDL analog Programme können mit einer DTD XML-Dokumente auf strukturelle Fehler überprüfen und neue „Instanzen“ dieses Dokument-Typs erstellen.

19 Interne DTDs Die DTD kann auch im Dokument selber enthalten sein:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BESTELLUNG [ <!ELEMENT BESTELLUNG (AUFTRAGSKOPF, AUFTRAGSPOSITIONEN)> <!ELEMENT AUFTRAGSKOPF (NAME, DATUM, )> <!ELEMENT NAME (#PCDATA)> <!ELEMENT DATUM (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT AUFTRAGSPOSITIONEN (POSITION)+> <!ELEMENT POSITION (BEZEICHNUNG, ARTIKELNUMMER, ANZAHL)> <!ELEMENT BEZEICHNUNG (#PCDATA)> <!ELEMENT ARTIKELNUMMER (#PCDATA)> <!ELEMENT ANZAHL (#PCDATA)> ]> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> </BESTELLUNG>

20 Logische und physische Struktur von XML-Dokumenten
Die logische Struktur wird von der Anordnung der Tags im Dokument bestimmt. Ein XML-Dokument kann unabhängig von der logischen Struktur in beliebig viele physische Einheiten zerlegt werden. Hiermit besteht die Möglichkeit, im Netzwerk verteilte XML-Daten in einem XML-Dokument zusammenzutragen. Sog. Entities erlauben hierbei das Verweisen auf externe Daten. Referenzen zu Entities stehen zwischen „&“ und „;“

21 Externe Entity-Referenzen
XML-Dokumente können sich auf verschiedene Dateien verteilen: <!doctype BESTELLUNG [ <!entity Kopf SYSTEM “Kopfteil.xml"> <!entity PositionenPC SYSTEM “Positionen/PC1.xml"> <!entity PositionenMonitor SYSTEM “ ]> <BESTELLUNG> <KUNDENDATEN>&Kopf;</KUNDENDATEN> <AUFTRAG> &PositionenPC; &PositionenMonitor; </AUFTRAG> </ BESTELLUNG >

22 Präsentation von XML-Dokumenten Die Darstellung eines XML-Dokumentes erfolgt mit Hilfe einer Formatvorlage, eines Style Sheet. In diesem Style Sheet wird das Layout des Dokumentes festgelegt. Auf Style Sheets wird durch entsprechende processing instructions verwiesen, z. B. : <?xml-stylesheet href="style1.css"?> Das W3C entwickelt mit (XSL) eigene Style Sheet Sprache für XML Daneben ist die Darstellung mit von HTML bekannten CSS möglich

23 2 Style-Sheet-Sprachen?
Warum 2 Style-Sheet-Sprachen? 1) CSS: Einfach; jedes Element bekommt eine Formatierungsanweisung BESTELLUNG {background-color:blue} NAME, DATUM, {Display:Block; font-size:28pt; font-family:Times,serif} {color:yellow} 2) XSL: Mehr als CSS (Scripting, Transformation), aber komplizierter <xsl:template match=”Artikel-Nr."> <P> <xsl:process-children/> </P> </xsl:template>

24 + = XML mit CSS <?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href="style1.css"?> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> </BESTELLUNG> + = BESTELLUNG { Display: Block; background-color: blue; float: left; padding: 15pt} NAME, DATUM, {Display: Block; font-size: 28pt; font-family: Times, serif} {color:yellow} AUFTRAGSPOSITIONEN {Display: Block; background-color: green; float: left; padding: 12pt} BEZEICHNUNG {font-size: 28pt; font-family: Times, sans-serif}

25 XML Neben den eigentlichen Sprachspezifikationen von XML (seit eine Recommendation), gibt es weitere Initiativen des W3C aus dem XML-Umfeld. Die wichtigsten sind: XLink (Working Draft, ) XPointer (Working Draft, ) XML Namespaces (Recommendation, ) XSL (Working Draft ) DOM (Recommendation, ) RDF (Recommendation, ) XML Schemas (Working Drafts, ) (XML-Data, DCD, SOX, DDML)

26 Linking in XML XML unterstützt ein wesentlich weitergehendes Linking, als es von HTML bekannt ist XLink bietet uni-, bi- und multidirektionale Links XPointer bietet Mechanismen, um (auch ohne Identifier) auf Fragmente von Zieldokumenten zu verweisen: „book.html#section2“


Herunterladen ppt "- Warum: Das HTML-Dilemma"

Ähnliche Präsentationen


Google-Anzeigen