• Keine Ergebnisse gefunden

Nutzen von XML

N/A
N/A
Protected

Academic year: 2022

Aktie "Nutzen von XML"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(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?

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

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

type

(2)

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

XML (Puppe) 9 XML (Puppe) 10

(3)

XML (Puppe) 13 XML (Puppe) 14

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")

Bedeutung bei Attributen Typen von Elementen

(4)

XML (Puppe) 19 (nachname, vorname)

XML (Puppe) 20

15

XML (Puppe) 21 XML (Puppe) 22

• 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 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>

(5)

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"/>

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>

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>

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>

(6)

XML (Puppe) 31

(1)

XML (Puppe) 32

XML (Puppe) 33

(2)

XML (Puppe) 34

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

(7)

XML (Puppe) 37 XML (Puppe) 38

XML (Puppe) 39 XML (Puppe) 40

(8)

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

XML (Puppe) 45

Ablauf

PDF Text

XHTML Text XML Parser

XML Text DTD

DOM Format XSLT

Templates

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/

Referenzen

ÄHNLICHE DOKUMENTE

Wir helfen Unternehmen und Serviceverantwortlichen dabei, ihre schwierigs- te Aufgabe zu meistern – die Bedürfnisse und Erwartungen der Kunden bestmöglich und profitabel zu

Die erzeugten Mehrwortgruppen, welche durch eine Indexierung mit dem sequencer extrahiert werden, können als Empfehlung angesehen werden, um diese nach einer intel-

Wir gehen davon aus, dass diese Ergebnisse leicht auf andere Ansätze des Single Source Authorings übertragen werden können (unabhängig, ob vom Bildungsbereich ausgehend oder

Um diese Informationen nutzen und automatisieren zu können, entstand eine Vielzahl von Datenbanken, für die publizierte Daten größtenteils manuell aus der Literatur extrahiert

netzes. Bei einer zuverlässigen Extraktion allein in der offenen Landschaft läßt sich somit der Netzcharakter von Straßen nicht optimal nutzen. Unter Verwendung von

Dazu äußert sich der Präsident des Bundesamtes für Sicherheit in der Infor- mationstechnik (BSI), Arne Schönbohm, wie folgt: „Wenn selbst bei so sensiblen

Instead of discussing e-commerce systems, Rayport and Jaworski (2002) describe three categories of B2B activities: B2B sell-side solution, which provides buyers with product

Für den Leitaktionsbereich IH.2 agieren die „National Focai Points ( N F P ) &#34; als Informations- und Beratungsstellen auf