+ All Categories
Home > Documents > ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

Date post: 06-Apr-2015
Category:
Upload: gereon-geib
View: 112 times
Download: 1 times
Share this document with a friend
34
ADAT ©2004 Dipl. - Ing. Walter Sabin Seite: 1 Version 1.0a XML • EXTENSIBLE MARKUP LANGUAGE
Transcript
Page 1: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 1 Version 1.0a

XML

• EXTENSIBLE MARKUP LANGUAGE

Page 2: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 2 Version 1.0a

XML - HTML

• Die statische Bibliothek des Web• Wandlung zu dynamischen Inhalten

– Nicht einfach aus dem Regal zu nehmen– Generiert aus Informationen des

jeweiligen Webservers zum Zeitpunkt des Aufrufes• Lokale Datenbanken• Firmenweite Datenbanken• Andere Webseiten

Page 3: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 3 Version 1.0a

XML - HTML

• Geschwister beide basierend auf SGML (Standard Gerneral Markup Language)

• Dynamische Information wird häufig noch bearbeitet– Analysiert– Sortiert– Formatiert– Personalisiert

• Web Seiten werden zu Webservices• Dafür wurde XML geschaffen

Page 4: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 4 Version 1.0a

XML - HTML

– HTML• <p>Acer Aspire 1812

<br> Computer 2000€ 1.830

– In XML• <product>

<model>Acer Aspire 1812</model><haendler>Computer 2000</haendler><preis>€ 1.830</preis>

– Beides könnte im Browser gleich aussehen

Page 5: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 5 Version 1.0a

XML - HTML

• XML Version hat eingebautes Wissen über die Daten– XML könnte den billigsten Händler

herausfinden ohne die Datenquelle erneut abzufragen

• HTML definiert das Aussehen der Daten - XML die Bedeutung

• XML erlaubt „Custom Tags“, die genau liefern können, was man zur Bearbeitung braucht

Page 6: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 6 Version 1.0a

XML - HTML

• XML - Dokument mit Intelligenz– Z.B. Modell in anderem Font

darstellen

• XML – Datenformat und Dokument zugleich

• „Semantisches Web“

Page 7: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 7 Version 1.0a

XML Basis

• W3C - Empfehlungen fürs Web• SGML• GML - General Markup Language IBM

Spezifikation• XML tut nichts!!! - Nur Sprache zur

Strukturierung von Information• Vokabeln der Sprache müssen vom Benutzer

erfunden werden– Tags sind nicht vordefiniert

• XML ist reiner Text mit Struktur• XML werden nicht!! wie HTML Dokumente

dargestellt

Page 8: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 8 Version 1.0a

XML Basis Fs.

• Anzeige eines Files note.xml im Browser

• Xml hat keine Information wie Daten darzustellen sind

Page 9: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 9 Version 1.0a

XML Basis Fs.

• Diese Informationen müssen über CSS (Cascading style sheet) definiert werden

• Verlinken von CSS mit XML Dokument– <?xml-stylesheet type="text/css"

href=„dateiname.css"?>

• CSS für HTML entwickelt und nicht nicht optimal für XML geeignet– XML hat keine vordefinierten Tags

(z.B.table)– XML hat kein „eingebautes“ Knowhow über

die Darstellung von Tags

Page 10: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 10 Version 1.0a

XML Basis Fs.

• XML – Files könnenn mit jedem Texteditor erstellt werden– UltraEdit, Notepad usw.– Spezieller Editor:

• Altova XMLSpy

• Beispiel:– cd_catalog_ohne_css.xml– cd_catalog.css– cd_catalog.xml

Page 11: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 11 Version 1.0a

XML - XSL

• XSL - eXtensible Stylesheet Language– Eine Verwendungsmöglichkeit:

Umformen des XML Dokuments in HTML– Besteht aus

• XSLT Transformationsregeln• XPath Navigationselemente im XML

Dokument• FO Formatting Objects

Page 12: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 12 Version 1.0a

XML - XSL

• XSL Style Sheet ist selbst ein XML Dokument

• XSL Stylesheet muss verlinkt werden:– <?xml-stylesheet type="text/xsl"

href=„StyleSheetName.xsl"?>

• Beispiel:– cd_catalog_xsl.xml– cd_catalog.xsl

Page 13: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 13 Version 1.0a

XML Elemente

• Unicode– XML verwendet Unicode– Als Hilfe für Parser:

• Angabe der Zeichencodierung z.B.<?xml version="1.0" encoding="UTF-8"?>

– ISO-8859-1– windows-1252– UTF-16

Page 14: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 14 Version 1.0a

XML Logische Struktur

• Hierarchische Strukturierung von Elementen– Buch -> Kapitel -> (Titel, Pragraph, Paragraph, usw)

• Elemente sind die logischen Komponenten eines Dokumentes

• Elemente enthalten entweder wieder Elemente oder "character data"

• Tree-structure• Oberstes Element -> root element oder

document element• Branches• Leaves

Page 15: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 15 Version 1.0a

XML Logische Struktur Fs.

• Elemente können zusätzliche Informationen haben – Attribute

• Attribute beschreiben die Eigenschaften des Elements

• Attribute können auch als Subelemente dargestellt werden (Geschmacksfrage)

Page 16: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 16 Version 1.0a

XML physische EntitiesXML verwendet eine einfache

selbsterklärende Syntax. Beispiel von oben:

– XML Deklaration definiert die XML Version und die Zeichencodierung

– root element: <note>– 4 Subelemente– Ende des root elementes

Page 17: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 17 Version 1.0a

XML Syntax

• Alle Tagx müssen schließende Tags haben

• XML Tags sind case sensitiv• Hierarchisch korrekte Schachtelung

erforderlich• Alle XML Dokumente müssen ein root

Element haben• Subelemente müssen korrekt

geschachtelt werden• Attribute müssen immer mit "quotes"

versehen werden• Leerzeichen werden nicht abgeschnitten

Page 18: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 18 Version 1.0a

XML Syntax Fs.

• Als Zeilenschaltung wird LF verwendet (nicht CR / LF)

• Kommentare werden durch <!-- und --> eingegrenzt

• Bei Nichteinhaltung:– "Not well formed!!!"– keine Fehlertoleranz durch Parser

• Markup: alles zwischen < und >

Page 19: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 19 Version 1.0a

XSLT

• Verwendet XPath um Elemente im Quelldokument zu finden.

• Auf die so gefundenen Texte werden die Transformationen angewendet und ein Ausgabedokument produziert.

• IE 6.0 laut MS 100% kompatibel zur W3C Spezifikation

Page 20: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 20 Version 1.0a

XSLT Stylesheet• Ist ein XML Dokument daher Einleitung durch:

<?xml version="1.0" encoding="ISO-8859-1"?>

• Das Element<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>gibt das Format des Ausgabedokumentes an

• root element: <xsl:stylesheet> oder <xsl:transform>

• vollständige syntax:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Page 21: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 21 Version 1.0a

XSLT Stylesheet Fs.

• Template: Ein Menge von Regeln. Dies Regeln werden werden angewendet, wenn ein "Match" für einen Knoten im XML Dokument gefunden wurde.

• <xsl:template match="/"> – Das <xsl:template> Element wird

verwendet um Templates zu bilden.– Das Match Attribut wird verwendet um

Templates mit Elementen des Ausgangsdokumentes zu verbinden.

– Das Match Attribut ist ein XPath Ausdruck• "/" bedeutet das gesamte Dokument

Page 22: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 22 Version 1.0a

XSLT Stylesheet Fs.

• Das <xsl:value-of> Element wird verwendet, um den Wert eines XML Elementes zu ermitteln und ins Ausgabedokument zu schreiben.– Das Attribut "select=path" gibt den

XPath des gewünschten Xlementes an– <xsl:value-of

select="catalog/cd/title"/> liest den ersten CD Titel des Katalogs

Page 23: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 23 Version 1.0a

XSLT Stylesheet Fs.

• Das <xsl:for-each> Element wird verwendet um jedes Element aus einer Menge von Knoten zu selektieren (Iteration)– Das Attribut "select=path" gibt den XPath

der Knotenmenge an– <xsl:for-each select="catalog/cd">

</xsl:for-each>

• Die HTML Tags dazwischen werden als Text an das Ausgabedokument weitergereicht

Page 24: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 24 Version 1.0a

XSLT Stylesheet Fs.

• Die Ausgabedatensätze können sortiert werden– <xsl:sort select="artist"/>

innerhalb der <xsl:for each> Iteration

• Bedingte Verarbeitung ist mit:<xsl:if test="expression"> möglich– <xsl:if test="price &gt; 10"> ..

</xsl:if>

Page 25: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 25 Version 1.0a

XSLT Stylesheet Fs.

• Mehrfachverzweigungen sind mit:<xsl:choose> <xsl:when test="expression"> ... some output ... </xsl:when> <xsl:otherwise> ... some output .... </xsl:otherwise> </xsl:choose>

Page 26: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 26 Version 1.0a

XSLT Stylesheet Fs.• Beispiel für Mehrfachverzweigung:

<xsl:choose> <xsl:when test="price &gt; 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td> <xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose>

Page 27: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 27 Version 1.0a

XSLT Stylesheet Fs.

• <xsl:apply-templates [select=Knoten]/>– arbeitet von der angegebenen Stelle aus

die unteren Ebenen ab– sucht nach einem passenden template– Text wird wie ein eigenes Element mit

dem Namen text() behandelt– <xsl:value-of select="."/>

• gibt den Text aus z.B. bei xsl:template match="text()">

– Beispiel buch.xml

Page 28: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 28 Version 1.0a

XML Syntax

• Documenttype– Menge der zulässigen Elemente

(Wörterbuch oder vocabulary)– Stellen an denen diese Elemente

auftreten können (z.B. Anzahl der Wiederholungen oder keine Fußnote in einer Fußnote)

– Ort der Definition:• DTD Document Type Declaration• XMLSchema andere Syntax

Page 29: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 29 Version 1.0a

DTD - Documenttypedefinition

• Interne ("Inline") oder externe Declaration

• Interne Declaration– Eingeschlossen in Doctype statement

<!DOCTYPE root-element [element-declarations]>

Page 30: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 30 Version 1.0a

DTD - Documenttypedefinition Fs

• Beispiel

• Zeile 2: Dokument von Typ "note"• Zeile 3: Dokument hat 4 Elemente• Zeile 4 - 6 Elemente vom Type #PCDATA

Page 31: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 31 Version 1.0a

DTD - Documenttypedefinition Fs

• "Private" Externe Deklaration– Syntax: <!DOCTYPE root-element SYSTEM "filename">

– XML: note_mit_ext_dtd.xml– DTD: ext_note.dtd

• "Public" Externe Deklaration– Syntax: – <!DOCTYPE root_element PUBLIC "DTD_name"

"DTD_location"• DTD_name: prefix//owner//description//Language

– prefix +, -, ISO

• <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" http://www.w3c.org/TR/REC-html40/loose.dtd

Page 32: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 32 Version 1.0a

DTD - Documenttypedefinition Fs

• DTD benötigt bei Verwendung als Datenaustausch

• Verifizierung ob ein XML Dokument "gültig" ist (auch das eigene)

• Bausteine:– Elemente - wichtigste Bausteine– Attribute Zusatzinformationen zu

Elementen– PCDATA - geparster Text– CDATA - nicht geparster Text

Page 33: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 33 Version 1.0a

DTD - Documenttypedefinition Fs

• Elemente - Element Deklaration– <!ELEMENT elementname Kategorie> oder

• <!ELEMENT br EMPTY>

– <!ELEMENT elementname (elementinhalt)>• <!ELEMENT from (PCDATA)>• <!ELEMENT note (to,from,heading,body)>• + (1-n), * (0-n), ? (0-1) Anzahl des Vorkommens,

| Alternativen– <!ELEMENT note (message+)> – <!ELEMENT note (to,from,header,(message|body))>

Page 34: ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.

ADAT©2004 Dipl. - Ing. Walter Sabin

Seite: 34 Version 1.0a

DTD - Documenttypedefinition Fs

• Attribute - Syntax• <!ATTLIST element-name attribute-name

attribute-type default-value> • <!ATTLIST payment type CDATA "check">

<!ATTLIST contact fax CDATA #IMPLIED> <!ATTLIST person number CDATA #REQUIRED>

• XSL Selektierung von Attributen mit "@" (contact/@fax)

• Validierung nicht automatisch– siehe parsedtd.htm

• Beispiele: tvsch.xml, .xsl, .dtd


Recommended