49
Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Embed Size (px)

Citation preview

Page 1: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 1Klemens Böhm

XML - verwandte Standards

Page 2: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 2Klemens Böhm

XML - verwandte Standards XPath - Sprache, mit der logische Bestandteile

eines XML-Dokuments referenziert werden, XPointer - verallgemeinert XPath, man kann jetzt

z.B. auch Worte im Dokument referenzieren, XLink - einheitliche Darstellung von Hyperlinks

(verwendet XPointer), XSL - Transformationssprache (insbesondere

geeignet für XML), DOM - Methoden für Zugriff und Manipulation von

Dokumentbestandteilen, SAX - Callback-Interface der XML-Engine.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 3: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 3Klemens Böhm

XML - verwandte Standards

XLink

XPointerXSL

XPath DOM SAX

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 4: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 4Klemens Böhm

URN: Namen und Lokatoren

Beispiele für URI•http://rdbm.com/sql.cgi?query="select * from foo"

• urn:ISBN:0-395-36341-6

• urn:uuid:C4ED1820-6207-11d1-A29F-00AA00C14882URI kann optionale ‚trailing Query‘ enthalten, leading ‚?‘, gefolgt von ‚#‘ plus Fragment Identifier

uuid - Universal Unique Identifier (fuer Objekte; DCE = distributed computing environment)

Adressierung von Ressourcen im WWW

URL := Uniform Resource LocatorURN := Uniform Resource NameURI := URN oder URL

Uniform Resource IdentifierRessource := durch URI adressierbares Objekt

URN Definition

urn:namespace identifier:namespace specific string

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 5: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 5Klemens Böhm

Schnittstelle XML-Processor - Anwendung

Document Object Model (DOM) Ereignisorientierte VerarbeitungÜbersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 6: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 6Klemens Böhm

XML Processor, Application

Application

XML-Processor(XML-Engine)

Callback-Methoden

DOM-Methoden

Aufruf fürXML-Dok.

MM-Tool 1 MM-Tool 2

...

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 7: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 7Klemens Böhm

DOM: Document Object Model Objektorientierte Sicht auf XML-Dokumente,

Baumstruktur. Unterschied zur Baumstruktur, wie bisher beschrieben, erlaeutern

Methoden erlauben das Navigieren im Baum und das Manipulieren des Baums.

Keine Aussagen über die konkrete Implementation der Objekte, nur API wird IDL-mässig beschrieben,

(Nicht alle Konzepte sind berücksichtigt, DTDs, Entitäten fehlen,)

Hilfsklassen: Node, NodeList, NamedNodeList, etc.,

Normung erreicht am 1. Oktober 1998

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 8: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 8Klemens Böhm

DOM: Document Object Model Abstrakte Objekttypen:

Node, NodeList, NamedNodeMap (bzw. XMLDOMNode, XMLDOMNodeList, XMLDOMNamedNodeMap bei MS)

Node ist Superklasse für alle Bestandteile des Dokuments, z.B. Elemente, Attribute, Processing Instructions.

NodeList - Typ des Properties childNodes und der Methoden selectNodes und getElementsByTagName.

NamedNodeMap - Attribute eines Elements.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 9: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 9Klemens Böhm

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Attribute und Methoden von Node

nodeNamenodeTypenodeValue

...

childNodesfirstChildchildNodes.item(0)

attributes

nextSiblingpreviousSibling

parentNode ...ownerDocument

......

... ...

lastChild

(NULL, wenn der aktuelle Knoten Document ist)

Abhaengig vom Typ,z.B. Text bei Textknoten oder Attributwert

hasChildNodes

1 = element, 2 = attribute, …AufzaehlungstypfuerElemente, Attribute u.

Entity Referenzen qualif. Name,sonst fester String

Page 10: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 10Klemens Böhm

Manipulationsmethoden von Node

...

replaceChild

insertBefore

... ...

removeChildappendChild

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 11: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 11Klemens Böhm

Mögliche strukturelle Beziehungen zw. Objekten unterschiedlichen Typs

Kinder-Beziehung

Document -- Element (maximal eins), ProcessingInstruction, Comment, DocumentType

DocumentFragment -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

wenn es eingefuegt wird, werden die Kinder an der Stelle eingefuegt DocumentType -- keine Kinder Properties vom Typ NameNodeMap: entities, notations

EntityReference -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

EntityReference wird u.U. nicht sofort aufgeloest, sondern ‘lazy’. Die Kinder sind die Knoten, die in der Entity enthalten sind.

Element -- Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference

Attr -- Text, EntityReference ProcessingInstruction -- keine Kinder Comment -- keine Kinder Text -- keine Kinder CDATASection -- keine Kinder Entity -- Element, ProcessingInstruction, Comment, Text, CDATASection,

EntityReference Notation -- keine Kinder

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 12: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 12Klemens Böhm

Weitere DOM-Methoden Methoden von Document:

(da Kontext, d.h. Dokument, zu dem Objekte gehoeren, fuer neue Objekte erforderlich)

createAttribute createCDATASection createComment createDocumentFragment

hat keine Parameter, erlaubt Erzeugung der DOM-Repraes. nur eines Fragments createElement createEntityReference createProcessingInstruction createTextNode

Beispiel: newAttNode = XMLDoc.createAttribute("newAtt")Warum nicht fuer XMLDOMNode?

newAttNode.nodeValue = "hello world"

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 13: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 13Klemens Böhm

Weitere Methoden für Node Methoden:

namespaceURI * - gibt URI des Namespaces zurück nodeTypeString * parsed - liefert TRUE gdw. Knoten und Nachfolger

bereits geparst wurden; sinnvoll z.B. vor

transform. specified * - explizit spezifiziert oder von Default-Wert

abgeleitet? (Eigentlich nur für Attribute)

xml * - enthält die XML-Repräs. des Teilbaums

* - nicht in der W3C-Recommendation, MS-spezifisch

Beispiele (JavaScript-Codefragmente): if (xmlNode.nodeTypeString == "element")

XMLDoc.loadXML(xmlNode.xml) if (elem1.hasChildNodes == true &&

elem1.firstChild.nodeTypeString == "element") elem1.firstChild.text = "I'm the first child of elem1"

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 14: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 14Klemens Böhm

Methoden und Properties anderer Objekttypen

Methoden von XMLDOMDocument: XMLDoc.loadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")

docRoot = XMLDoc.documentElement nodeFromID getElementsByTagName transformNode

Parameter: Stylesheet

Methoden von XMLDOMNodeList: length, item, z.B. item(0), nextNode

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 15: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 15Klemens Böhm

DOM-Beispiel: Transformation von XML Data Islands

<HTML> <HEAD><TITLE>...</TITLE></HEAD> <XML id="source" src="simple.xml"></XML> <XML id="style" src="simple.xsl"></XML> <SCRIPT FOR="window" EVENT="onload"> xslTarget.innerHTML = source.transformNode(style.XMLDocument); </SCRIPT>

<BODY> <P STYLE="font-size:10pt; color:gray"> <B>This demo shows the use of data islands for loading XML source and XSL style sheets and inserting the transformed result into the Web page.</B> </P> <DIV id="xslTarget"></DIV> </BODY></HTML>

Einbettung von DOM MethodentransformNode - DOM MethodeStylesheet applied to rootinnerHTML - sets or retrieves the HTML between the start and end tags of the objectXMLDocument -> DOM Knoten‘source.XMLDocument.transform’

transformNodeToObject

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

AlbisWindows/temp/Samples/Samples

Page 16: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 16Klemens Böhm

Ereignisorientierte Architektur

Anwendungs-programm

Dispatcher

Handler #1

Handler #2

Handler #nParserEreignis-strom

...

AuslösendeMuster

("Trigger")

Callback,mit demEreignis alsParameter

Anmeldungder Handler

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 17: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 17Klemens Böhm

Traversierung

ESIS Ausgabe

?xml version="1.0" encoding="ISO-8859-1"(wetter(plz-87724)plz(datum-981009)datumAeinheit CDATA °C(temperatur-13)temperatur(regen- 30)regenAeinheit CDATA km/h(wind-7)wind(prognose-\n\012\011\011heiter bis wolkig\n\012\011)prognose)wetter

Dokument

<?xml version="1.0" encoding="ISO-8859-1"?><wetter> <plz>87724</plz> <datum>981009</datum> <temperatur einheit="°C">13</temperatur> <regen> 30 </regen> <wind einheit="km/h">7</wind> <prognose> heiter bis wolkig </prognose></wetter>

87724 ... ... ... ... heiter...

"Document Order"-Traversierung

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 18: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 18Klemens Böhm

ESIS - Element Structure Information Set

Strukturinformation zu einem Dokument, Information, die z.B.

durch Abfolge von Eventsexplizit gemacht wird,z.B. Start des Elements, Attributinformation,

ESIS ist implizit Teil von ISO 8879 (SGML),

ist aber nicht explizit definiert, Definition ist eher kontemplativer Natur,

konkrete Definition einer Callback-Schnittstelle ist wohl hilfreicher.http://www.oasis-open.org/cover/WG8-n931a.html

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 19: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 19Klemens Böhm

Ereignisorientiertes API

SAX - Simple API for XML, Callback-Interface, spezielle Beziehung

zwischen Java und SAX: Schnittstelle in Java (nicht z.B. IDL), Implementierung in Java

(andere Implementierungen von Callback-Interfaces nicht identisch)

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 20: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 20Klemens Böhm

Beispiele für SAX-Methoden characters(char[], int, int)

Benachrichtigung bezüglich character data. endDocument()

Benachrichtigung, dass Dokumentende. endElement(String)

Benachrichtigung, dass Elementende. setDocumentLocator(Locator)

übermittelt Objekt, dem Methoden geschickt werden können zum Abfragen von Eigenschaften der Events getLineNumber()

retourniert Nummer der Zeile, wo das aktuelle Event endet

getSystemId() retourniert system identifier des aktuellen Elements, wenn verfügbar, z.B. URL.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 21: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 21Klemens Böhm

Ereignisorientiertes API

Vor- und Nachteile:+ Minimaler Speicherbedarf,+ Geschwindigkeit, ‚Gedächtnislosigkeit‘, nicht deklarativ.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 22: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 22Klemens Böhm

Eigenschaften von XPath Motivation: Adressierung beliebiger

logischer Dokumentbestandteile, Non-XML Syntax, Verwendung in URIs und Attributwerten, XPath operiert auf der logischen

Dokumentstruktur.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 23: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 23Klemens Böhm

XPath - Location Paths Ausdruck (in XPath) - liefert ein Objekt, z.B. node-

set oder string-Objekt, Location Path - wichtige Art von Ausdrücken. Location Path selektiert Menge von Knoten relativ

zu einem Kontext-Knoten (im folgenden Beispiel die Wurzel des Dokuments).

Beispiel für Location Path:/doc/chapter[5]/section[2](‘/’ ist Abkürzung für ‘child::’)

‘Nach unten zum Kind’ ist nur eine mögliche Richtung (“Achse”).

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 24: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 24Klemens Böhm

XPath - Location Paths (2) Absoluter Location Path vs. relativer Location Path, Location Path besteht aus Location Steps, Location Step besteht aus

Achse, ‘Node Test’, Prädikaten.

Beispiel:/descendant::figure[position() = 42]selektiert das 42. Bild im Dokument

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 25: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 25Klemens Böhm

XPath - Ausdrücke Beispiel:

string(/descendant::figure[position() = 42]) = “bla”

weitere Funktionen mit Location Path als Argument, z.B. ‘name’,

Funktion id - Beispiel: id(“foo”) Die üblichen arithmetrischen Operationen und

String-Funktionen sind erlaubt.

Location PathExpressionÜbersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 26: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 26Klemens Böhm

XPath - absolute und relative Lokator-Terme

Kandidatenmengen, relativ zu Knoten #6:

root() 1id("foo“) 4child(…) 10, 11descendant(…) 10, 11, 13ancestor(…) 2, 1preceding(…) 5, 2, 1following(…) 10, 11, 13, 7,

3, 4, 8, 9, 12psibling(…) 5fsibling(…) 7

77

22

6655

44

88 99

33

11

1010 1111

1313

1212

ID="foo"ID="foo"absoluteLokator-Terme

Lokator-Term - spezif. Position, meist relativ zum vorangegangenen Lok. Termorigin - von dort beginnt Traversierung Bsp. ‘next chapter’

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 27: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 27Klemens Böhm

XPath - Einbettung in URLBeispiel: href=‘doc.xml#xpointer(book/chapter[position() &lt;= 5])’

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 28: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 28Klemens Böhm

Beispiele für Ausdrücke (1/3) titel bzw. ./titel

Alle Titel im aktuellen Element. //titel

Alle Titel im Dokument. buch/* Andere Bedeutung von *, verglichen mit DTD -

Wildcard

Alle Kinder des Elements "buch“. buch/@*

Alle Attribute des Buchs, d.h. Attributnamen zusammen mit Werten.

preis/@währungAlle Währungen von Preisen.

buch[zusammenfassung]Alle Bücher, die eine Zusammenfassung enthalten.Albis: Windows/temp/xml/xsl_pattern_builder

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 29: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 29Klemens Böhm

Beispiele für Ausdrücke (2/3) buch[zusammenfassung]/titel

Die Titel aller Bücher, die eine Zusammenfassung enthalten

autor[vorname!text() = "Hans"]autor[vorname $ieq$ "Hans"]Alle Autoren mit Vornamen "Hans"

autor[(titel $or$ auszeichnung)]Alle Autoren mit einen Titel oder einer Auszeichnung $ und Klammern koennen weggelassen werden

mein_namensraum:*Alle Elemente in "mein_namensraum"

//buch[./buchladen/@spezialität = @gattung]Alle Bücher, deren Literaturgattung gleich der Spezialität des Buchladens isterlaeutern ./ kann man weglassen

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 30: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 30Klemens Böhm

Beispiele für Ausdrücke (3/3) book[price<10]//title book[price<10]/*/name book[title $ile$ "The B"]/title book/author[first-name and last-name]

Was wird ausgegeben?

book[author/first-name and author/last-name]/title book[author[first-name and last-name]]/title book[.//name $ieq$ „Plato“]/title book/@genre book[@genre="novel"]/title book[@genre=./author/@pipapo]/title

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 31: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 31Klemens Böhm

Operatoren in Ausdrücken

/ Kind-Operator Direkte Nachfolger,Dokumentelement

// Rekursiver Abstieg Indirekte Nachfolger,. Aktueller Kontext* Wildcard Jeder Elementtyp@ Attribut Unterscheidet Attribut- von

Elementnamen: Namensraumtrenner Trennt Namensraum-

und Namensteil! Methodenaufruf Wendet eine Methode auf das

referenzierte Element an( ) Gruppierung[ ] Filter Subquery

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 32: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 32Klemens Böhm

XPointer XPath erlaubt nur die Referenzierung von

logischen Dokumentbestandteilen, insbesondere Elementen,

XPointer erlaubt Referenzierung beliebiger Stellen (“Points” bzw. “Ranges”) im Dokument (bzw. in Elementen, die mit XPath identifiziert wurden),

Identifizierung von Points und Ranges mit String-Matching Mechanismen.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 33: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 33Klemens Böhm

point und range Location Types Container Node und Index definieren

Location vom Typ point, z.B.start-point(//title, “pipapo”)[17]Ausdruck identifiziert Start-Punkt des 17. Vorkommens des Strings ‘pipapo’ in einem title-Element,

range-Location ist definiert durch zwei Punkte, z.B. Xpointer(id(“sec2.1”)/descendant:P[last()] to id(“sec2.2”)/descendant::P[last()])

Ausdruck identifiziert Bereich vom letzten P-Element in sec2.1 bis zum letzten P-Element von sec2.2.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 34: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 34Klemens Böhm

String Matching Mechanismen XPpointer bietet Konstrukt, das den range

von Vorkommen eines Strings zurückliefert. Beispiel:string-range(//title, “Klemens Boehm”)[17]

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 35: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 35Klemens Böhm

Hyperlinks Motivation, Begriffsbildung, Standardisierung durch XLink.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 36: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 36Klemens Böhm

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Links - Motivation Ziel: Positionen in einem Dokument referenzieren

und diese mit einer Query beschreiben; Standard-HTML-Mechanismus ist zu unflexibel und erfordert Marke im Zieldokument;

man will Links definieren aus Dokumenten, die man nicht modifizieren kann;Beispiel auf folgender Folie; Unterschied zw. Definieren von Links und Darstellen von Links

Links können i.a. mehrere ‘Zielobjekte’ referenzieren; gleiche Differenzierung

man will getypte Links und Links mit Attributen; Ressource kann Teil mehr als eines Links sein

(mit HTML und herkömmlichen Browsern nicht ohne weiteres darstellbar).

Page 37: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 37Klemens Böhm

Bestandteile eines Links - Beispiel

Konstruktions-unterlagenModell XY500‘Fahrzeugelektrik’Bild 28

AuswertungKundenbeschwerden‘Fahrzeugelektrik’vorletzter Absatz

Konstruktions-unterlagenModell XY500‘Hydraulik’drittes Bild

Schluss-folgerung

TÜV-Vorschrift xyz,Abschnitt 28

ProtokollEntwickler-Meeting03.05.1999Punkt 18result

resultinput

input

input

LocatorsDaten, die Teil des Links sind, die Ressource identifizieren

‘Link-Semantik’

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Semantik der ‘remote resource’

Beispiel ‘Design Rationale Management’

Page 38: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 38Klemens Böhm

Links in XML

Simple Linknur ein Locator;(Locator - Daten im Link, die eine Ressource identifizieren) ein Element f. Linking Element u. Locator

Extended Link

XPointer Link Group

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 39: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 39Klemens Böhm

Inline-Links und out-of-line Links Differenzierung zwischen inline-Links

und out-of-line Links: inline-Link: Inhalt des Link-Elements

ist eine Ressource, z.B. A in HTML. out-of-line Link - Gegenteil.

Inhalt des Links ist keine Ressource.out-of-line simple link sind moeglich, “one-ended”, bringen Properties mit Locations in Verbindung

Es gibt keine Alternative zu out-of-line Links

bei Read-Only Ressourcen und ‘multi-dimensional Traversal’.

nicht dasselbe: Interne Links - externe Links.

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 40: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 40Klemens Böhm

Beispiel für inline-Link

<mylink xml:link="simple" title="Citation” href="http://www.xyz.com/xml/foo.xml" show="new" content-role="Reference">as discussed in Smith(1997)</mylink>

Semantik der lokalen RessourceLocator - Daten im Link,

die eine Ressource identifizieren

beschreibt remote resource

Attribut xml:link enthaelt Information darueber, um was fuer einen link-Typ es sich handelt, z.B. ‘simple’ oder 'extended' oder 'group'.‘Citation’ - Zitat

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 41: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 41Klemens Böhm

Beispiel: Extended Link

<?xml version="1.0"?><product xml:link="extended"

inline= "false“ indicates inline status

title= "Das FooBar Produkt"id= "id12345">

<locator href= "desc.xml"role= "Beschreibung"/>

<locator href= "img.gif"role= "Bild"/>

<locator href= "urn:rdbm:select price

from products

where id="id12345"role= "Preis"/>

</product>

locatorlocator

productproduct

locatorlocator locatorlocator

XLinks sind vollwertige Objekte.role kann auch Attribut fuer Link-Element sein.

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 42: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 42Klemens Böhm

Was wird durch XLink standardisiert?

Locators, die die ‘remote resources’ identifizieren

Beschrei-bung des Links(‘Link-Semantik’)

Beschreibung (‘Semantik’)der remote resources

Beschreibung (‘Semantik’)der local resource,falls inline-Link

...Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 43: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 43Klemens Böhm

Attribute der Link-Elemente <link>-Element Attribute

role Rolle des LinksText, der von

Anwendungen interpretiert wird, z.B.PRIMARY, criticism,

summary. Attribute für lokale Ressource, falls inline:

content-role Rolle des anchors content-title

keine Aussage darueber, wie diese Information verwendet werden kann/soll; optionales Attr.

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 44: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 44Klemens Böhm

Attribute der Link-Elemente (2) Entfernte Ressource:

role title ‘displayable caption’ show embed, replace, new

wie wird Ressource angezeigt, zu der navigiert wird?

actuate auto, userwann soll Traversierung des Links erfolgen? Auto - Anzeigen der Ressource, sobald and. Ressource des Links angetroffen wurde (falls Reihenfolge der Ressourcen erforderlich, die aus dem Link)

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 45: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 45Klemens Böhm

locator

Das Link-Element

•<link>-Element Attribute– role– inline (true, false)

– lokalen Ressource (falls inline)– content-role– content-title

– entfernte Ressource– role– title– show (embed, replace, new)– actuate (auto, user)– behaviour

‚traversal behavior‘, keine Constraints fuer Attributwert

• <locator>-Element Attribute– href

locator

linkelement

..

.

entfernteRessource

lokaleRessource

Übersicht

DOM

SAX

XPath

XPointer

XLink

- Motivation

- Begriffe

- Standardis.

Sonstiges

Page 46: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 46Klemens Böhm

XML Architektur des W3C

CSS Cascading Style Sheets (Level 1 und 2)Recommendation, 12.05.1998

DOM Document Object Model (DOM) Level 1Recommendation, 01.10.1998

RDF/RDFS Resource Description Framework4. Working Draft, 08.10.1998

XLink Extensible Linking Language2. Working Draft, 03.03.1998

XML Extensible Markup LanguageRecommendation, 10.02.1998

XMLNS Namespaces in XML4. Working Draft, 16.09.1998

XPointer XML Pointer Language2. Working Draft, 03.03.1998

XSL Extensible Stylesheet Language2. Working Draft, 18.08.1998

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 47: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 47Klemens Böhm

Standard-DTDs (1/2) Offizielle W3C-DTDs

MathML: Mathematical Markup Language SMIL: Synchronized Multimedia

Integration Language Appel: A Privacy Preference Exchange Language RDF: Resource Description Framework RDFS: Resource Description Framework

Schemas SVG: Scaleable Vector Graphics HTML: Hypertext Markup Language

E-Commerce OFX: Open Financial Exchange XMLEDI: Electronic Data Interchange

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 48: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 48Klemens Böhm

Standard-DTDs (2/2) Wissenschaft

CML: Chemical Markup Language Computer, Kommunikation

CDF: Channel Definition Format OSD: Open Software Distribution WIDL: Web Interface Definition Language JSML: Java Speech Markup Language DocBook

Über hundert weitere von verschiedenen Gruppen angekündigte DTDs: Immobilien, Logfiles, Genealogie etc.

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges

Page 49: Interoperable Informationssysteme - 1 Klemens Böhm XML - verwandte Standards

Interoperable Informationssysteme - 49Klemens Böhm

Mit XML zusammenhängende Standards

SGMLStandard Generalized Markup LanguageISO/IEC 8879:1986

HyTimeHypermedia/Time-based Structuring LanguageISO/IEC 10744:1992

UCSUniversal Multiple-Octet Coded Character Set (UCS)ISO/IEC 10646-1:1993

DSSSLDocument Style Semantics and SpecificationLanguageISO/IEC 10179:1996

Übersicht

DOM

SAX

XPath

XPointer

XLink

Sonstiges