Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD...

60
http://www.text-technology.de/projects/sekimo.html Text Technological Modelling of Information Strukturierung von Inhalten eXtensible Markup Language Metasprache erlaubt die Definition eigener Markupsprachen zur Strukturierung von Informationen World Wide Web Consortium (W3C) Standard Basiert auf ISO Standard SGML Lizenzfrei, Plattform-unabhängig und gut unterstützt

Transcript of Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD...

Page 1: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Strukturierung von Inhalten

• eXtensible Markup Language• Metasprache• erlaubt die Definition eigener Markupsprachen zur Strukturierung

von Informationen• World Wide Web Consortium (W3C) Standard• Basiert auf ISO Standard SGML• Lizenzfrei, Plattform-unabhängig und gut unterstützt

Page 2: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Strukturierung von Inhalten

Von der Instanz zur DTD• Ein XML-Dokument ähnelt HTML

XML Instanz

• DOCTYPE-Angabe verbindet Instanz und DTD

<?xml version=“1.0“ encoding=“UTF-8”?><!DOCTYPE LearningObject SYSTEM "lo_aktuell.dtd"><LearningObject> <MetaData> <General Identifier="A-5" Structure="Linear"

AggregationLevel="3"><Title>XML</Title> <Language>de</Language> <Description>eXtensible Markup Language (XML)</Description><Keywords>XML</Keywords>

</General> </MetaData> <Content> <LearningObject> <MetaData> <General Identifier="A-5-1" Structure="Linear“

AggregationLevel="2"> <Title>Einführung in (XML)</Title><Language>de</Language> <Description>Einführung in XML</Description> <Keywords>XML</Keywords>

</General> </MetaData> <LayoutInformation CSS-URL="milca.css"/> <Content><Text><Paragraph>Dies ist ein Text.</Paragraph>

</Text></Content>

</LearningObject></Content>

</LearningObject>

<!DOCTYPE Wurzelelement SYSTEM "filename.dtd">

Page 3: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Strukturierung von Inhalten

XML zeichnet sich durch folgende Merkmale aus:• Hierarchischer Zusammenhang Teil-Ganzes-Beziehung• Selbstbeschreibende Daten• Text (ASCII, Unicode, oder anderer Zeichensatz)

Page 4: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Strukturierung von Inhalten

XML-Instanzen können• wohlgeformt sein

sie genügen der XML-Syntax

- jedes Element besteht aus Start- und Endtag

- Groß- und Kleinschreibung wird unterschieden

• valide sein

sie entsprechen einem Schema (DTD, XML Schema Beschreibung, RELAX NG Schema, Schematron Schema o. a.)

Page 5: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Strukturierung von Inhalten

Bisher haben wir uns nur mit (XHTML-) Instanzen beschäftigt, jetzt werden wir eigene

Markupsprachen entwerfen

Page 6: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

• Grammatik zur Beschreibung einer Markup-sprache

• Elemente

• Attribute

• Liste aller erlaubten Elemente und Attribute

• Gewährleistung struktureller Validität

• Formalisierung der Idee eines Dokumenttyps

Page 7: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

DTDs sind wie XML-Instanzen Textdateienaber

sie gehorchen einer eigenen Syntax!

Page 8: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Eine einfache XML-DTD"visitenkarte.dtd"

<?xml version="1.0"?><!ELEMENT Visitenkarte (Logo, Name, Fachgebiet, Adresse, Telefon_und_Fax, eMail)>

<!ELEMENT Logo EMPTY><!ATTLIST Logo src CDATA #REQUIRED>

<!ELEMENT Name (#PCDATA)>

<!ELEMENT Fachgebiet (#PCDATA)>

<!ELEMENT Adresse (#PCDATA)>

<!ELEMENT Telefon_und_Fax (#PCDATA)>

<!ELEMENT eMail (#PCDATA)>

Page 9: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Einheiten der Informationsmodellierung• Elemente

• Daten-Elemente

• Container-Elemente

• leere Elemente

• Attribute

• Zeichenketten

• Tokentyp

• Aufzählungen

Page 10: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Daten-Elemente• Ebene der konkreten Daten

<!ELEMENT Keyword (#PCDATA)>Deklarationsbeginn

Element-Name

Element-Deklaration

Inhaltsmodell: Zeichenkette

Deklarationsende

Page 11: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Beispiel-Instanz

<Keyword>Schifffahrt</Keyword>

Page 12: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Container-Elemente• Ebene der abstrakten Einheiten

<!ELEMENT Glossary (Keyword+)>

Inhaltsmodell: Container-Element

Okkurenzindikator

Page 13: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Beispiel-Instanz

<Glossary><Keyword>Schifffahrt</Keyword>

</Glossary >

Page 14: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

• Okkurenzindikatoren:

• + 1..n Vorkommen dieses Elements• * 0..n Vorkommen dieses Elements• ? 0..1 Vorkommen dieses Elements• 1 Vorkommen dieses Elements

• Konnektoren:

• , a , b b folgt a• | a | b b oder a

Page 15: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Mit Hilfe von Klammern können komplexe Inhaltsmodelle erstellt werden:

<!ELEMENT Glossary (Keyword+)><!ELEMENT Dictionary (Entry+)><!ELEMENT Entry (Keyword+, Gender, Decl?, Definition+)><!ELEMENT Entry ((Keyword+, Gender) |

(Gender, Keyword+)), Decl?, Definition+)>

<!ELEMENT Entry ((Keyword+, Gender) | (Gender, Keyword+)), (Decl, Definition)?)>

Page 16: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

• Das Inhaltsmodell darf nicht ambig sein:

<!ELEMENT a ((b, c) | (b, d))>• ist per definitionem verboten

• führt zum Abbruch der Verarbeitung durch XML-Software

• Ambige Inhaltsmodelle können oft umformuliert werden:

<!ELEMENT a (b, (c | d))>

Page 17: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Leere Elemente• Als Träger von Attributen

<!ELEMENT Metadata EMPTY>

Inhaltsmodell: leer

Page 18: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Beispiel-Instanz

<Metadata/>

<Metadata></Metadata>

Page 19: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Elemente mit gemischten Inhaltsmodell• Sowohl Daten- als auch Container-Element

<!ELEMENT Keyword (#PCDATA | Gender)*>

Inhaltsmodell: Zeichenkette, Element

Okkurenzindikator: *

Page 20: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Elemente mit gemischten Inhaltsmodell• Sowohl Daten- als auch Container-Element

<!ELEMENT Keyword (#PCDATA | Gender)*>

• nur | als Konnektor erlaubt

• nur * als Operator zulässig• PCDATA zuerst

Page 21: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

DTD – Document Type Definition

Beispiel-Instanz

<Keyword><Gender>m</Gender>Mann.

</Keyword>

Page 22: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Names

Namen in XML (Qualified XML Names)

beginnen mit • einem Buchstaben

• „:“

• „_“

Anschließend folgen• Buchstaben, Zahlen

• „_“, „-“, „.“, „:“

Achtung!• „:“ dient zur Trennung von Präfix und

Element-/Attributnamen (XML Namespaces)

• „xml“ darf nicht Namensbestandteil sein

Page 23: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Attribute• Informationen über das Element

• Informationen über den Inhalt des Elements

Metadaten

Page 24: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Attribute in der Instanz• Werte eines Attributs müssen in Anführungszeichen "…" oder '…' stehen

bekannt aus XHTML

Page 25: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Attribute in der DTD• Attributlistendeklaration sind an eine Element-deklaration gebunden

• Attribute werden immer nur für ein Element deklariert

• es ist möglich (aber nicht ratsam), ein Attribut a für ein Element x und ein anderes Attribut a für y zu deklarieren

• Mehrere Attribute werden in einer Attributlisten-deklaration deklariert

Page 26: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Attribute in der DTD• Eine Attributlistendeklaration besteht aus:

• dem Namen des Elements, zu dem das Attribut gehört

• dem Namen des Attributs

• dem Attributtyp

• der Vorgabedeklaration

Page 27: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Ein Beispiel:

<!ELEMENT meaning (#PCDATA)><!ATTLIST meaning style CDATA #IMPLIED >

Element, dem das Attribut zugeordnet ist

Attributname

Inhaltsmodell

Vorgabedeklaration

Page 28: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Vorgabedeklaration• #IMPLIED• #REQUIRED• Attributwert

• #FIXED Attributwert

Page 29: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Zeichenketten-Attribut• Inhaltsmodell analog zu Daten-Elementen

• CDATA statt PCDATA Inhalt

<!ELEMENT meaning (#PCDATA)><!ATTLIST meaning style CDATA #IMPLIED >

Deklarationsbeginn

Element, dem das Attribut zugeordnet ist

Attributlisten-Deklaration

Attributname

Inhaltsmodell: CDATAVorgabedeklaration

Deklarationsende

Page 30: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<meaning style="Slang">Cool, ey!

</meaning>Nicht erlaubte Werte:• < (durch &lt; "less than" ersetzen)

• & (durch &amp; ersetzen)

• ' falls Attributwerte mit ' umschlossen werden

• " falls Attributwerte mit " umschlossen werden

Page 31: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Token-Attribute• ID• IDREF, IDREFS• ENTITY, ENTITIES• NMTKON, NMTOKENS• Aufzählungen

Page 32: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

ID-Attribut• Speicherung einer dokumentweit eindeutigen ID

• IDs sind aufgebaut wie XML Names

<!ELEMENT keyword (#PCDATA)><!ATTLIST keywordid ID #REQUIRED >

Inhaltsmodell: ID

Page 33: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<keyword id="Schifffahrt">Schifffahrt</keyword>

Page 34: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

IDREF-Attribut• Herstellung einer Referenz zwischen Knoten im Baum

<!ELEMENT variant EMPTY><!ATTLIST variant keyword IDREF #IMPLIED >

Inhaltsmodell: IDREF

Page 35: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<variant keyword="Schifffahrt">Schiffahrt</variant >

Page 36: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

IDREFS-Attribut• Herstellung einer Referenz zwischen mehreren Knoten im Baum (1:n)

<!ELEMENT variant EMPTY><!ATTLIST variant keyword IDREFS #IMPLIED>

Inhaltsmodell: IDREFS

Page 37: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<variant keyword="Schifffahrt Schiff-Fahrt">Schiffahrt</variant>

Page 38: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Andere Token-Attribute:

Page 39: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

ENTITY-Attribut• Referenz auf eine generelle Entitität

• Die Entität muss in der DTD deklariert sein

<!ELEMENT logo EMPTY><!ATTLIST logosource ENTITY #IMPLIED>

Inhaltsmodell: ENTITY

Page 40: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<logo source="LogoUB"/>

Page 41: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

ENTITIES-Attribut• Referenz auf mehrere generelle Entititäten

• Die Entitäten müssen in der DTD deklariert sein

<!ELEMENT logo EMPTY><!ATTLIST logosource ENTITIES #IMPLIED>

Inhaltsmodell: ENTITIES

Page 42: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<logo source="LogoUB LogoTT"/>

Page 43: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

NMTOKEN-Attribut• Einschränkung gegenüber Zeichenkettenattributen• XML Names statt CDATA Inhalt (keine Leerzeichen, keine Zahlen an

erster Stelle)

<!ELEMENT file EMPTY><!ATTLIST file name NMTOKEN #IMPLIED>

Inhaltsmodell: NMTOKEN

Page 44: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<file name="readme.txt"/>

Page 45: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

NMTOKENS-Attribut• Auflistung mehrerer NMTOKEN

<!ELEMENT files EMPTY><!ATTLIST files names NMTOKENS #IMPLIED>

Inhaltsmodell: NMTOKEN

Page 46: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<files names="readme.txt liesmich.txt"/>

Page 47: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Aufzählung• Vokabular möglicher Werte (NMTOKEN)

• Vorgabedeklaration kann durch Standardwert ersetzt werden

<!ELEMENT spelling (#PCDATA)><!ATTLIST spelling orthography (old | new) "new">

Inhaltsmodell: Wertevokabular

Vorgabedeklaration oder Standardwert

Page 48: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Beispiel-Instanz

<spelling orthography="old">Schiffahrt </spelling>

Page 49: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Elemente oder Attribute?+ Elemente strukturieren Informationen

+ Elementinhalt direkt prozessierbar

- Elementinhalt nur PCDATA, keine weiteren Restriktionen möglich

Page 50: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Attribute

Elemente oder Attribute?+ Attributinhalt CDATA+ Attribute können Vorgabewerte enthalten

+ ID/IDREF-Attribute sind unverzichtbar zur Herstellung von Beziehungen

- Attribute können nicht strukturieren

- Attribute speichern Informationen über Elemente

Page 51: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Entitäten

Entitäten• Platzhalter für Daten

• Generelle Entitäten (general entities) als Platzhalter in Instanzen

• Parameter-Entitäten (parameter entities) als Platzhalter in DTDs

• Interne und externe Entitäten

Page 52: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Entitäten

Entitäten• HTML enthält einige vordefinierte interne general entities:

• &lt; „<“• &gt; „>“• &uuml; „ü“• &amp; „&“

Page 53: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

XML Namespaces• Namespaces kennzeichnen eine Markupsprache als einem Namensraum

zugehörig

• Sie erlauben die Kombination verschiedener Markupsprachen (z.B. XHTML inkl. SVG)

Page 54: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

Aufbau eines Namespaces

Präfix:Element-/Attributname

Beispiel

<mml:math>…</mml:math>

Page 55: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

Definition eines Namespaces mit Hilfe des Attributs

xmlns

xmlns:Präfix="URL"

Beispielxmlns:mml="http://www.w3.org/1998/Math/MathML"

Page 56: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

Beispiel Instanz<paragraph>

Dies ist ein Satz mit einer <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">…</mml:math> Formel, die in MathML dargestellt wird.

</paragraph>

Page 57: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

Namespaces müssen in der DTD deklariert werden

<!ELEMENT Formula (%math.qname;)*><!ATTLIST Formula

xmlns:mml CDATA #FIXED "http://www.w3.org/1998/Math/MathML"xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">

Page 58: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Namespaces

Standard (default) Namespaces benötigen kein Präfix und gelten für alle Kindelemente

<html xmlns=http://www.w3.org/1999/xhtml><head><title>Eine XHTML-Seite</title></head><body>…</body></html>

Default Namespace von XHTML

Page 59: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

XML Software Tools

XML Software-Tools• XML Parser

• freie Parser: XML Validator, Schematron Validator, xmllint

• Editoren

• freie Editoren: Notepad, XML Mind XML Editor, Treebeard, jEdit

• kommerzielle Editoren: XMetaL, XMLSpy, <oXygen>

Page 60: Strukturierung von Inhalten - maik-stuehrenberg.de · Attribute in der DTD •Attributlistendeklaration sind an eine Element-deklaration gebunden • Attribute werden immer nur für

http://www.text-technology.de/projects/sekimo.html

Text TechnologicalModelling of Information

Übungsaufgaben

Praxis• Erstellen Sie eine DTD analog zur HTML-Seite• Erstellen Sie eine Instanz, die valide zur DTD ist