java und xml programmierpraktikum n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
JAVA und XML Programmierpraktikum PowerPoint Presentation
Download Presentation
JAVA und XML Programmierpraktikum

Loading in 2 Seconds...

play fullscreen
1 / 26

JAVA und XML Programmierpraktikum - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

JAVA und XML Programmierpraktikum. XML 1.0 / Namespaces Von Markus Lucht & Timo Stollenwerk. Inhalt. Einführung (Markus) XML 1.0 (Timo) Namespaces (Markus). Komponenten eines Dokumentes. Ein Dokument besteht aus 3 Teilen: Inhalt (Text, Bilder) Informationen zur (visuellen) Darstellung

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'JAVA und XML Programmierpraktikum' - lacey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
java und xml programmierpraktikum

JAVA und XML Programmierpraktikum

XML 1.0 / Namespaces

Von Markus Lucht &

Timo Stollenwerk

inhalt
Inhalt
  • Einführung (Markus)
  • XML 1.0 (Timo)
  • Namespaces (Markus)
komponenten eines dokumentes
Komponenten eines Dokumentes
  • Ein Dokument besteht aus 3 Teilen:
  • Inhalt (Text, Bilder)
  • Informationen zur (visuellen) Darstellung
  • Struktur des Textes (Aufteilung in Kapitel, Abschnitte ...)
darstellung von dokumenten 1
Darstellung von Dokumenten(1)

Zwei Ansätze zur Dartellung:

  • WYSIWYG (What You See Is What You Get, ca. 1984)
  • Erlaubte erstmals eine identische Darstellung von Text auf Papier und auf dem Bildschirm
  • Die Arbeitsweise orientiert sich fast nur am Layout, an der Formatierung und an der Darstellung des Texts
  • Problem, wenn ein anderes Ausgabemedium als Papier gewählt wird
darstellung von dokumenten 2
Darstellung von Dokumenten(2)
  • generic coding (1967 W. Tunnicliffe)
  • Idee: Struktur und die logischen Informationen bleiben erhalten

generic markup (ende der 60er S. Rice)

  • generic markup konzentriert sich daraufAuszeichnungen in den Text einzubringen, die eine Aussage über die Bedeutung der markierten Textstelle machen
enstehung von gml und sgml
Enstehung von GML und SGML

Weiteres Konzept: der Dokumenttyp

  • der Dokumenttyp beschreibt eine Klasse von Dokumenten, die sich in ihrem strukturellem Aufbau gleichen

Enstehung von GML und SGML

  • Auf den o.g. Ideen entwickelten 1969 C. Goldfarb, E. Mosher und R. Lorie bei IBM die Generalized Markup Language (GML)
  • Erstmals das Konzept eines formal def. Dokumenttyps mit verschachtelter Struktur
  • Dokumente enthalten Informationen über den Text (Meta-Daten)
  • Vorteil: Unabhängigkeit vom Ausgabemedium, da keine Formatierungsanweisungen gespeichert werden
  • 1984 wird SGML (S:Standardized) als ISO-Standard veröffentlicht
xml ist sgml f r das www
XML ist SGML für das WWW
  • Man suchte nach einem Kompromiss zwischen zu viel Komplexität (SGML, was das WWW angeht) und zu wenig Gestaltungsmöglichkeiten (HTML)
  • Lösung: XML (=Extensible Markup Language) 1.Recommendation 1998 durch das W3C
  • XML kann mehr als HTML, da:

(1) man beliebige Elemente verwenden kann (OO hieße das Äquivalent „abstrakte Datentypen“)

(2) XML ist eine Metasprache (Sprachbeschreibungssprache), HTML eine Strukturbeschreibungssprache für Web-Dokumente

  • XML ist als Teilmenge von SGML nicht so komplex
vor und nachteile von xml
Vor- und Nachteile von XML

Vorteile:

  • Offenes Format (XML-Standard ist offen zugänglich)
  • Systemunabhängigkeit (unabhängigkeit von Betriebs-/Computersystem)
  • Medienneutral (unabhängig vom Ausgabeformat)
  • Anpassbar (kein starres Format)

Nachteile:

  • Hoher Initialaufwand
  • Laufende Entwicklung
entwurfsziele 1
Entwurfsziele (1)
  • XML soll sich im Internet auf einfache Weise nutzen lassen
  • XML soll ein breites Spektrum von Anwendungen unterstützen
  • XML soll zu SGML kompatibel sein
  • Es soll einfach sein, Programme zu schreiben, die XML-Dokumente verarbeiten
  • Die Zahl optionaler Merkmale soll minimal sein, idealerweise Null
entwurfsziele 2
Entwurfsziele (2)
  • XML-Dokumente sollen für Menschen lesbar und angemessen verständlich sein
  • Der XML-Entwurf sollte zügig abgefasst sein
  • Der Entwurf von XML soll formal und präzise sein
  • XML-Dokumente sollen leicht zu erstellen sein
  • Knappheit von XML-Markup ist von minimaler Bedeutung
xml als markierungssprache
XML als Markierungssprache
  • XML ist eine Markierungssprache
  • XML dient der Strukturierung und Beschreibung von Daten
  • XML trennt den Inhalt von der Formatierung

<?xml version="1.0"?>

<memo>

<from>Mir</from>

<to>Jemand</to>

<subject>Ein Text</subject>

<body>Hallo!</body>

</memo>

struktur von xml dokumenten
Struktur von XML-Dokumenten

Ein Dokument ist ein XML-Dokument, wenn es wohlgeformt ist, genügt es bestimmten weiteren Beschränkungen, kann es gültig sein.

Wohlgeformt (well formed):

  • Logische Struktur ist korrekt
  • Alle Wohlgeformtheitsbeschränkungen sind erfüllt

Gültig (valid):

  • Passende DTD (Dokumenttyp-Deklaration)
  • Beschränkungen der DTD sind eingehalten
xml als baumstruktur
XML als Baumstruktur

KURSZETTEL

DATUM

KURS

KUERZEL

PLATZ

WERT

wohlgeformtes xml dokument
Wohlgeformtes XML-Dokument

<?xml version="1.0"?>

<!DOCTYPE KURSZETTEL SYSTEM "kurse.dtd">

<KURSZETTEL>

<DATUM VALUE="2.3.2001"/>

<KURS DATUM="HEUTE">

<KUERZEL>DBK</KUERZEL>

<PLATZ>FSE</PLATZ>

<WERT WAEHRUNG="DEM">58,880</WERT>

</KURS>

</KURSZETTEL>

dtd kurse dtd
DTD: Kurse.dtd

<?xml encoding="US-ASCII"?>

<!ELEMENT KURSZETTEL (DATUM?, KURS*)>

<!ELEMENT DATUM EMPTY>

<!ATTLIST DATUM VALUE CDATA #REQUIRED>

<!ELEMENT KURS (KUERZEL, WERT)>

<!ATTLIST KURS DATUM (HEUTE|GESTERN) #IMPLIED>

<!ELEMENT KUERZEL ANY>

<!ELEMENT WERT ANY>

<!ATTLIST WERT WAEHRUNG CDATA #IMPLIED>

<!ENTITY Euro "EUR">

<!ENTITY Mark "DEM">

logische struktur
Logische Struktur
  • Prolog: Spezifikation über den Dokumenttyp
  • XML-Deklaration / Dokumenttyp- Deklaration

<?xml version="1.0"?>

<!DOCTYPE KURSZETTEL SYSTEM "kurse.dtd">

  • Element: eigentlicher Inhalt des Dokuments
  • Das Dokument-Element enthält alle Daten

<KURSZETTEL>...</KURSZETTEL>

  • Beliebige Anzahl verschachtelter Unterelemente

<KUERZEL>DBK</KUERZEL><PLATZ>FSE</PLATZ>

physikalische struktur
Physikalische Struktur
  • Besteht aus dem gesamten Inhalt des Dokumentes
  • Dokument wird in Entities (Speichereinheiten) unterteilt
  • Dokument-Entitie ist die Anlaufstelle für Parser
  • Analysierte / nicht analysierte Daten
namespaces 1
Namespaces(1)

Problem:

Bei XML-Anwendungen kann es durch die Verwendung von Elementen und Attributen (=Markup-Vokabular) zu folgenden Problemen kommen (besonders bei Softwarewiederverwendung):

- Mehrdeutigkeit

- Namenskollisionen

namespaces 2
Namespaces(2)

Lösung:

Dokumentkonstrukte sollten einzigartige Namen haben, deren Geltungsbereich über den des beinhaltenden Dokuments hinausgeht. XML-Namespaces ist ein Mechanismus, der diese Anforderungen erfüllt. Namespaces erreichten die W3C-Recommendation am 14.01.99

deklaration
Deklaration

Namespacedeklarationen bestehen aus einem reservierten Bezeichner : xmlns und seinem Wert, der URI. Die URI ist oft eine URL, welche auf eine DTD verweist.

<x xmlns=„http://www.eineAdresse.de/egal.dtd“

</x>

geltungsbereich f r namespaces 1
Geltungsbereich für Namespaces(1)
  • Namespace-Deklarationen haben einen Geltungsbereich wie Variablendeklarationen in Programmiersprachen.
  • Die Namespace-Deklaration gilt für das Element, in dem sie angegeben ist und für alle Elemente im Inhalt dieses Elements (Kinder-Elemente), es sei denn, sie wird durch eine andere Namespace-Deklaration überschrieben
  • Man unterscheidet zwei Arten: default und qualified
geltungsbereich f r namespaces 2
Geltungsbereich für Namespaces(2)

Default:

Alle unqualifizierten Namen innerhalb des Wirkungsbereichs der Deklaration gehören automatisch zum default-namespace

<Kapitel xmlns=„http://www.irgendeinURI.com/1.dtd>

<Titel groesse =„10“>Namespaces</Title>

<Autor>M.L.</Autor>

<Inhalt>

...

Nun eine Tabelle

<table xmlns=http://www.w3.org/...html40>

<tr>

<td>Hallo</td>

</tr>

</table>

</Inhalt>

</Kapitel>

geltungsbereich f r namespaces 3
Geltungsbereich für Namespaces(3)

Qualified:

Namespaces werden am Anfang eines Dokumentes deklariert und erst bei Gebrauch qualifiziert

<Messungen xmlns=„urn:daten-messungen“

xmlns:units=„urn:daten-units“

xmlns:prop=„urn:daten-props“>

<Lufttemp units:unit=„Celsius“>86</Lufttemp>

<Tank>

<prop:Volumen units:unit=„liter“>

120

</prop:Volumen>

</Tank>

</Messungen>

beispiel qualified namespaces
Beispiel: Qualified Namespaces

Namespace

Namespace

Katalog.dtd

Order.dtd

...

...

<..Buch..>

<..Preis..>

xmlns:Kat:=„Katalog.dtd“

xmlns:Order=„Order.dtd“

<Kat:Buch>

...

Dokument

<Order:Preis>

...

einzigartigkeit von attributen
Einzigartigkeit von Attributen

Es sollte kein Tag geben, das zwei Attribute enthält, die:

(1) identische Namen haben, oder

(2) Qualified Names mit dem gleichen lokalen Namensteil haben und mit Präfixen, die mit Namespacenamen verbunden sind, die Identisch sind (Der voreingestellte Namensraum gilt nicht für Attribute)

literaturangaben
Literaturangaben
  • Extensible Markup Language (XML) 1.0 / Empfehlung des W3C, 10. Februar 1998
  • Die Sprachen des Web: HTML & XHTML Robert Tolksdorf; dpunkt-Verl.,2000
  • Java & XML Brett McLaughlin, O‘Reilly, 2001
  • IX / Magazin für Professionelle Informationstechnik, Juni 2001
  • Seminar „Erweiterung von XML – Namespaces“ / Humboldt-Universität zu Berlin (Becker/Zubow)
  • XML in der Praxis Behme,Mintert, Addison-Wesley