ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Metadaten und XML Vortragsunterlagen zur Vortragsreihe MSc Strategisches Informationsmanagement & MSc Bibliotheks- und Informationsmanagement an der Donauuniversität Krems
139
Embed
ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Metadaten und XMLMetadaten und XML
Vortragsunterlagen zur Vortragsreihe MSc Strategisches Informationsmanagement & MSc Bibliotheks- und Informationsmanagementan der Donauuniversität Krems
2
AgendaAgenda
Metadaten und Der XML-StandardEinführung und Beschreibung
XML-DTD-SchemaDie Extensible Markup Language im Detail
XSL TransformationenEinsatz von Transformation auf Basis von XML Documenten
XML Standardsam Beispiel RSS und SVG
Das Semantic Web– Topic Maps und Vector Space Model
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Web Service EngineeringWeb Service Engineering
Konzepte und Technologien => XML
4
Der XML-StandardDer XML-Standard
Was ist XML, ein kurzer Überblick
– Ziele & Visionen
– Geschichtliches und Verwandtes
– XML-Strukturen
– XML-Grammatik
– XML-Document Type Definitions
– XML/DTD-Beispiel
5
Ziele und VisionenZiele und Visionen
– XML/SGML
– XML - Entwurfsziele
– Das Paket um XML
– Funktionen von XML - Smart Data
– Beispiel in HTML und XMLAnhand eines Shopping Guides
– XML - Visionen
– XML - Technischer Stand
– Zukunft von XML/SGML
6
XML/SGMLXML/SGML
SGML – Standard Generalised Markup Language:
– ursprünglich für den (high-end) publishing Bereich
eingeführt (70er)
– zu allgemein
– Komplexität überfordert Browser
HTML ist eine DTD in SGML
XML Vereinfachung von SGML (Teilmenge)
Strukturierte Datenspeicherung
Strukturierter Datenaustausch
7
XML - Entwurfsziele XML - Entwurfsziele
XML ist ein Dokumentformat-Beschreibungsstandard
Einfache Nutzung im Internet
Viele Anwendungen ermöglichen
Kompatibilität zu SGML
Einfache Erstellung von Programmen
Unterschiedliche Darstellungen auf ein Minimum reduzieren
8
XML - Entwurfsziele XML - Entwurfsziele
Gute Lesbarkeit
Schnelles Design
Präziser und formaler Entwurf
Leichte Dokumentenerstellung
Platzsparende Darstellung ist von untergeordneter Bedeutung
9
Das Paket um XMLDas Paket um XML
XML
DTD / Schema
DOM
XPath
XSL / XSLT
CSS
Namespace
XLink auch XLL
XPointer
XQL
Web Services
10
XML...mehr unter W3CXML...mehr unter W3C
11
Funktionen von XML – „Smart Data“Funktionen von XML – „Smart Data“
Beschreibung von Metadaten (Daten über die Daten)
– auf Basis der Struktur
– auf Basis des Inhalts
– auf Basis der Präsentation (Rendering)
– auf Basis der Verknüpfungen
Transformation von Daten unterschiedlicher DTDs
Metasprache (Beschreibung anderer Formate)
Datenaustauschformat
12
Beispiel in HTML und XMLBeispiel in HTML und XMLAnhand eines Shopping GuidesAnhand eines Shopping Guides
– PICS erlaubt es, Dokumente mit Attributen (engl.: labels) zu versehen.
– Ursprüngliche Intention: Eltern und Lehrern ein Instrument bereitzustellen, das es ermöglicht zu kontrollieren, auf welche Information Jugendliche zugreifen können.
– Die Mechanismen für die Vergabe und Verwaltung von PICS-Attributen können auch für andere Zwecke eingesetzt werden.
– Letzte Version: W3C-Empfehlung PICS Version 1.1 (Okt. 96)
das Dokument-Element enthält alle Daten beliebige Anzahl verschachtelter
Unterelemente
begrenzt durch Start- und End-Tags, dazwischen Inhalt
Inhalt kann sein:– Elemente, Zeichendaten, Kommentare,...
kein Inhalt => leeres Element
41
Start-TagStart-Tag
<name [attribut=wert [attr...]]>
kennzeichnet Anfang eines Elements Elementtyp durch Namen identifiziert (generic identifier) evtl. mehrere Attributspezifikationen
z.B.: <h1 align="center">
42
End-TagEnd-Tag
</name>
Name im End-Tag muss gleich dem im Start-Tag sein Elemente müssen korrekt verschachtelt sein
z.B.:
<body> <h1 align="center">Hallo</h1> </body>
43
Leeres-Element-TagLeeres-Element-Tag
<name [attribut=wert [attr...]]/>'
z.B.:
<img src="hallo.jpg"/>
auch möglich:
<img src="hallo.jpg"></img>
44
ZusammenfassungZusammenfassung
XML Dokument
Prolog
XML-Deklaration
<?xml version=... ?>
Dokumenttyp-Deklaration
<!DOCTYPE ... >
Element
<name [attr=wert...]> *Inhalt* *Elemente* </name>
<name [attr=wert...]/>
45
physikalische Strukturphysikalische Struktur
besteht aus dem gesamten Inhalt des Dokuments unterteilt diesen in Entities (Speichereinheiten)
– Dokument-Entity ist Anlaufstelle für Parser– analysierte / nicht analysierte Entities– interne / externe Entities
werden in der DTD deklariert auch durch Entity-Referenzen eingebunden
46
LiteraturLiteratur
XML 1.0 W3C Recommendation 10-02-98 (Tim Bray, Jean Paoli, C. M. Sperberg-McQueen)– http://www.w3.org/TR/1998/REC-xml-19980210.html– http://www.mintert.com/xml/trans/REC-xml-19980210-de.
Syntax:<!DOCTYPE name SYSTEM "externeDTD" [interneDTD]>
Beispiel:<!DOCTYPE fh-eisenstadt SYSTEM "info.dtd" [ <!ELEMENT ...> <!ATTLIST ...>]>
DTDs enthalten Definitionen von Elementen und Attributen ...
DTD-SyntaxDTD-Syntax
56
= für das Dokument gültige "Befehle"
• Elemente bestehen aus einem Start-Tag und einem End-Tag.• End-Tag muss vorhanden sein• Schachtelungen sind möglich.
Element-Arten• Inhalt besteht nur aus Elementen (="Element-Inhalt")• Inhalt besteht nur aus Daten• Mischform: Inhalt besteht aus Elementen und Daten
Wurzel- oder Dokument-Element:
• muss in jedem XML-Dokument vorhanden sein• muss alle anderen Elemente einschließen (Container)• Wurzelelement = Name der Dokumenttyp-Deklaration
XML-ElementeXML-Elemente
57
<!ELEMENT name ( inhaltsmodell )>
Inhaltsmodell: • Liste von "Unter-Elementen"• können/ müssen innerhalb der Element-Tags verwendet werden• spezielles Unter-Element #PCDATA für Daten-Inhalt
Sonderregeln bei gemischtem Inhalt:• #PCDATA ist immer erstes Unter-Element in der Liste• Unter-Elemente müssen optional sein• Reihenfolge der Unter-Elemente nicht festlegbar
Trennzeichen für Inhaltsmodell: , | + * ? ( )
Elementtyp-DeklarationElementtyp-Deklaration
58
Beispiele
<!ELEMENT kunde (name,adresse, telefon?)>
<!ELEMENT student (mat,(mann|frau)) ANY>
<!ELEMENT autor (name, buecher*)>
<!ELEMENT e (#PCDATA|u1|u2|u3)*>
leeres Element:ist erlaubt, wenn in der Deklaration "EMPTY" hinzugefügt ist
Schachtelung:möglich, wenn Element mit "ANY" deklariert ist
Elementtyp-DeklarationElementtyp-Deklaration
59
Attribut-Vorgaben:
• default-Werte setzen• Attribute als Pflicht- / freiwillige Eingabe deklarieren
allgemeine Syntax:
<!ATTLIST elementnameatt1 schlüsselwort att-
vorgabeatt2 wertliste att-
vorgabe>
Attribute der ElementeAttribute der Elemente
60
Aufzählungs-Typ
• hat kein Schlüsselwort• wird erkannt durch Wertliste• Attribut kann nur einen Wert aus der Liste annehmen• default-Wert in DTD festlegen
Beispiel:...<!ATTLIST buecher
format (A5|A4|A3|B6) "A4">...
AttributtypenAttributtypen
61
Document Typ Definitionen beschreiben die Grammatik des Dokumentes
<!ELEMENT buch (titelseite, kapitel+, index?)><!ELEMENT titelseite (titel, autor)><!ELEMENT titel (#PCDATA)><!ELEMENT kapitel (titel, absatz+)><!ATTLIST kapitel nummer CDATA #REQUIRED><!ELEMENT absatz (#PCDATA)><!ELEMENT index (eintrag+)><!ELEMENT eintrag (phrase, auf_seite+)><!ELEMENT phrase EMPTY><!ATTLIST phrase text CDATA #REQUIRED><!ELEMENT auf_seite EMPTY><!ATTLIST auf_seite nummer NUMBER #REQUIRED>
Beispiel einer XML DTDBeispiel einer XML DTD
62
Valide XML Dokumente und wohlgeformte XML Dokumente<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE buch SYSTEM “C:\buch.dtd”><buch><titelseite><titel>Buch zur LVA Web Service Engineering</titel><autor>Markus Schranz</autor></titelseite><kapitel nummer=“1”><titel>Kapitel 1: Das Internet</titel>… </kapitel><kapitel nummer=“2”>…</kapitel><index>… </index></buch>
Beispiel einer XML-Anwendung (Datei)Beispiel einer XML-Anwendung (Datei)
63
Aufgabe 2Aufgabe 2
Erstellung einer DTD
Versuchen Sie, für die zuletzt erstellte XML-Datei
einen Dokumenttyp zu definieren
Vergleichen wir dazu ein XML Schema
Einsatz von XML Spy
DTD aus Basisdokument
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Web Service EngineeringWeb Service Engineering
Der XML Standard: Workshop – Die Extensible Stylesheet Language
65
XSL - informellXSL - informell
EXtensible Stylsheet Languange – oder besser: Die Stylesheet Language für XML
Warum XSL?
Einsatzmöglichkeiten
vorgesehene Anwendungsweise
XML XML HTML mit XSL
Darstellung im Browser
66
Was ist XSL?Was ist XSL?
XSL ist eine Beschreibung dessen, wie ein Prozessor ein XML-Dokument von einer Struktur in eine andere zu transformieren hat
Eine mögliche Transformation ist es, das XML-Dokument von einer semantischen Struktur in eine Anzeigestruktur zu überführen.
z.B.: ein XML-Dokument in ein HTML-Dokument
aber ebenso auch XML XML
67
Warum XSL ?Warum XSL ?
Durch die Trennung von Daten und Formatierung ist es notwendig ein Werkzeug zur Verfügung zu haben, mit dessen Hilfe man in der Lage ist, die Daten umzustrukturieren.
Ein Spezialfall der Umstrukturierung wäre die Darstellung der Daten in Form der Anzeigestruktur.
Dabei dienen die XSL-Vorgaben als Vorlage, Muster, für die Struktur des Ausgabedokuments.
<xsl:template xmlns:xsl=”uri:xsl”> <HTML> <HEAD> <TITLE>XSL</TITLE> </HEAD> <BODY> <B>Dies ist ein Test einer XSL-Vorlage.</B> </BODY> </HTML></xsl:template>
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Web Service EngineeringWeb Service Engineering
Der XML Standard: Workshop – XSL Transformationen
79
XSL Transformation XSL Transformation
Kurzeinführung
XSL (eXtensible Stylesheet Language) ist eine
XML Sprachapplikation um Style Sheets
auszudrücken
XSL besteht aus 3 Teilen
XSLT,
XPath,
XSL Formatting Objects
80
XSLT XSLT
CSS – Die Style Sheets für HTML Weil HTML vordefinierte Tags verwendet werden
diese wohl verstanden und Browser wissen, wie die markierten Texte darzustellen sind. Erweiterungen der Darstellung durch Style Sheets (Absätze in Grün, Tabellenformatierungen, etc.) in CSS sind einfach zu erstellen und einfach verständlich
XSL – Style Sheets für XML Weil XML keine vordefinierten Tags verwendet,
weiß weder der Mensch noch die Maschine, wie ein XML Dokument darzustellen ist. Dazu gibt es XSL Style Sheets, die eine Transformation festlegen XSL Transformationen bestimmen die Regeln der Überführung von einem XML Dokument in ein anderes.
81
XSLT XSLT
XSL Transformationen
XSLT kann neue Elemente hinzufügen oder Elemente
entfernen
Es kann das Dokument neu arrangieren oder sortieren
XSLT kann Elemente prüfen und anhand der
Bedingungen feststellen, ob diese im Ergebnis wieder
angezeigt werden sollen, und und und...
82
XSLT XSLT
Kurzeinführung
Mittels Xpath werden Teile des Original-XML
Dokuments identifiziert (match)
Ein identifiziertes Objekt wird gemäß (in XSL
definierten) Templates transformiert
83
XSLT XSLT
Kurzeinführung
xsl style sheets werden (in XML) mit den root-
Tags
xsl:stylesheet oder xsl:transform deklariert
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transfor
m">
Beispiel songs.xml bzw. songs.xsl in XML Spy,
jetzt parallel im XMLSpy erstellen
84
XSLT XSLT
Kurzeinführung
The <xsl:template> Element enthält Regeln und
Anweisungen die auszuführen sind, wenn ein
bestimmter Node identifiziert wird
<xsl:template match="/">
<html> <body>
<h2>My CD Collection</h2>
<table border="1"> ...
85
XSLT XSLT
Kurzeinführung
das <xsl:value-of> Element wird dazu
verwendet, den Inhalt eines identifizierten
Elementes in das Ergebnis aufzunehmen
... <td><xsl:value-of
select="catalog/cd/title"/></td> ...
86
XSLT XSLT
Kurzeinführung
das <xsl:for-each> Element erlaubt eine
schleifenweise Behandlung aller Nodes, die durch das
XPath-Muster identifiziert wurden
Beispiel songs.xsl
Filtern des Ergebnisses durch XPath-Einschränkungen
10 Minuten überlegen und ausführen, wie das XML 10 Minuten überlegen und ausführen, wie das XML in ein geeignetes HTML Format übertragen werden in ein geeignetes HTML Format übertragen werden kannkann
10 Minuten überlegen und ausführen, wie das XML 10 Minuten überlegen und ausführen, wie das XML in ein geeignetes HTML Format übertragen werden in ein geeignetes HTML Format übertragen werden kannkann
92
Beispiel XML – songs catalogBeispiel XML – songs catalog
SVG 1.0 ist eine W3C recommendation seit September 2001
SVG 1.1 ist eine W3C Recommendation seit Januar 2003
105
Scalable Vector GraphicsScalable Vector Graphics
svg x, ycontainer for all graphic object: x,y coordinates within
the Web page rect x,y, width, height
a rectangular area, with rx, ry rounded corners circle cx, cy, r
cx,cy coordinates for centre point, r: radius ellipse cx, cy, rx,ry
cx,cy for centre point; ry,rx radius for both axis line x1,x2,y1,y2
x1,y1 start point, x2,y2 end point
106
Scalable Vector GraphicsScalable Vector Graphics
Wird nicht direkt im IE or Netscape unterstützt Trotzdem gibt es Unterstützung in vielen
Software-Tools:– Export from Graphic programs:
Corel Draw 10 Adobe Illustrator
– SVG2PDF program by Digital Applications, Inc.– SVG Toolkit by CSIRO– Jakaroo– SVG in Mozilla (started in late 1999)– UNIX/LINUX based applications– Adobe Browser Plugin (ab Mitte 2000)
HotSausage SMIL Composer SuperTool, LP Studio , Oratrix Grins, RealSlideshow 2.0 by RealNetworks, TAG Editor 2.0 - G2 release by Digital Renaissance , VEON authoring tool, ...
SMIL Players Apple QuickTime 4.1, Compaq HPAS ,
Helio Barbizon, Microsoft Player Internet Explorer 5.5 Preview (supports selected modules of SMIL Boston draft) , NIST S2M2 Player, Oratrix Grins, Productivity Works L p player, RealNetworks, Realplayer 7
MathML ist eine Auszeichnungssprache, die speziell für mathematische Ausdrücke gedacht ist. Folgendes Beispiel soll verdeutlichen, wie man mit MathML mathematische Formeln darstellen kann. Als Beispiel wird die Formel x2+4x+2=0 in MathML dargestellt:
Das Prinzip, das hinter MathML steckt, ist aus dem Beispiel leicht ersichtlich. Operatoren werden durch das mo-Tag, Zahlen durch das mn-Tag und Variablen durch das mi-Tag gekennzeichnet. Zusäztlich gibt es noch Tags wie mrow und msup die die Beziehung der einzelnen Terme zueinander angeben. Im Beispiel ist außerdem die Entityreferenz InvisibleTimes zu sehen. Dadurch, daß das Multiplikationszeichen als Entity definiert ist, läßt es sich leicht austauschen, je nachdem ob es als Punkt oder