• Keine Ergebnisse gefunden

Aufbau von XML XML - - Dokumenten

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufbau von XML XML - - Dokumenten"

Copied!
69
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Aufbau von

Aufbau von XML XML - - Dokumenten

Dokumenten

(2)

Organisatorisches

Organisatorisches

(3)

News News

ƒƒ Alle angemeldeten kAlle angemeldeten köönnen teilnehmennnen teilnehmen

ƒƒ ÜÜbung: bung:

ÆÆ Di., 12:15Di., 12:15--13:45, H13:45, Höörsaal 028rsaal 028 ÆÆ Mo., Mo., 8:158:15--9:45, H9:45, Höörsaal 028rsaal 028

ƒƒ StartStart

ÆÆ Mo.Mo. –– 07. Mai 2007 07. Mai 2007 ÆÆ Di. –Di. – 08. Mai 2007 08. Mai 2007

(4)

Aufbau von

Aufbau von XML XML - - Dokumenten

Dokumenten

(5)

Heutige Vorlesung Heutige Vorlesung

ƒƒ XMLXML--SyntaxSyntax

ƒƒ ElementeElemente

ƒƒ AttributeAttribute

ƒƒ DeklarationDeklaration

ƒƒ ……

ƒƒ NamensräNamensräumeume

(6)

Wiederholung: Was ist XML?

Wiederholung: Was ist XML?

ƒ XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen.

ƒ XML sieht ein wenig wie HTML aus.

ƒ XML ist Text, aber nicht zum Lesen.

ƒ XML ist eine Familie von Techniken.

ƒ XML ist neu, aber nicht so neu.

ƒ XML überführt HTML in XHTML

ƒ XML ist modular

ƒ XML ist lizenzfrei und plattformunabhängig.

Quelle: http://www.w3c.de/Misc/XML-in-10-points.html

(7)

XML XML - - Syntax Syntax : :

XML XML - - Dokumente Dokumente

(8)

Was ist ein

Was ist ein XML XML - - Dokument Dokument ? ?

Inhalt: Text oder Daten

XMLXML--DateiDatei

gespeichert in XMLXML--DokumentDokument

kodiert als

Objekt, das Syntaxregeln von XML entspricht

(wohlgeformt ist)

(9)

Grundbausteine von XML Grundbausteine von XML

ƒƒ Elemente: strukturieren das XML-DokumentElemente

ƒƒ Attribute: Zusatzinformationen zu ElementenAttribute

ƒƒ XMLXML--Deklaration: Informationen für ParserDeklaration

ƒƒ NamensrNamensrääume: lösen Namenskonflikte auf und geben ume Elemente eine Bedeutung

<?xml version="1.0" encoding="UTF-8"?>

<name id="1232345">

<first>John</first>

<middle>Fitzgerald Johansen</middle>

<last>Doe</last>

</name>

(10)

XML XML - - Syntax Syntax

Grundbausteine:

Grundbausteine: XML XML - - Elemente Elemente

(11)

Grundbausteine:

Grundbausteine: XML XML- - Elemente Elemente

<first>John</first>

ƒ Beispiel:

ƒ besteht aus:

- einem AnfangsAnfangs--Tag (engl. start tag): hier <first>Tag

- einem dazugehörigen EndeEnde--TagTag (engl. end tag): hier

</first>

- einem Inhalt: hier „John“Inhalt

ƒ alles zusammen bildet ein Element Element

ƒ haben einen Namen: hier „first“Namen

(12)

Inhalt von Elementen Inhalt von Elementen

1.1. unstrukturierter Inhalt:unstrukturierter Inhalt

einfacher Text ohne Kind-Elemente 2.2. strukturierter Inhalt:strukturierter Inhalt

Sequenz von > Ø Kind-Elementen 3.3. gemischter Inhalt:gemischter Inhalt

enthält Text mit mind. einem Kind-Element 4.4. leerer Inhaltleerer Inhalt

(13)

1. Unstrukturierter Inhalt 1. Unstrukturierter Inhalt

ƒ Beispiel:

ƒ einfacher Text ohne Kind-Elemente

KindKind--Element: Element, das im Inhalt eines Elementes Element vorkommt

ƒ unstrukturierter Inhalt auch als ParsedParsed CharacterCharacter DataData (PCDATA) bezeichnet: PCDATA

-- charactercharacter data: einfache Zeichenkettedata

-- parsed: Zeichenkette wird vom Parser analysiert, um parsed Ende-Tag zu identifizieren.

- Normalisierung: u.a. Zeilenumbruch (CR+LF) Î #xA

<first>JohnJohn</first>

Anmerkung: Auf den Folien schreibe ich der besseren Lesbarkeit

(14)

PCDATA PCDATA

ƒ Reservierte Symbole < und & in PCDATA nicht erlaubt.

ƒ Symbole wie >, /, (, ), {, }, [, ], % allerdings erlaubt

ƒ statt < und & EntityEntity ReferencesReferences &amp; bzw. &lt;

benutzen

ƒ Entity References in XML:

&amp; Ö &

&lt; Ö <

&gt; Ö >

&apos; Ö '

&quot; Ö "

(15)

CDATA CDATA

ƒ Unstrukturierten Inhalt mit vielen reservierten Symbolen besser als CharacterCharacter DataData (CDATA) CDATA darstellen.

ƒ Beispiel:

ƒ Inhalt: String zwischen inneren Klammern [ ] hier: X < Y & Y < Z

ƒ XML-Parser sucht in CDATA lediglich ]]>, analysiert den Inhalt aber ansonsten nicht.

ƒ “]]>“ als Inhalt von CDATA nicht erlaubt

<formula>

<![CDATA[

<![CDATA[ X < Y & Y < Z ]]>]]>

</formula>

(16)

2. Strukturierter Inhalt 2. Strukturierter Inhalt

ƒ Beispiel:

ƒ Sequenz von > 0 Kind-Elementen:

hier: <first>John</first> und <last>Doe</last>

ƒ kein Text vor, nach oder zwischen den Kind-Elementen

ƒ Kind-Elemente immer geordnet:

Reihenfolge, so wie sie im XML-Dokument erscheinen

ƒ Elemente können beliebig tief geschachtelt werden.

<name>

<first>John</first>

<last>Doe</last>

</name>

(17)

Baumstruktur von XML Baumstruktur von XML

namename

first

first middlemiddle lastlast

„John“

„John“ „Fitzgerald Johansen“„Fitzgerald Johansen“ „Doe“„Doe“

<name>

<first>John</first>

<middle>Fitzgerald Johansen </middle>

<last>Doe</last>

</name>

(18)

3. Gemischter Inhalt 3. Gemischter Inhalt

ƒ Englisch: mixedmixed contentcontent

ƒ enthält Text mit mindestens einem Kind-Element

ƒ Beispiel:

<section>

Text

<subsection> … </subsection>

Text

</section>

ƒ Wie unterscheidet ein Parser strukturierten und gemischten Inhalt, wenn Text = leerer String?

ƒ Antwort: Nur mit zugehöriger DTD oder XML-Schema möglich!

(19)

Baumstruktur von XML Baumstruktur von XML

<name>

<first>John</first>

<middle>Fitzgerald Johansen </middle>

Text

</name>

namename

first

first middlemiddle lastlast

„John“

„John“ „Fitzgerald Johansen“„Fitzgerald Johansen“ „Text“„Text“

(20)

4. Leerer Inhalt 4. Leerer Inhalt

ƒ Beispiel:

ƒ weder Text noch Kind-Element

ƒ <middle></middle> auch leeres Elementleeres Element genannt

ƒ Abkürzung: selbstschlieselbstschließßendesendes Tag (engl.: self-closing tag) Tag

<middle/> :

<name>

<first>John</first>

<middle<middle></></middlemiddle>>

<last>Doe</last>

</name>

<name>

<first>John</first>

<<middlemiddle/>/>

<last>Doe</last>

</name>

(21)

Warum leere Elemente?

Warum leere Elemente?

<name>

<first>John</first>

<last>Doe</last>

</name>

<name>

<first>John</first>

<middle<middle/>/>

<last>Doe</last>

</name>

vs.

ƒ leeres Element evtl. von DTD oder XML-Schema vorgeschrieben

ƒ einfacher später mit Inhalt zu füllen

ƒ leeres Element kann Attribute haben:

<middle status=''unknownstatus=''unknown''></middle>'' oder

<middle status=''unknownstatus=''unknown''/>''

(22)

XML XML - - Syntax Syntax

Grundbausteine:

Grundbausteine: XML XML - - Attribute Attribute

(23)

Grundbausteine:

Grundbausteine: XML XML- - Attribute Attribute

ƒƒ Attribut: Name-Wert-PaarAttribut

ƒ name="wert" oder name='wert' aber name= "wert'

ƒƒ AttributAttribut--Wert:Wert

- immer PCDATA: keine Kind-Elemente, kein < und &

- "we"rt" und 'we'rt' ebenfalls nicht erlaubt

- Normalisierung: u.a. Zeilenumbruch Î #xA

ƒ Beachte: Reihenfolge der Attribute belanglos

<name id="1232345" id="1232345" nickname="Shinynickname="Shiny John">John"

<first>John</first>

<last>Doe</last>

</name>

(24)

Attribut statt Element Attribut statt Element

ƒ Jedes Attribut auch als Kind-Element darstellbar:

id als Attribut id als Kind-Element

<name id="12345">id="12345">

<first>John</first>

<middle>Fitzgerald</middle>

<last>Doe</last>

</name>

<name>

<id>12345</

<id>12345</idid>>

<first>John</first>

<middle>Fitzgerald</middle>

<last>Doe</last>

</name>

(25)

Element statt Attribut Element statt Attribut

ƒ Jedes Kind-Element mit unstrukturiertemunstrukturiertem Inhalt auch als Attribut darstellbar:

id, first, middle und last als Kind-Elemente

id, first, middle und last als Attribute

Resultat: leeres Element

<name>

<id>12345</id>

<first>John</first>

<middle>Fitzgerald</middle>

<last>Doe</last>

</name>

<name id="12345"

first="John"

middle="Fitzgerald"

last="Doe" />

(26)

Attribut oder Element?

Attribut oder Element?

ƒ Attribut kann nur einfachen String (PCDATA) als Wert haben, Element kann beliebig strukturiert sein

ƒ <![CDATA[ … ]]> in Element-Inhalten erlaubt, nicht aber in Attribut-Werten

ƒ Reihenfolge der Attribute belanglos, diejenige von Elementen nicht

ƒ einheitliche Darstellung mit Elementen eleganter, Darstellung mit Attributen kompakter

Fazit: Attribute für einfache, unstrukturierte Zusatzinformationen (Metadaten) geeignet.

(27)

<name creation-creation-date=''21.05.2003''date=''21.05.2003''>

<first>John</first>

<middle>Fitzgerald Johansen</middle>

<last>Doe</last>

</name>

Beispiel Beispiel

ƒ Erstellungsdatum creation-date ist Zusatzinformation

ƒ falls noch andere Attribute vorhanden: Reihenfolge egal Ö Repräsentation als Attribut

ƒ Nachteil: Datum "21.05.2003" unstrukturiert

(28)

Reservierte Attribute Reservierte Attribute

ƒƒ xml:langxml:lang

ƒ Sprache des Inhalts

ƒ Beispiel: <p xml:lang="de">Übung 1</p>

ƒƒ xml:spacexml:space

ƒ Leerräume im Inhalt

ƒ Beispiel: <p xml:space="default">Übung 1</p>

(29)

XML XML - - Syntax Syntax

Grundbausteine:

Grundbausteine: XML XML - - Deklaration

Deklaration

(30)

Grundbausteine

Grundbausteine : : XML XML - - Deklaration Deklaration

ƒ enthält Informationen für Parser: z.B. verwendete XML- Version und Kodierung

ƒ wenn vorhanden, dann immer am Anfang der Datei

ƒ in XML 1.0 optional, in XML 1.1 obligatorisch

<?

<?xmlxml version="1.0" encoding="UTFversion="1.0" encoding="UTF--8"?>8"?>

<name id="1232345">

<first>John</first>

<middle>Fitzgerald Johansen</middle>

<last>Doe</last>

</name>

(31)

XML XML - - Deklaration Deklaration

Attribut

Attribut versionversion

ƒ verwendete XML-Version: "1.0" oder "1.1"

ƒ obligatorisch Attribut

Attribut encodingencoding

ƒ Kodierung der XML-Datei

ƒ optional Attribut

Attribut standalonestandalone

ƒ Gibt an, ob es eine zugehörige DTD oder ein XML- Schema gibt ("no") oder nicht ("yes").

ƒ optional

Beachte: immer in dieser Reihenfolge!

<?xml version="1.0" encoding="UTF-8"?>

(32)

XML XML - - Deklaration Deklaration : Kodierung : Kodierung

XMLXML--DokumentDokument

XML-XML-DateiDatei

gespeichert in

Unicode

(UTF-8) windows-

1252

(33)

XML XML - - Deklaration Deklaration : Kodierung : Kodierung

XMLXML--ParserParser

ƒ müssen intern mit Unicode (UTF-8 oder UTF-16) arbeiten

Unicode Unicode

ƒ kann alle nationalen Zeichen darstellen: insgesamt ca.

65.000 Zeichen encoding

encoding-Attribut-Attribut

ƒ Zeichenkodierung der XML-Datei

ƒ Fehlt das Attribut, dann wird Kodierung in Unicode angenommen.

ƒ Beachte: XML-Parser müssen nur Unicode verarbeiten

(34)

XML XML - - Syntax Syntax

Andere Grundbausteine

Andere Grundbausteine

(35)

Weitere Grundbausteine von XML Weitere Grundbausteine von XML

Kommentare Kommentare

ƒ <!-- Kommentar -->

ƒ -- in Kommentaren nicht erlaubt Prozessorinstruktionen

Prozessorinstruktionen

ƒ Beispiel: <?mysql SELECT * FROM PO?>

ƒ selten benutzt

(36)

XML XML - - Syntax Syntax

Wohlgeformte

Wohlgeformte XML XML - - Dokumente Dokumente

(37)

Wohlgeformte

Wohlgeformte XML XML - - Dokumente Dokumente

1. Jedes Anfangs-Tag muss ein zugehöriges Ende-Tag haben.

2. Elemente dürfen sich nicht überlappen.

3. XML-Dokumente haben genau ein Wurzel-Element.

4. Element-Namen müssen bestimmten Namenskonventionen entsprechen.

5. XML beachtet grundsätzlich Groß- und Kleinschreibung.

6. XML belässt White Space im Text.

7. Ein Element darf niemals zwei Attribute mit dem selben Namen haben.

Wie kann aus den Grundbausteinen ein

wohlgeformtes XML-Dokument gebildet werden?

(38)

Regel 1: Anfangs

Regel 1: Anfangs- - und Ende- und Ende - Tags Tags

Jedes Anfangs

Jedes Anfangs--Tag muss zugehTag muss zugehööriges Ende-riges Ende-Tag haben.Tag haben.

ƒ In HTML gilt diese Regel nicht:

<HTML>

<BODY>

<P>TextP

<BR>More text in the same paragraph.BR

<P>Some text in another paragraph.</P P>P

</BODY>

</HTML>

ƒ Wo endet das erste P-Element?

Ö HTML mehrdeutig

(39)

Regel 2:

Regel 2: Ü Überlappung von Elementen berlappung von Elementen

Elemente d

Elemente düürfen sich nicht rfen sich nicht üüberlappen.berlappen.

ƒ In HTML gilt diese Regel nicht:

<HTML>

<BODY>

<P>Some

<STRONG>formatted

<EM>text

</STRONG>, but

</EM>

no grammar no good!

</p>

</BODY>

</HTML>

Ö HTML unstrukturiert

(40)

Regel 3: Wurzel

Regel 3: Wurzel- -Elemente Elemente

Jedes

Jedes XMLXML--DokumentDokument hat genau ein Wurzelhat genau ein Wurzel--Element.Element.

ƒ Also z.B. statt zweier Wurzel-Elemente

zusätzliches Eltern-Element einführen:

<?xml version="1.0"?>

<names>

<name>John</name>

<name>Jane</name>

</names>

<?xml version="1.0"?>

<name>John</name>

<name>Jane</name>

(41)

Regel 4: Namenskonventionen Regel 4: Namenskonventionen

Element

Element-- und Attributund Attribut--Namen:Namen

ƒ beginnen entweder mit Buchstaben oder _ aber nie mit Zahlen:

z.B. first, First oder _First

ƒ nach erstem Zeichen zusätzlich Zahlen sowie - und Punkt erlaubt:

z.B. _1st-name oder _1st.name

ƒ enthalten keine Leerzeichenkeine Leerzeichen

ƒ enthalten kein Doppelpunktkein Doppelpunkt

ƒ beginnen nicht mitnicht xml, unabhängig davon, ob die xml

einzelnen Buchstaben groß- oder kleingeschrieben sind

(42)

Namenskonvention: Beispiele Namenskonvention: Beispiele

ƒ <résumé>

ƒ <xml-tag>

ƒ <123>

ƒ <fun=xml>

ƒ <first name>

9

nicht korrekt: beginnt mit „xml“

nicht korrekt: beginnt mit Zahl nicht korrekt: enthält „=“

erlaubt wären: _, - und Punkt

nicht korrekt: enthält Leerzeichen

(43)

Regel 5:

Regel 5: Gro Gro ß- ß - und Kleinschreibung und Kleinschreibung

XML beachtet Gro

XML beachtet Großß-- und Kleinschreibung.und Kleinschreibung.

ƒ Im Gegensatz zu HTML unterscheidet XML also z.B.

zwischen <P> und <p>.

Dennoch möglichst nicht gleichzeitig

<First> und <first> verwenden!

Hinweis: eine Schriebweise im gesamten Dokument verwenden z.B. <FirstName>

(44)

Regel 6:

Regel 6: White White Space Space

XML bel

XML beläässt White sst White SpaceSpace im Text.im Text.

ƒ Beispiel:

ƒ Inhalt des P-Elementes:

<?xml version="1.0" encoding="UTF-8">

<P>This is a paragraph. It has a whole bunch

of space.</P>

This is a paragraph. It has a whole bunch

of space.

(45)

Regel 6:

Regel 6: White White Space Space

ƒ Beachte: Von Browsern wird White Space allerdings nicht angezeigt:

ƒ Grund:

- XML-Dokumente werden zur Darstellung im Browser in HTML umgewandelt

(46)

XML- XML - Versionen Versionen

XML 1.0

XML 1.0 XML 1.1XML 1.1

XMLXML--DeklarationDeklaration optional obligatorisch Zeilenende (

Zeilenende (EoLEoL)) LF, CR LF, CR

NEL (IBM-Mainframe) Unicode in Namen

Unicode in Namen exklusive Strategie:

alle Zeichen verboten, die nicht ausdrücklich erlaubt

inklusive Strategie: alle Zeichen erlaubt, die nicht ausdrücklich verboten

Ö XML 1.1 interoperabel mit IBM-Mainframes Ö XML 1.1 aufwärtskompatibel bzgl. zukünftiger

Unicode-Versionen

Ö XML 1.1 nicht abwärtskompatibel!

(47)

Viel L

Viel Lä ä rm um XML 1.1! rm um XML 1.1!

ƒƒ XML 1.0, 3XML 1.0, 3rdrd EditionEdition zeitgleich mit XML 1.1 veröffentlicht!

ƒ 3rd Edition = 2nd Edition + Errata zur 2nd Edition

ƒ Änderungen von XML 1.1 nur für IBM-Mainframes und Nicht-ASCII-Zeichen relevant

ƒ XML 1.1 verlangt von Parsern, dass beide Versionen erkannt werden:

ƒ wenn keine XML-Deklaration oder explizit Version 1.0:

Wohlgeformtheit gemäß XML 1.0

ƒ in allen anderen Fällen:

Wohlgeformtheit gemäß XML 1.1

(48)

Was gibt es noch?

Was gibt es noch?

XML Information Set (Infoset) XML Information Set (Infoset)

ƒ beschreibt das XML-Datenmodell unabhängig von der konkreten XML-Syntax

ƒ allerdings ziemlich umständlich:

Ö http://www.w3.org/TR/2004/REC-xml-infoset-20040204/

“Rather than saying “‘foo’ has a ‘quantity’ of ‘3’” you have to say “the element information item with the [local name] property ‘foo’ has an attribute information

item in its [attributes] property with the [local name]

property ‘quantity’ and the [normalized value] property

‘3’.” (Nottingham, 2004)

(49)

Kleiner Online

Kleiner Online - - Test zu XML Test zu XML

ƒ W3 Schools: kostenlose Online-Tutorials zu XML- Technologien

Ö Online-Test

http://www.w3schools.com/

http://www.w3schools.com/xml/xml/xml_quiz.aspxml_quiz.asp

(50)

XML XML - - Editoren Editoren

ƒ XML-Dokumente werden normalerweise mit speziellen Editoren erstellt und modifiziert.

ƒ meistbenutzte XML-Editor: XMLSpy von Altova

ƒ steht in den PC-Pools zur Verfügung

ƒ Home Edition kostenlos

ƒ Enterprise Edition als vierwöchige Testlizenz kostenlos

ÎÎ www.xmlspy.comwww.xmlspy.com

(51)

Namensr

Namensr ä ä ume ume

(52)

Namenskonflikte Namenskonflikte

<course>

<title>Semantic Web</title>

<lecturers>

<name>

<title>Priv.-Doz. Dr. M.S.E</title>

<first>Steffen</first>

<last>Staab</last>

</name>

</lecturers>

<date>12/11/2004</date>

<abstract>...</abstract>

</course>

ƒƒ Namenskonflikt: gleicher Namenskonflikt

Name, aber unterschiedliche Bedeutung

ƒ z.B. Titel einer Veranstaltung vs. Titel einer Person

ƒ in einem Dokument unterschiedliche

Vokabularien

(53)

Aufl Aufl ösung durch Pr ö sung durch Prä ä fixe fixe

<course:course>

<course:title>Semantic Web</course:title>

<course:lecturers>

<pers:name>

<pers:title>Priv.-Doz. Dr. M.S.E</pers:title>

<pers:first>Steffen</pers:first>

<pers:last>Staab</pers:last>

</pers:name>

</course:lecturers>

<course:date>12/11/2004</course:date>

<course:abstract>...</course:abstract>

</course:course>

ƒ Präfixe geben Kontext an:

Aus welchem Bereich stammt der Name?

ƒ z.B. pers:title vs. course:title

ƒ ähnliches Vorgehen in Programmiersprachen:

ƒ z.B. java.applet.Applet

(54)

Namensr

Namensr ä ä ume ume

Namensraum

Namensraum (namespace):

ƒ alle Bezeichner mit identischen

Anwendungskontext

ƒ Namensräume müssen eindeutig identifizierbar sein.

course:course course:title

course:lecturers course:date

course:abstract

pers:title pers:first pers:last

pers:name

(55)

Namensr

Namensr ä ä ume in XML ume in XML

ƒ WWW: Namensräume müssen global eindeutig sein.

ƒ In XML wird Namensraum mit URI identifiziert.

ƒ Zuerst wird Präfix bestimmter Namensraum zugeordnet, z.B.:

xmlns:pers="http://www.w3.org/2004/pers"

ƒ Anschließend kann das Namensraum-Präfix einem Namen vorangestellt werden: z.B. pers:title

ƒ Beachte: Wahl des Präfixes egal!

Namensraum

Namensraum--PräPräfixfix Namensraum-Namensraum-BezeichnerBezeichner (URI)

(56)

Beispiel Beispiel

<course:course xmlns:course="http://www.w3.org/2004/xmlns:course="http://www.w3.org/2004/coursecourse"> "

<course:titlecourse:title>Semantic Web</course:titlecourse:title>

<course:lecturers>

<pers:name xmlns:pers="httpxmlns:pers="http://www.w3.org/2004/://www.w3.org/2004/perspers">"

<pers:title>Priv.-Doz. Dr. M.S.E</pers:titpers:title pers:title>

<pers:first>Steffen</pers:first>

<pers:last>Staab</pers:last>

</pers:name>

</course:lecturers>

<course:date>12/11/2004</course:date>

<course:abstract>...</course:abstract>

</course:course>

(57)

Standard

Standard - - Namensraum Namensraum

ƒƒ xmlns="URIxmlns="URI"" statt xmlns:prefix="URI"

ƒ Namensraum-Präfix kann weggelassen werden.

ƒ Standard-Namensraum gilt für das Element, wo er definiert ist.

ƒ Kind-Elemente erben Standard-Namensraum von ihrem Eltern-Element.

ƒ Ausnahme: Standard-Namensraum wird überschrieben

ƒ Beachte: Standardnamensräume gelten nicht für Attribute

(58)

Beispiel Beispiel

<course:course xmlns:course="http://www.w3.org/2004/course">

<course:title>Semantic Web</course:title>

<course:lecturers>

<pers:name xmlns:pers="http://www.w3.org/2004/pers">

<pers:title>Priv.-Doz. Dr. M.S.E</pers:title>

<pers:first>Steffen</pers:first>

<pers:last>Staab</pers:last>

</pers:name>

</course:lecturers>

<course:date>12/11/2004</course:date>

<course:abstract>...</course:abstract>

</course:course>

(59)

Beispiel Beispiel

<course xmlns="http://www.w3.org/2004/course">

<title>Semantic Web</title>

<lecturers>

<pers:name xmlns:pers="http://www.w3.org/2004/pers">

<pers:title>Priv.-Doz. Dr. M.S.E</pers:title>

<pers:first>Steffen</pers:first>

<pers:last>Staab</pers:last>

</pers:name>

</lecturers>

<date>12/11/2004</date>

<abstract>...</abstract>

</course>

(60)

Beispiel Beispiel

<course xmlns="http://www.w3.org/2004/course">

<title>Semantic Web</title>

<lecturers>

<name xmlns:pers="http://www.w3.org/2004/pers">

<title>Priv.-Doz. Dr. M.S.E</title>

<first>Steffen</first>

<last>Staab</last>

</name>

</lecturers>

<date>12/11/2004</date>

<abstract>...</abstract>

</course>

(61)

Standard

Standard- - Namensr Namensr ä ä ume: G ume: G ü ü ltigkeit ltigkeit

<course xmlns="http://www.w3.org/2004/xmlns="http://www.w3.org/2004/course"course">

<titletitle>Semantic Web</title>title

<lecturers>

<name xmlns="http://www.w3.org/2004/xmlns="http://www.w3.org/2004/pers"pers">

<title>Priv.-Doz. Dr. M.S.E</title title>tit

<first>Steffen</first>

<last>Staab</last>

</name>

</lecturers>

<date>12/11/2004</date>

<abstract>...</abstract>

</course>

(62)

Exkurs

Exkurs : : U U niform niform R R esource Identifier esource Identifier

ƒ eindeutige Bezeichner für Ressourcen im WWW

ƒ URI kann den physischen Aufenthaltsort einer Resource beschreiben:

http://www.w3.org/1999/xhtml

ƒ Solche URIs werden auch Uniform Resource Uniform Resource LocatorsLocators (URLsURLs) genannt.

(63)

URIs URIs als Namensraum als Namensraum- - Bezeichner Bezeichner

ƒ Beispiel: http://www.w3.org/1999/http://www.w3.org/1999/xhtmlxhtml bezeichnet den Namensraum für XHTML

(64)

URIs URIs als Namensraum als Namensraum- - Bezeichner Bezeichner

ƒ URI kann (muss aber nicht) Beschreibung des Namensraumes enthalten:

z.B. XML-Schema oder Spezifikationen

ƒ URI muss nicht einmal existieren!

ƒ Allerdings ist nur bei existierenden URIs Eindeutigkeit sichergestellt.

(65)

Beispiel Beispiel

ƒ http://www.book-ns.org existiert (noch) nicht

ƒ keine Fehlermeldung, keine Warnung von XML-Parser oder XML–Editor

ƒ dennoch Eindeutigkeit nicht sichergestellt:

jemand anderes kann gleiche URL für anderen Namensraum verwenden

Öneue Namensräume nur mit URIs bezeichnen, die man selbst besitzt

<Book xmlnsxmlns="="http://www.bookshttp://www.books--ns.orgns.org"">

</Book>

(66)

Qualified

Qualified vs. Unqualified vs. Unqualified

ƒ Element- oder Attribut-Name heißt namensraumeingeschr

namensraumeingeschräänktnkt (qualifiedqualified), wenn er einem Namensraum zugeordnet ist.

ƒ Einschränkung vom Element-Namensraum:

1. Standard-Namensraum festlegen 2. Namensraum-Präfix voranstellen

ƒ Einschränkung vom Attribut-Namensraum:

1. Namensraum-Präfix voranstellen

(67)

Was bedeutet <p>…</p>?

HTML:

HTML:

ƒ Bedeutung festgelegt (p = Absatz) XML:XML:

ƒ Bedeutung offen

ƒ kann aber mit Namensraum Namensraum festlegt werden

ƒ Beispiel: p stammt aus dem Namensraum für XHTML.

<p>…</p>

<p xmlns:xhtml="http://www.w3.org/1999/xhtml">…</p>

<xhtml:p xmlns:xhtml="http://www.w3.org/1999/xhtml">…</xhtml:p>

Namensraum:

xhtml Abkürzung für Namensraum

(68)

Und das war es schon?

Und das war es schon?

ƒ Ja!

ƒ Syntax wohlgeformter XML-Dokumente (fast) vollständig vorgestellt

ƒ XML-Syntax also sehr einfach

ƒ gleichzeitig ist XML beliebig erweiterbar

ƒ Und das ist genau die Stärke von XML: einfach und flexibel!

(69)

Wie geht es weiter?

Wie geht es weiter?

; XML-Syntax

; Namensräume

ƒ Definition von XML-Sprachen mit DTDs und XML- Schema

ƒ 1. Übungsblatt

Referenzen

ÄHNLICHE DOKUMENTE

alle Zeichen erlaubt, die nicht ausdrücklich verboten.

Wer hat Kontrolle über das Parsen: die Anwendung oder der

• Sobald der Parser eine syntaktische Einheit analysiert hat, benachrichtigt er die Anwendung und übergibt die entsprechende Analyse.. • Beachte: „Push” bezieht sich wiederum

ƒ Für jedes Element kann ein Namensraum als Standard (default) festgelegt werden,

Wer hat Kontrolle über das Parsen: die Anwendung oder der

XSLT: nicht unbedingt nötig, da Transformation auf eigenem Server durchgeführt wird. XSLT: nicht unbedingt nötig, da Transformation auf eigenem Server

ƒ Eine Ortsangabe besteht aus dem Breitengrad, dem Längengrad und einem Maß für die Unsicherheit der beiden Angaben. ƒ Ein Breitengrad ist eine Dezimalzahl zwischen -90

ƒ Beachte: Sowohl für xlink:actuate als auch für xlink:show können eigene Werte definiert werden... Klaus Schild, ©