• Keine Ergebnisse gefunden

• • • Von HTML zu XML XML-Übersicht

N/A
N/A
Protected

Academic year: 2022

Aktie "• • • Von HTML zu XML XML-Übersicht"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

1

XML (Puppe) 1

Nutzen von XML (eXtensible Markup Language)

Aufbau von XML-Dokumenten

Definition von Grammatiken: DTD und XML Schema

XML-Nutzung: Parser und Stylesheets

• mit schwarz-roter Linie aus: Vorlesung von Prof. Fischer (TU Braunschweig): http://www.ibr.cs.tu-bs.de/lehre/ss02/web/

• Dort auch (Kap. 8) ausführliche Darstellung des Stoffes

XML-Übersicht

XML (Puppe) 2

Von HTML zu XML

Beschränkungen von HTML

gut für darstellungsorientierte Elemente (z.B. <I> .. </I>)

schlecht für inhaltsorientierte Tags (z.B. <ADRESS> ..)

HTML nicht wirklich inhaltsorientiert ausbaubar

Versuch in HTML-4-Standard, z.B. für <PERSON>

aber: Wünsche bzgl. Umfang und Granularität zu heterogen

• Umfang: z.B. für Geschäftsanwendungen spezielle Tags nötig

• Granularität: z.B. bei <PERSON>: Vornamen? (wie viele?, Intials?), Nachname (auch Geburtsname?), Titel?, Anrede?

XML erlaubt die Definition beliebiger inhaltsorientierter Tags und ist daher logische Ergänzung zu HTML

HTML: wie stelle ich einen Text da?

XML: Was ist die Bedeutung eines Textes?

(2)

2

XML (Puppe) 3

Geschichte von XML

1996 wurde XML als Diskussionsvorschlag verabschiedet.

1998 wurde XML als Standard vom W3-Konsortium in der Version 1.0 beschlossen.

XML ist eine Teilmenge von SGML; das WWW und HTML hatten auf die Entstehung von XML einen großen Einfluss.

1997

1992

1960 1986

XML

HTML

SGML

WWW

Internet Markup

Generalized

XML (Puppe) 4

Trennung von Inhalt, Struktur und Layout: verschiedene Präsentationen (z.B. Webauftritte, Broschüren, Preiskataloge usw.) aus derselben Datenquelle

¾Single Source Prinzip: write once, read everytime

¾Content Management Systeme

Automatische Extraktion von Inhalten: Daten werden nicht nur für Menschen präsentiert (wie in HTML) sondern können auch von Programmen weiterverarbeitet werden.

¾(B2B) Business to Business Applications

¾Informationsagenten im Netz (z.B. Preisvergleiche)

Nutzen von XML

(3)

3

XML (Puppe) 5

Eigenschaften von XML

Markierungssprache (Auszeichnungssprache)

Meta-Markierungssprache

keine festen Marken

Sprachgenerator

Syntax überprüfbar, XML Parser

wohlgeformt

gültig

Markierung von Inhalt gemäß Struktur, nicht Darstellung

Ausnahme XSL-FO

allgemeines textuelles Datenaustauschformat

™

XML ist keine Programmiersprache oder Datenbank

XML (Puppe) 6

type

(4)

4

XML (Puppe) 7

Bestandteile von XML

Vorspann:

Version: z.B. <?xml version = "1.0">

DTD: Verweis auf Grammatik: <!DOCTYPE …>

(Verarbeitungsvorschrift)

Elemente (Tags):z.B. <offer>, <store>, <book> usw.

ähnlich wie in HTML, aber selbstdefiniert

Attribute: z.B. bei <price>: type = "retail"

ähnlich wie in HTML, aber selbstdefiniert

Entitäten:(nicht im Beispiel vorhanden)

zur Wiederverwendung und Modularisierung von Texten

XML (Puppe) 8

(5)

5

XML (Puppe) 9

XML (Puppe) 10

(6)

6

XML (Puppe) 11

XML (Puppe) 12

(7)

7

XML (Puppe) 13

XML (Puppe) 14

(8)

8

XML (Puppe) 15

Definition einer DTD

Formulierung der Terminale:

Elemente: <!ELEMENT Name Wert>

Name: nur Buchstaben, Ziffern und "." "-" "_" sind erlaubt;

Groß- / Kleinschreibung relevant; darf nicht mit "xml" beginnen Wert: (#PCDATA) | ANY | EMPTY | Elemente | (#PCDATA | Elemente)*>

Formulierung der Regeln für Elemente (a, b, c, … = Elemente):

- Gruppierung: (a b) oder (a b c)

- Alternative: a | b oder a | b | c

- Sequenz: a, b oder a, b ,c

- Wiederholung 0 .. n: a *

- Wiederholung 1 .. n: a +

- Wiederholung 0 .. 1: a ?

Attribute: <!ATTLIST Elementname Attributliste>

Elementname: Name eines definierten Elementes Attributliste: Name Typ Bedeutung

Typ: CDATA | ID | IDREF | IDREFS | Entity | … | ( (Name | Name | … )* ) Bedeutung: #IMPLIED | #REQUIRED | Name | #FIXED Name

Entitäten: <!entity "kuerzel" "Ersetzungstext"> |

<!entity "kuerzel" system "Verweis">

XML (Puppe) 16

Erlaubte Typen bei Attributen (meist "CDATA")

(9)

9

XML (Puppe) 17

Bedeutung bei Attributen

XML (Puppe) 18

Typen von Elementen

(10)

10

XML (Puppe) 19

(nachname, vorname)

XML (Puppe) 20

15

(11)

11

XML (Puppe) 21

XML (Puppe) 22

(12)

12

XML (Puppe) 23

• Jedes XML Schema ist selbst ein XML-Dokument (im Gegensatz zu DTD keine spezielle Syntax mit speziellen Verarbeitungswerkzeugen erforderlich)

• Auch komplexe Integritätsbedingungen formulierbar.

• XML Schema enthält vordefinierte und eigendefinierbare Datentypen, wodurch Typprüfung möglich wird.

• Bei Datentypen werden Vererbung und Substitution unterstützt.

• Nullwerte sind wie bei Referenzen und in Datenbanken darstellbar.

• Modularisieren & Wiederverwenden von XML Schemata ist möglich

• Benennungskonflikte können durch Verwendung von XML- Namensräumen vermieden werden.

Vorteile von XML-Schemata

XML (Puppe) 24

Beispiel: XML-Dokument für ein Buch

<?xml version="1.0" encoding="UTF-8"?>

<book isbn="0836217462">

<title> Being a Dog Is a Full-Time Job </title>

<author>Charles M. Schulz</author>

<character>

<name>Snoopy</name>

<friend-of>Peppermint Patty</friend-of>

<since>1950-10-04</since>

<qualification> extroverted beagle </qualification>

</character>

<character>

<name>Peppermint Patty</name>

<since>1966-08-22</since>

<qualification>bold, brash and tomboyish</qualification>

</character>

</book>

(13)

13

XML (Puppe) 25

Definition der Struktur mit XML-Schema

1. Öffnung eines xs-Schema Elementes:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

.../...

</xs:schema>

2. Definitionsstruktur der Elemente:

<xs:element name="book">

<xs:complexType>

<xs:sequence>

.../...

</xs:sequence>

.../...

</xs:complexType>

</xs:element>

Ein Buch ist ein "complexType", da es Attribute und andere Elemente enthält (Alternative: "simpleType" für Strings). Die Nachfolger werden durch ein "se- quence"-Element zusammengefasst (andere Kompositoren: "choice" und "all")

XML (Puppe) 26

Definition der Elemente

3. Titel und Autor sind einfache Typen:

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

4. Character hat eine Kardinalität (0 .. ∞) und ist komplex:

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

.../...

</xs:sequence>

</xs:complexType>

</xs:element>

5. Elemente von Character:

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string"

minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

(14)

14

XML (Puppe) 27

Definition des Attributes

6. Attribute werden immer am Ende definiert, hier die ISBN zum Buch:

<xs:attribute name="isbn" type="xs:string"/>

XML (Puppe) 28

Die komplette Definition des Beispiels:

<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

(15)

15

XML (Puppe) 29

2. Beispiel für XML-Schema

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<element name="paper" type="papertype" />

<xsd:complextype name="papertype">

<xsd:sequence>

<xsd:element name="autor" type="xsd:string"/>

<xsd:element name="titel" type="xsd:string"/>

<xsd:element name="datum" type="xsd:gYearMonth"/>

<xsd:element name="link" type="xsd:anyURI minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="typ" type="art"/>

</xsd:complextype>

XML (Puppe) 30

2. Beispiel für XML-Schema (2)

<xsd:simpleType name="art">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="proc"/>

<xsd:enumeration value="report"/>

<xsd:enumeration value="journal"/>

<!-- and so on ... -->

</xsd:restriction>

</xsd:simpleType>

(16)

16

XML (Puppe) 31

(1)

XML (Puppe) 32

(17)

17

XML (Puppe) 33

(2)

XML (Puppe) 34

(18)

18

XML (Puppe) 35

XSLT

XML Applikation :Transformation von XML Dokumenten

Umwandeln des Input-Baums in Output-Baum

Durchlauf Preorder

Anwenden von Templates (Filtern) auf ausgewählte Knoten

Datenstrombasierte (funktionale) Programmierung

Input wohlgeformt output nicht notwendig

XML (Puppe) 36

(19)

19

XML (Puppe) 37

XML (Puppe) 38

(20)

20

XML (Puppe) 39

XML (Puppe) 40

(21)

21

XML (Puppe) 41

XML (Puppe) 42

(22)

22

XML (Puppe) 43

XML Anwendungen

XML XPath

XHTML XSL-FO XSLT XPointer XLink

CSS

DSSSL

CSS: Cascading Style Sheets (einfache Formatierung) DSSSL: Document Style Semantics & Specification

Language(komplexe Formatierung; SGML-basiert) XLink: Einbinden von externem XML Text

XHTML: XML-kompatibles HTML

XSL-FO: formatted objects layout Beschreibung

XSLT: eXtensible Stylesheet Language Transformation Sprache zur Beschreibung von Regeln zur

Transformation zwischen XML Dokumenten XPointer: Verweis auf XML Dokumente

XPath: Verweis auf Elemente in einem XML Dokument

XML (Puppe) 44

Kooperation

XML - Inhalt - Element

DTD - Struktur - Elementdef

*

1 wohlgeformt

gültig

stylesheet - Darstellung

css dsssl xsl-fo

darstellen

XSLT - Transform

(23)

23

XML (Puppe) 45

Ablauf

PDF Text

XHTML Text XML Parser

XML Text DTD

DOM Format TemplatesXSLT

XML Text

HTML-Browser XSL-FO

Objekte FO Prozessor XSLT Prozessor

XML (Puppe) 46

WWW Links zu XML

Spezifikationen: http://www.w3.org/

Kommerziell: http://www.xml.org/

e-Business: http://www.ebxml.org/

public domain tools:

http://www.garshol.priv.no/download/xmltools/

(24)

24

XML (Puppe) 47

Referenzen

ÄHNLICHE DOKUMENTE

Damit die EDIFACT-Daten von der Anwendung des Kommunikationspartners (Unternehmen B) ebenfalls automatisch weiterverarbeitet werden können , muss auch bei ihm ein EDI System

Wird von einem Datensatz nur die Identifikationsnummer gespeichert, ist dies sehr ressourcensparend, allerdings ist dann der Einsatz der Datenbank nutz- los, da ein Zugriff auf

Durch die Angabe von margin oder padding ohne Zusatz von top, right, bottom oder left können die Abstände für alle vier Positionen festgelegt werden.. Eine Angabe: für alle

 Ist in die XML-Datei eine XSL-Datei eingebunden, wird diese auch ausgeführt, sodass man das transformierte Dokument sieht. HTTP und Darstellung

Zu HTML Tags werden definierte Attribute für Darstellungseigenschaften gesetzt. • CSS-Datei getrennt von

ƒ Beachte: Von Browsern wird White Space allerdings nicht angezeigt:.

Element Node: price NodeList Text Node: 11.95 NodeList. Element

• Sobald der Parser eine syntaktische Einheit analysiert hat, benachrichtigt er die Anwendung und übergibt die entsprechende Analyse.. • Beachte: „Push” bezieht sich wiederum