zt univ.-lektor dipl.-ing. dr. markus schranz staatlich befugter und beeideter ingenieurkonsulent...
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
<p>P1400 Laptop<br>Friendly Computer Shop<br>$1438<p>P1400 Laptop<br>Discount Computer Warehouse<br>$1299
<product><model>P1400 Laptop</model><dealer>Friendly Computer Shop</dealer><price>$1438</price>
</product><product>
<model>P1400 Laptop</model><dealer>Discount Computer Warehouse</dealer><price>$1299</price>
</product>
HTML XML
13
XML - VisionenXML - Visionen
Überbrückung von Inkompatibilität
– proprietäre Datenformate
– unterschiedliche Plattformen
– Kommunikation von Applikationen
Mehrfache Verwertung einer Publikation
– Druck
– Datenformat
– Visualisierung
– Sprachausgabe
Internationalisierung der Datenkennzeichnung/-übertragung durch Unicode
14
XML - Technischer StandXML - Technischer Stand
XML über CSS und XSL in der aktuellen Browser Generation
Zahlreiche XML Applikationen in der Entwicklung
z.B. XParse, Msxml-Parser, ...
Einige ‚Standards‘ existieren vorerst nur als Working Drafts.
Viel Marketing, wenig Marktpenetration
Weg von Proprietärität zu Akzeptanz als int. Standard
langwierig
15
Zukunft von XML/SGMLZukunft von XML/SGML
Parallele Existenz von HTML, XML und SGML XML in Netzsystemen
– Datenspeicherung– Datenbeschreibung– Datenaustausch – Spezialapplikationen
HTML – Datendarstellung– Skripting
SGML– Große Dokumentationsprojekte,
ansonsten obsolet
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Web Service EngineeringWeb Service Engineering
XML-Einsatz Metadaten
17
MetadatenMetadaten
Was bedeuten Metadaten
PICS, RDF, RSS
Semantik Web
Bedeutung von XML für Metadaten
18
MetadatenMetadaten
Was sind Metadaten
– Metadaten enthalten Informationen über Daten
– www.w3.org/Metadata/
„Metadaten sind maschinenlesbare Informationen im
Web (Internet). Die W3C Metadata Activity
vereinheitlichte die Interessen verschiedener Gruppen,
Informationen über Daten im Web einheitlich zu
spezifizieren. Die primäre Tätigkeit der W3C Metadata
Activity war die Definition von RDF
– Projekte: PICS, Dsig, DC, RDF,...
19
MetadatenMetadaten
Anwendung von Metadaten
– Kataloge
– Suchmaschinen, Agentensysteme
– Electronic Commerce
– Digitale Signaturen, Privacy, Urheberschutz
– Inhaltsbewertung, Ablaufdaten, etc.
– Recherche-Systeme, Annotationen, Blogs
20
Anwendung von MetadatenAnwendung von Metadaten
PICS
– PICS = Platform for Internet Content Selection
– 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)
Quelle: http://www.w3.org/PICS/
21
Anwendung von MetadatenAnwendung von Metadaten
PICS-Prinzipien
– herstellerunabhängig und -übergreifend
– Vergabe der PICS-Attribute
– durch den Informationsanbieter und
– durch zahlreiche, unabhängige Institutionen
(labeling Büro). Leichte Verwendbarkeit: Eltern und Lehrer sollen leicht
regulieren können, welche Information Ihren Kindern
zugänglich ist.
22
Anwendung von Metadaten: PICSAnwendung von Metadaten: PICS
23
Semantic WebSemantic Web
Die Semantic Web Activity hat die Metadata Activity abgelöst
– Definition: Das Semantic Web ist die Repräsentation von Daten im World
Wide Web in der Form, dass der Information eine wohldefinierte Bedeutung
erhalten um Mensch und Maschine besser kooperieren zu lassen.
– Es basiert auf dem Resource Description Framework (RDF), welches eine
Vielzahl von Applikationen integriert unter Anwendung von XML für die
sprachliche Beschreibung und URIs für die Benennung.
– "The Semantic Web is an extension of the current web in which information
is given well-defined meaning, better enabling computers and people to work
in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila,
The Semantic Web, Scientific American, May 2001
Quelle: http://www.w3.org/2001/sw/
24
Semantic Web Anwendung Semantic Web Anwendung
Kategorien
1. Datenintegration
2. Datenabhängige Agenten
3. Wissens-Management
4. Semantische Indices und Semantische Portals
5. Verwaltung persönlicher Daten
6. Metadaten für Annotationen
7. Metadaten für Beschreibung, Suche, und Auswahl
8. Metadaten für Medien und Inhalte
9. Wissensgenerierung
10.Management von Katalogen und Thesauri
11."Syndication"
25
Semantic Web Anwendung Semantic Web Anwendung
Beispiele aus den Kategorien
– "Syndication" Veröffentlichung von Metadaten über Resourcen
Erlaubt Kategorisierung und Wiederbenutzung von
Material
– RSS ("RDF Site Summary„) Beschreibung eines "Kanals"
Beschreibung einzelner Artikel, Bilder, ...
"RSS reader" erlauben – Abonnement, Anzeige von neuen Nachrichten (via "poll")
– Wiederauferstehung von "Push"
– Weit verbreitet in Blogs
26
XMLXML
Geschichtliches und Verwandtes
Was ist XML?
•Ziele & Visionen
•Geschichtliches und Verwandtes
•XML-Strukturen
•XML-Grammatik
•XML-Document Type Definitions
•XML/DTD-Beispiel
27
Geschichtliches und Verwandheitsgrad Geschichtliches und Verwandheitsgrad mit anderen Markierungssprachenmit anderen Markierungssprachen
Entwicklungsgeschichte der Markierungssprachen- Entstehung von SGML, Entwicklungsprobleme, wichtige Pionierprojekte, Softwareentwicklung
Vergleich wichtiger Markierungssprachen- RTF, HTML, SGML und XML
28
Definition MarkierungssprachenDefinition Markierungssprachen
Eine Markierungssprache dient zum (semantischen) Formatieren von Daten und Texten in z.B.
Textverarbeitungen wie Microsoft Word, Layoutprogrammen wie z.B. QuarkExpress Internetseiten Multimedia-Anwendungen (z.B. CD-ROM-
Präsentationen mit Macromedia Applikationenerstellt)
29
Arten von MarkierungssprachenArten von Markierungssprachen
Es gibt 2 verschiedene Arten von Markierungssprachen
Besondere Formatierungssprachen (z.B. RTF und HTML)– Menge an Tags in Formatierungsmöglichkeiten beschränkt
– Dokument nicht portabel; d.h, kann nur von einem Programm, z.B. Word interpretiert werden
verallgemeinerte Markierungssprachen (z.B. SGML und XML)– Markierung beschreibt Struktur eines Dokumentes
– Definition von wiederverwendbaren Objekten möglich
30
Struktur von SGMLStruktur von SGML
Markierung beschreibt die Struktur des Dokumentes, nicht dessen Formatierung oder Stilcharakteristika
strenge Markierungssyntax=> Code kann von Software und Mensch gelesen werden
Beispiel: e-Mail Struktur<TO>Jodie<FROM>Bill<SUBJECT>XML Seminar<BODY>History und Verwandtheit mit anderen Markierungssprachen
31
Vergleich XML - SGMLVergleich XML - SGML
XML ist Teilmenge von SGML XML ist für das Web optimiert, kann mit HTML
zusammenarbeiten schlanker als SGML
=> SGML Spezifikation umfasst hunderte Seiten, XML 35 Seiten
XML unterstützt Stylesheets: erlaubt Erstellung von Stilen (z.B. Überschrift) ähnlich CSS in HTML 4.0
32
Grafische Beschreibung der Grafische Beschreibung der VerwandtschaftVerwandtschaft
SGML
XHTML
XML
HTML
} verallgemeinert
} besonders
33
Struktur von XML-DokumentenStruktur von XML-Dokumenten
Überblick– Markierungs-/Auszeichnungssprachen– besondere/verallgemeinerte Markierungssprachen– XML als Markierungssprache
Struktur von XML-Dokumenten– Wohlgeformtheit/Gültigkeit– Inhalt– logische Struktur (Prolog, Element,...)– physikalische Struktur
34
XML als MarkierungsspracheXML als Markierungssprache
dient zur Strukturierung und Beschreibung von Daten
trennt den Inhalt von der Formatierung
<?xml version="1.0"?> <memo> <to>Jemand</to> <from>Mir</from> <subject>Ein Text</subject> <body>Hallo!</body> </memo>
keine Aussage über Formatierung
35
XML-DokumenteXML-Dokumente
Ein Dokument ist ein XML-Dokument, wenn es wohlgeformt ist.
Genügt es 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 (bzw. Schema)– Beschränkungen der DTD sind eingehalten
36
WohlgeformtheitsregelnWohlgeformtheitsregeln
Basiskriterien, die sich aus der Grammatik ergeben:• „root“ element trägt Namen des DTD
es gibt nur ein root-Element
• gültige Verschachtelungen der Tags
• leere Elemente müssen abgeschlossen sein
• Attribute müssen in (“) eingeschlossen sein
• Überprüfung durch Prüfprogramme (Validierer) möglich
37
Inhalt von XML-DokumentenInhalt von XML-Dokumenten
XML-Dokumente enthalten Text Text = Folge von Zeichen (Markup / Zeichendaten) Zeichen = atomare Einheit von Text (ISO/IEC 10646) Markup:
– Tags– Entity-Referenzen– ...
Text, der kein Markup ist, bildet die Zeichendaten
38
logische Strukturlogische Struktur
zeigt, wie ein Dokument aufgebaut ist welche Elemente in welcher Reihenfolge
zwei Teile:– Prolog => Spezifikationen über den Dokumenttyp– Element => eigentlicher Inhalt des Dokuments
39
PrologProlog
besteht optional aus:– XML-Deklaration => identifiziert
verwendete XML-Version– Dokumenttyp-Deklaration:
grammatische Regeln für Dokumenttyp intern/extern
z.B.: <?xml version="1.0" ?> <!DOCTYPE gruss [ <!ELEMENT gruss (#PCDATA)> ]> <gruss> Hallo </gruss>
40
ElementElement
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.
html– XML vor kurzem 6 Jahre alt geworden
XML in Action (William J. Pardi, Microsoft Press)
47
XML AufgabeXML Aufgabe
Versuchen Sie, ein strukturiertes XML Dokument auf Basis der Printvorgabe zu erstellen (Buch, Zeitung, Fernsehprogramm)
Definieren Sie daraus einen allgemeinen Dokumenttypen
Lernen Sie das Werkzeug XML Spy kennen
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Document Type Definition / XML SchemaDocument Type Definition / XML Schema
Vortragsunterlagen zur Vortragsreihe MSc Multimedia und MSc NewMediaManagementan der Donauuniversität Krems
51
Document Type DefinitionsDocument Type Definitions
Die Themen:– Dokumenttyp-Definitionen (DTD)– Elemente– Attribute– Entities– Notations
Literatur:– W3C: http://www.w3.org/TR/REC-xml – http://members.aol.com/xmldoku/– http://www.w3schools.com/
52
XML-Sprachspezifikation
Prolog
interne DTDexterne DTD
XML-Deklaration
Dokumenttyp-Definition (DTD)
Elemente
Attribute
Entities
NotationsDokument
Aufbau eines XML-DokumentsAufbau eines XML-Dokuments
53
Grundbegriffe
Dokumenttyp-Definitionen(DTD):
• legt Regeln für den Aufbau von Dokumenten fest• Beschränkungen der logischen Struktur• Gültigkeit des XML-Dokuments
Elemente:
„Befehlssatz“ für das XML-Dokument; wird in der DTD festgelegt
Attribute:
• „Parameter“ mit denen die Elemente näher spezifiziert werden. • werden zusammen mit den Elementen in der DTD festgelegt
DTD-GrundbegriffeDTD-Grundbegriffe
54
Dokumenttyp-Deklaration/ -Definition (DTD)
externe DTD:in separater Datei, auf die verwiesen wird
interne DTD (=„interne DTD-Untermenge"):direkter Bestandteil der DTD
Eigenschaften der DTD• Mehrfach-Deklaration möglich• interne DTD überschreibt externe DTD• intern + extern werden zusammengefaßt („Gesamt-DTD“)
Dokumenttyp-Deklaration/-Definiton (DTD)Dokumenttyp-Deklaration/-Definiton (DTD)
55
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.
68
EinsatzmöglichkeitenEinsatzmöglichkeiten
Formatierungs-anweisungen fürDruckausgabe
Formatierungs-anweisungen für
SMS-Textausgabe
Formatierungs-anweisungen fürInternetausgabe
Formatierungs-anweisungen fürSprachausgabe
<movie><title>Star Trek: Insurrection</title><star>Patrick Stewart</start><star>Brent Spiner</star><theatre>
<theatre-name>MondoPlex 2000</theatre-name><showtime>1415<showtime><showtime>1630<showtime><showtime>1845<showtime><showtime>2100<showtime><showtime>2315<showtime><price>
<adult-price>8.50</-price><child-price>5.00</-price>
</price></theatre><theatre>
<theatre-name>Bigscreen 1</theatre-name><showtime>1930<showtime><price>
<adult-price>6.00</adult-price></price>
</theatre></movie>
69
Eine XSL-VorlageEine XSL-Vorlage
<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>
Statisch (ohne XML-Daten)
70
XML-Daten:
<CATALOG> <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$7.05</PRICE> <AVAILABILITY>02/01/99</AVAILABILITY> </PLANT></CATALOG>
71
Die XSL-Vorlage:
<?xml version=”1.0”?><xsl:template xmlns:xsl=”uri:xsl”> <HTML> <BODY> <xsl:for-each select=”CATALOG/PLANT”> <DIV> <SPAN STYLE=”font-weight:bold; font-size:20> <xsl:value-of select=”COMMON"/> </SPAN> </DIV> </xsl:for-each> </BODY> </HTML></xsl:template>
72
<CATALOG> <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$7.05</PRICE> <AVAILABILITY USONLY=”true”>02/01/99</AVAILABILITY> </PLANT></CATALOG>
XML-Daten:
XSL-Vorlage:
<HTML><BODY>
</BODY></HTML>
HTML-Dokument:
<DIV><SPAN STYLE=”font-weight:bold; font-size:20”>
</SPAN></DIV>
<?xml version=”1.0”?><xsl:template xmlns:xsl=”uri:xsl”> <HTML> <BODY> <xsl:for-each for=”CATALOG/PLANT”> <DIV> <SPAN STYLE=”font-weight:bold; font-size:20> <xsl:value-of for=”COMMON“/> </SPAN> </DIV> </xsl:for-each> </BODY> </HTML></xsl:template>
Bloodroot
73
XMLXSLT HTML
XSLT
Prozeß
Transformations-anweisungen
Quelldokument
Zieldokument
74
XML
XSLT
XSLT
Prozeß
Transformations-anweisungen
Quelldokument
XSLT
Transformations-anweisungen
Web Host
XSLTProzeß
Display
Display
XML Browser
HTML Browser
75
ZwischenbilanzZwischenbilanz
XSL bietet die Möglichkeit die Struktur von XML-Dokumenten zu verändern (XML XML, HTML).
Dazu enthält die XSL-Vorlage sowohl XSL-Anweisungen (<xsl: .....>) wie auch Bestandteile der Zielstruktur (<HTML>).
Die häufigste Anwendung ist die Überführung der XML-Daten in eine Ansichtsstruktur, z.B. für einen Web-Browser.
Für die Ansicht gibt es 2 Möglichkeiten: Für eine HTML-Browser erstellt der Host mittels
XSL-Vorlage die Ansichtsstruktur Für einen XML-Browser stellt der Host nur das
XML-Dokument und die XSL-Vorlage bereit und der Browser erzeugt die Ansichtsstruktur
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Web Service EngineeringWeb Service Engineering
Der XML Standard: Workshop – XSL Syntax und AnwendungBis hierher
77
XSLXSL
Interessant ist der Einsatz von XSL templates zur Dokumenttransformation (siehe vorherige Beispiele Pflanzenkataloge)
templates „matchen“ bestimmte Knoten (nodes, roots)
Die Anwendung von templates
<xsl:apply-templates/>...wirft Rekursion in
darunterliegenden Teilbäumen an
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
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
etwa: <xsl:for-each
select="catalog/cd[country='UK']">
87
XSLT XSLT
Kurzeinführung
Sortierung der Elemente durch <xsl:sort
select=“criterium“>
Fügen wir
<xsl:sort select="artist"/>
zu unserem Beispiel hinzu
88
XSLT XSLT
Kurzeinführung
Bedingte Transformationen durch <xsl:if> oder
<xsl:choose>
...<xsl:choose> <xsl:when test="price > 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>
89
XSLT XSLT
Kurzeinführung
Das <xsl:apply-templates> Element wendet eine
Template Regel auf das aktuell identifizierte Element
(Node) an.
Wenn man ein select Attribut angibt, wird nur das
Child-Element bearbeitet, das durch das angegebene
Attribut identifiziert wird. Damit lassen sich
Reihenfolgen und Selektionen/Deselektionen
durchführen (sollen alle Children oder nur bestimmte in
das Ergebnis einfliessen)
90
XSL ÜbungXSL Übung
Umfassendes Übungsbeispiel:Umfassendes Übungsbeispiel:
Vorgabe CD-KatalogVorgabe CD-Katalog
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
91
XSL ÜbungXSL Übung
Umfassendes Übungsbeispiel:Umfassendes Übungsbeispiel:
Vorgabe CD-KatalogVorgabe CD-Katalog
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
<?xml version="1.0" encoding="ISO-8859-1"?><catalog>
<cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year>
</cd> <cd>
<title>Unchain my heart</title> <artist>Joe Cocker</artist> <country>USA</country> <company>EMI</company> <price>8.20</price> <year>1987</year> </cd> ...</catalog>
93
Musterlösung CD-KatalogMusterlösung CD-Katalog
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template></xsl:stylesheet>
94
XSL-BeispielXSL-Beispiel<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"><xsl:template match='pte'><h3><xsl:apply-templates select="title"/></h3><p><b><xsl:apply-templates select="text/lead"/></b><br/><br/><xsl:choose> <xsl:when test="img[@src]"> <img src="{img/@src}" align="left"/> </xsl:when></xsl:choose><xsl:for-each select="text"><xsl:value-of select="."/><!-- <xsl:apply-templates/> --><br/><br/></xsl:for-each></p>
</xsl:template></xsl:stylesheet>
95
Angabe: XMLAngabe: XML
-<lva type="ilv">- <titel>XML - Theorie und Praxis</titel>- <block nr="1">- <datum>17.10.2005</datum>- <inhalt>Metadaten Grundlagen</inhalt>- </block>- <block nr="2">- <datum>10.11.2005</datum>- <inhalt>XML Dokumente, DTDs, Schemas</inhalt>- </block>- <block nr="3">- <datum>2.12.2005</datum>- <inhalt>XML Beispiele, XSL Einführung</inhalt>- </block>- <block nr="4">- <datum>18.12.2005</datum>- <inhalt>XML Applikationen, DOM, SAX, WML,SVG</inhalt>- </block>- <block nr="5">- <datum>9.1.2006</datum>- <inhalt>XML Topic Maps, WSDL, SOAP, Nedine</inhalt>- </block>-</lva>
96
Gesuchtes Ergebnis:Schreiben Sie die dazu notwendigen Transformationen in XSL
97
XSL Beispielangabe MusterXSL Beispielangabe Muster
<?xml version=“1.0” encoding=“iso-8859-1”?><catalog>- <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year></cd><cd> <title>Still got the blues</title> <artist>Gary Moore</artist> <country>UK</country> <company>Virgin records</company> <price>10.20</price> <year>1990</year> </cd><cd> <title>When a man loves a woman</title> <artist>Percy Sledge</artist> <country>USA</country> <company>Atlantic</company> <price>8.70</price> <year>1987</year></cd></catalog>
Wiel lautet die notwendigen XSL Transformationen ?
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
XSL und Standardisierte AnwendungenXSL und Standardisierte Anwendungen
Konkrete XML-Anwendungen, standardisierte Dokumenttypen
99
XML AnwendungenXML Anwendungen
XML-Anwendungen
Verschiedenste DTDs sind bereits als Standards oder Recommendations anerkannt
XHTML XML für Grafik- und Multimediaformate WML NewsML, NITF
100
XHTMLXHTML XHTML ist eine sauberere Form der HTML
– Wohlgeformt im Sinne von XML
– Verwendet saubere Schachtelung
<b><i>text</i></b> statt <b><i>text</b></i>
– Singletons sind nach XML abgeschlossen
<IMG SRC=“somewhere.gif“/>
– XML Parser können diese Struktur nutzen
– W3C Recommendation 26 January 2000,
revised 1 August 2002
Die eXtended Hypertext Markup Language ?
XHTMLXHTML
101
XML für Grafiken und MultimediaXML für Grafiken und Multimedia
Problem: Das Web benutzt Grafik-Formate für 2D und 3D (gif, jpeg, png): diese sind generell Pixel-basiert
Zoomen führt zu unschönen Ergebnissen Lösung: Verwendung von Vector basierten
Formaten: diese sind durch mathematische Funktionen beschrieben
102
LösungLösung
XML Codierung für spezifische Inhalte– Images 2D / 3D – Audio, Music– Video
– MathML– CML– Metadata for museum information / CIMI
(=Consortium for the Interchange of Museum Information)
– ...
103
Scalable Vector GraphicsScalable Vector Graphics
W3C Working Draft 3. March 2000 http://www.w3.org/TR/SVG/ description of 2 dimensional graphic objects contains 3 different graphic object types:
– vector graphics (rectangles, circles, lines, curves)– text– pictures
104
Scalable Vector GraphicsScalable Vector Graphics
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)
107
Scalable Vector GraphicsScalable Vector Graphics
Adobe Browser Plugin 3.0
http://www.adobe.com/ svg/viewer/install/svgtest.html
Werden wir hier im Labor einsetzen
108
SVG exampleSVG example
Produced in Corel Draw 9, exported to SVG
109
<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE svg SYSTEM "svg-19991203.dtd"><!-- Creator: CorelDRAW --><svg xml:space="preserve" width="6.34153in" height="4.09944in" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality" viewBox="-3637 0 6341 4099"> <defs> <style type="text/css"> <![CDATA[ .str0 {stroke:#1F1A17;stroke-width:3} .str1 {stroke:#169F62;stroke-width:111} .fil4 {fill:none} .fil1 {fill:#75C5F0} .fil2 {fill:#DD137B} .fil3 {fill:#FFF500} .fil0 {fill:#FFFB9D} ]]> </style> </defs> <g > <title>Ebene 1</title> <ellipse class="fil0 str0" cx="-1275" cy="2697" rx="2361" ry="1401"/> <rect class="fil1 str0" x="-3262" y="2" width="5540" height="2428"/> <path class="fil2 str0" d="M1656 1367l523 328 523 327 -199 530 -200 531 -647 0 -646 0 -200 -531 -200 -530 523 -327 523 -328z"/> <text x="-2756" y="836" class="fil3" style="font:normal 500 Garamond">Test picture for SVG</text> <text x="-2756" y="1399" class="fil3" style="font:normal 500 Garamond">in Corel Draw 9</text> ... </g></svg>
SVG exportSVG export
110
Extensible 3D (X3D)Extensible 3D (X3D)
Successor of VRML97– http://www.web3d.org/x3d.html– plan: in 2002 ISO standard
Component based approach (profiles)– scalable, thin clients, DOM support– core model (X3D-Core profile)
minimum set of viewer functions 3D geometries, animations, interactions,
rendering
– X3D-VRML profile compatibility to VRML97
– user specific profiles (GeoVRML)
111
Extensible 3D (X3D)Extensible 3D (X3D)
Major X3D contributors – Sun, Shout Interactive,blaxxun, DRaW Computing,
Cybelius, Perceptronics, Quadramix, Sony, NIST, Lucid Actual, Trapezium, NPS
X3D process– actual: Implementation & Evaluation
x3d-compromise.dtd version 0.79 May, 1, 2000
– next: standardization– Web3D is a member of W3C
112
X3D exampleX3D example
#VRML V2.0 utf8Transform { children [ NavigationInfo { headlight FALSE } # We'll add our own light
DirectionalLight { # First child direction 0 0 -1 # Light illuminating the scene }
Transform { # Second child - a red sphere translation 3 0 1 children [ Shape { geometry Sphere { radius 2.3 } appearance Appearance { material Material { diffuseColor 1 0 0 } # Red } } ] }...
As VRML
XML-Anwendungen
113
SMILSMIL
Synchronize Multimedia on the web using an XML based language– To enable simple authoring of TV-like multimedia
presentations such as training courses on the Web– HTML-like, easy to learn– a smile presentation can contain components of streaming
audio, streaming video, images, text or any other media type
http://www.w3.org/AudioVideo/ SMIL Boston Working Draft (25 Feb. 2000) SMIL 2.0, W3C Recommendation 7 August 2001
114
SMILSMIL
SMIL Authoring Tools Allaire HomeSite, CWI SMIL Validator ,
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
XML-Anwendungen
115
SMIL exampleSMIL example
<smil> <head>
<meta name="title" content="Car"/><meta name="author" content="NCAM/NOVA"/><meta name="copyright" content="©1998 WGBH
Educational Foundation" /> <layout> <root-layout background-color="black" height="180"
width="250"/> <region id="videoregion" background-color="black" top="5"
left="35" height="130" width="180"/> <region id="textregion" top="135" left="-37" height="120"
width="250"/> </layout> </head><body> <par><!-- VIDEO --> <video src="carsilent.rm" region="videoregion"/><!-- PROGRAM AUDIO --> <switch> <audio src="carnarren.rm" system-language="en"/> <audio src="carnarde.rm" system-language="de"/> <!-- <audio src="carnarres.rm" system-language="es"/> --> <audio src="carnarren.rm"/> </switch><!-- AD --> <switch> ...
116
SMIL exampleSMIL example
<window bgcolor="black" wordwrap="true">
<font size="3" face="times new roman" color="#FFFFFF">
<center>
<time begin="00:01.7"/>
Someone watching a car<BR> accelerate toward light speed
<time begin="00:05.0"/><clear/> would see something<br> very strange.
<time begin="00:07.4"/><clear/> It would seem as though the<br> car itself were getting shorter
<time begin="00:10.5"/><clear/> and that time for the person<br> in the car was slowing down.
<time begin="00:14.4"/><clear/> However, you wouldn't<br> see these effects
<time begin="00:17.3"/><clear/> until the car began to<br> approach the speed of light.
<time begin="00:20.6"/><clear/> At 90% of the speed of light
<time begin="00:23.0"/><clear/> the car would appear to shrink<br> to 44% of its usual length.
<time begin="00:28.6"/><clear/> This thought experiment
<time begin="00:30.2"/><clear/> answered Einstein's<br> old question
<time begin="00:32.5"/><clear/> about what he would see
<time begin="00:33.9"/><clear/> if he traveled along<br> with a beam of light.
<time begin="00:36.3"/><clear/> He simply couldn't<br>make the trip
<time begin="00:38.4"/><clear/> for at the speed of light,<br> length would contract to zero
<time begin="00:42.1" end="00:44.5"/><clear/> and time would stop.
</center>
</font>
</window>
117
SMIL BeispieleSMIL Beispiele
unter http://www.w3schools.com/smil/ gibt es viele weitere Beispiele
Timing (Dauer, Starzeit, Wiederholungen,etc.) Parallelität und Synchronisation Übergänge (Fading, Wiping, Transitions, etc.) Audio, Video Integration
118
VoiceML/VoiceXMLVoiceML/VoiceXML
W3C Note: May, 5th, 2000– VoiceXML 1.0 Specification March, 7th, 2000
Wurde entworfen für– synthesized speech, digitized audio, regongition of
spoken and DTMF key input, recording of spoken input, telephony
– standardization of speech recognition products VoiceXML Forum
– industry org. by AT&T, IBM, Lucent, Motorola
119
MusicMLMusicML
DTD for sheetmusic (March 5, 1998)– No standard– http://195.108.47.160/3.0/musicml/
index.html– Connection Factory, Dutch enterprise
MusicML document basic structure: <sheetmusic> <musicrow size="two"> </musicrow> <musicrow size="two"> </musicrow></sheetmusic>
120
MusicML example MusicML example (nicht mehr existent)(nicht mehr existent)
<?XML version="1.0"?><!DOCTYPE sheetmusic SYSTEM "music.dtd"><sheetmusic> <musicrow size="two"> <entrysegment> <entrypart cleff="bass" rythm="threequarter" position="one"> <molkruis level="zero" name="g" notetype="flat"/> <molkruis level="zero" name="b" notetype="sharp"/> </entrypart> <entrypart cleff="treble" rythm="threequarter" position="two"> </entrypart> </entrysegment> <segment> <subsegment position="one"> <chord> <note beat="quarter" name="f" level="zero"/> <note beat="quarter" name="b" level="zero"/> <note beat="quarter" name="d" level="plus1"/> <note beat="quarter" name="f" level="plus1"/> </chord> <chord info="Em9-5"> <note beat="half" name="c" level="zero"></note>...
121
MathMLMathML
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:
<mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn>
</msup> <mo>+</mo> <mrow> <mn>4</mn>
<mo>⁢</mo> <mi>x</mi> </mrow> <mo>+</mo>
<mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn>
</mrow>
122
MathMLMathML
<mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mn>4</mn> <mo>⁢</mo>
<mi>x</mi> </mrow> <mo>+</mo> <mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn>
</mrow>
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
durch Auslassung dargestellt werden soll.
123
MathMLMathML XML-Anwenungen
124
MathMLMathML
<mrow> <mi>x</mi>
<mo>=</mo> <mfrac> <mrow>
<mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt>
<mrow> <msup> <mi>b</mi> <mn>2</mn>
</msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi>
</mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn>
<mo>⁢</mo> <mi>a</mi> </mrow>
</mfrac> </mrow>
125
Standards - NewsMLStandards - NewsML
Geplante Ziele:– Medienunabhängigkeit– mehrfache Darstellung einer Nachricht– Alle Formate und Medientypen werden gleichermassen
erkannt– Erleichterung der Entwicklung / Erstellung von
Nachrichtenelementen– Simples Hinzufügen oder Ausblenden von
Nachrichtenelementen– “collections of news items”– Verknüpfung zwischen Nachrichtenelementen– Datenanhang
126
Standards - Standards - NewsML - Die ZukunftNewsML - Die Zukunft
Wie geht es weiter?– Noch relativ unvollständig, textlicher Inhalt mit
NITF geregelt– schnelle Entwicklung– Wird NewsML alle alten Standards aus dem
Nachrichtenbereich ablösen?
– Akzeptanz bei etablierten Agenturen:Wird nach und nach umgesetzt
Viele Kunden fordern Kontinuität “unruhiger” Standardstatus noch abzuwarten
127
XML bei NachrichtenagenturenXML bei Nachrichtenagenturen
Standards - Einsatz von XML in der Nachrichtenagenturpressetext.austria
Daten im Syndication Service folgen den XML Standards• PTE-DTD• NITF 1.0• NITF 2.5sind im Einsatz.http://www.syndikat.at/
128
WMLWML
Einführung WAP Protokoll Aufgaben von WML Struktur eines WML Dokuments Events und Navigation
129
Einführung - WAPEinführung - WAP
WAP - Wireless Application ProtocolÜbertragungsprotokoll für mobile Endgeräte
Markup-Sprache, die auf XML basiertSprache orientiert sich an den beschränkten Möglichkeiten mobiler Endgeräte, vor allem
kleine, oft monochrome Displaysbeschränkte EingabemöglichkeitenNetzanbindung mit geringer Bandbreitebegrenzter Speicher und Rechenkapazität
Anwendungsmöglichkeiten:HandysPDAs
130
Aufgaben von WMLAufgaben von WML
Textdarstellung und Layout Strukturierung der Information Navigation zwischen Dokumenten Interaktion mit Benutzer
131
Struktur eines DokumentsStruktur eines Dokuments
Ein WML-Dokument ist immer ein gültiges XML-Dokument
Deck: Gesamtes WML-Dokument Card: Informationseinheit, die dargestellt wird
– Blättern zwischen cards
132
Deck-EbeneDeck-Ebene
Zugriffskontrolle:– access-Element: Zugriff nur von bestimmter Domain
und Pfad möglich
Template:– Events, die auf deck-Ebene definiert werden, sind für
alle cards gültig. Überschreiben der Events in cards möglich
– Do-Element
133
Card-EbeneCard-Ebene
Eine card wird komplett auf dem Display dargestellt
Beinhaltet:– Text– Eingabeelemente– Events, die nur auf card-Ebene gültig sind– Links
134
RDF – Resource Definition FrameworkRDF – Resource Definition Framework
Notwendigkeit
ständig wachsende Anzahl von Informationen
Austauschformat für Metadaten nötig
neutral - für jede Anwendung nutzbar
Maschinenverständlich, maschinenverarbeitbar
muß über Computernetze übertragbar sein
soll erweiterbar sein
verständlich für den Menschen
135
RDF-DatenmodellRDF-Datenmodell
gerichteter und beschrifteter Graph
definiert eindeutig die Zuordnung zwischen Subject, Predicate und Object
Subject (Resource): zu beschreibende Quelle
Predicate (Property): in einer Ressource definierte Eigenschaft
Object (Literal):Wert der Eigenschaft (Wert oder wieder Resource)
136
RDF-Datenmodell graphischRDF-Datenmodell graphisch
Subject
Object
Predicate
http://web.pressetext.at/Research/
Markus Schranz
Verfasser
137
RDF-Syntax in XMLRDF-Syntax in XMLGrundlagenGrundlagen
Block mit Metadaten eingeschlossen von <RDF>
mit xmlns die Namespaces festlegen
pro zu beschreibender Ressource eine <Description>
Metadaten über bestehende Ressourcen mit about=URI
Definieren einer neuen internen Ressource mit ID=“name“
Predicate: jeder in einem Schema definierte Datentyp
Object: Wert, wieder eine Resource oder eine Liste von Werten oder Ressourcen
138
RDF-Syntax in XMLRDF-Syntax in XMLStatements über StatementsStatements über Statements
Möglichkeit Metadaten zu beschreiben und zu bewerten
spezielle Syntax erforderlich (Eigenschaft resource=“...“)
<subject> definiert Subject der Metadaten
<predicate> definiert Predicate der Metadaten
<object> definiert Object der Metadaten
139
RDF-SchemaRDF-Schema
Erweiterung von RDF, definiert mit RDF
vergleichbar mit den mitgelieferten Klassen bei Java
nötig um Schemas wie DC oder PICS zu definieren
stellt Klassen-Konzept zur Verfügung
Vererbung sowie Mehrfachvererbung
Einschränkung bzw. Spezialisierung von Eigenschaften
140
RDF-SchemaRDF-Schema
Resource
Class
rdf:Resourcerdf:Class
rdf:Propertyrdf:ConstraintProperty
rdf:Literal
Property
rdf:typerdf:subClassOfrdf:subPropertyOfrdf:commentrdf:labelrdf:seeAlsordf:isDefinedBy
ConstraintProperty
rdf:rangerdf:domain
141
RDF - ZusammenfassungRDF - Zusammenfassung
Standardisiertes Datenmodell für Metadaten
PICS (Platform for Internet Content Selection):Schema zur Beurteilung von Internet-Inhalten
DC (Dublin Core):Schema zur Beschreibung von Inhalten
damit Maschinen die Bedeutung von Metadaten erfassen können, sind Standard-Schemas nötig