VL 2.1 SemistrukturierteDatenmodell2 Flashcards

1
Q

Was ist OEM in Bezug auf XML. Welche Typkonstruktoren gibt es und welche atomaren Typen?

A

Object Exchange Model (OEM).

alternatives semistrukturiertes Datenmodell.
Zeitgleich zu XML (akademisch) entwickelt worden, hat sich aber in der Praxis nicht durchgesetzt

–> Behandlung zur Veranschaulichung, dass es noch weitere Möglichkeiten gibt semistrukturelle Daten zu repräsentieren.

Atomare Typen string
Polymorphe Typen
Obj ::= || sel: Typ ||
Set ::= {Obj}

(1) Typ Atomarer Typ oder Obj.
(2) Objekt: Sammlung atomarer oder zusammengesetzter Datenelemente. Selektor (Attribut) identifiziert jede Komponente nicht-eindeutig.
(3) Set: Menge von Objekten. (Brauchen wir streng genommen nicht., da Obj erlaubt mehrere Objekte zu einem zusammenzufassen)

Obj Unterschied zum record(), dass selektoren mehrmals verwendet werden dürfen // Ein objekt kann mehrere Teilpbjekte enthalten, die jetzt über eine Kante gleicher Beschriftung mit dem übergeordneten Objekt verbunden sind

Bei record() ist es so das eine Attributbezeichnung innerhalb eines Records nur 1 mal auftreten darf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Veranschauliche OEM als gerichteten Graphen - bescheibe am Beispiel warum warum record eine Benennung von mehreren Kanten eines Knoten mit der selben Bezeichnung nicht erlauben würde und warum es mit sel: geht!

A

Bild einfügen Folie 4 VL 2.2

!!Offensichtlich kein Baum, da zb. o24 mehrere eingehende Kanten// Bei der Konstruktion von O12 und O29 wurde auf O24 Bezug genommen!! Mehrere eingehende Kanten an einem Objekt grundsätzlich zulässig

Hier liegt ein wesentlicher Unterschied zu XML

OEM:Bedeutung eines Knotens ergibt sich aus dem Kontext durch gf. verschiedene eingehende Kanten + Knotenname
XML:Knoten ist durch Knotenname/Elementname eindeutig bestimmt

Außerdem: Reihenfolge der Kinder spielt in OEM keine Rolle in XML serwohl bei squenz (Liste, statt Menge wie
OEM)bspw.

Also Unterschiede OEM:keine Reihenfolge, kein Schema, Markierung der Kanten, nur ein atomarer Typ, Objekt-Identifier.

die Objekte haben außerdem eine Identität, die bei der Konstruktion einer Instanz automatisch generiert wird (&o –> soll das ausdrücken)

Selektoren sind nicht eindeutig // Objekt O24 hat 3x ausgehende Kanten Author

Selektor kann man mehrmals verwenden record nur 1 mal

Also:
Objekt-Typ:
-Wiederholtes Vorkommen des gleichen Selektors möglich.
-Verweise von unterschiedlichen Positionen aufs gleiche Objekt möglich.
-Objekt-Identifier.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Warum hat sich XMLSchema entwickelt?

A

In DTD fehlen ein paar Punkte, daraus hat sich als Weiterentwicklung XMLSchema ergeben

1# [Strings] Attribute nur als string Datentyp ||

2# [Einschränkung] Referenzen können nicht eingeschränkt (typisiert) werden.

// Bsp. Attribut Mutter/Kind IDREF(S) –> Einschränkung auf m/w oder Liste von Kindern

3# [Global]Alle Elementnamen sind global in einem Namensraum.

//Titel ist überall im Dokument in dieser Art zu benutzen –> aber ggf. Semantik unterschiedlich –> Titel Buch und Titel als akademischer Grad

4# [ungewollte Reihenfolge] –> Workarround mit Alternative “|” oder zu vage: wird aber schnell unübersichtlich

5# keine Typ Definition – Festlegung neuer Typen, Deklaration – spezifizieren Vorkommen von Elementen und Attributen (mit bestimmten Namen und Typen) in Dokumenten. Elementname vs. Elementtypname.
//

6#keine Möglichkeit der Validierung von:
+Datentypen und Wertebereiche, +Integritätsbedingungen,
+getypte Links.

7#Keine Erweiterbarkeit – wünschenswert: +Einschränkung des Inhaltsmodells /Restrictions
+Erweiterbarkeit des Inhaltsmodells /Erweitern

8#Modularität, die über die von DTDs hinausgeht: Scoping. == Bezeichnungen die nicht in allen Fällen global sein müssen, sondern nur in einem Auschschnitt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist DTD?

A

Dokumenttypdefinition (DTD)

ist im wesentlichen Menge von Regeln/Grammatik,

DTD gibt vor, was für Markup (an welcher Stelle genau im Dokument des Typs) vorkommen darf.

Elementdeklaration beinhaltet Inhaltsmodell. = Welche Kinder darf es geben und wie sind sie angeordnet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(1) Was bedeutet wohlgeformt und gültig im Zusammenhang mit XML-Dokumente?
(2) Und wie kann das geprüft werden?

A

(1)
wohlgeformt (well-formed) – korrekte Syntax
// zb. fehlern EndeMarkup

gültig (valid) – Syntax + DTD-Korrektheit –>

Ein Dokument ist wohlgeformt und folgt einem a priori gegebenen Schema, z. B. formalisiert in einer Dokumenttypdefinition (DTD).

(2)
XML-Engine: Werkzeug zur Überprüfung von Wohlgeformtheit und Gültigkeit (falls DTD gegeben). (Vorläufige Definition!)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie ist die DTD Deklaration von Elementen?

A

Bild einfügen F17 .2.2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie ist die DTD Deklaration von Attributen?

A

Bild einfügen F23o24 .2.2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche und wie viele Möglichkeiten gibt es Anwendungen zu entwickeln, die XML verarbeiten?

A

Prozedurale Mechanismen(obj. orientiert);

zwei Schnittstellen: DOM und SAX

(1) (‘Document Object Model’) – objektorientierte Sicht auf XML-Dokumente.
* Objektorientiert bedeutet die einzelnen Objekte entsprechen Knoten in der hierarchischen Struktur und darauf navigieren und manipulieren können.
(2) (‘Simple API for XML’) – Callback-Mechanismus.

Bild einfügen wer Kontrolle behält F45 V2.2

DOM: Anwendung hält Kontrolle über den Ablauf. Callback-Methoden: XML-Engine hält Kontrolle.

**In beiden Fällen stößt die Anwendung die XML-Engine an - einmal ruft jedoch die XML-Engine die Methoden, die die Anwendung zur Verfügung stellt auf (Callback-Methode) - auf der anderen Seite (DOM-Methoden) hat der Anwender die Möglichkeit durch das Dokument zu navigieren.
.
///////////////////////// hierzu später mehr
XSLT (‘Extensible Stylesheet Language’)

Querysprachen wie z. B. XQuery – Query- und Transformationsmechanismen für XML-Dokumente, deklarativ.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Beschreibe DOM!

A

Objektorientierte Sicht auf XML-Dokumente und Dokumentbestandteile,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist die Motivation von Namespaces

A

Die Möglichkeit die Bedeutung von bestimmten Markup festzulegen.

*dh. wie im Beispielt mit Titel als akademischer Grad und Titel als Buchtitel Klarheit zu schaffen wann welcher Titel gemeint ist

#Namespace – Festlegung, was bestimmte Namen bedeuten. 
#Namespaces zur Vermeidung von Namenskonflikten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly