CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

Get these flashcards, study & pass exams. For free! Even on iPhone/Android!

Enter your e-mail address and import flashcard set for free.  
Go!
All main topics / Informatik / XML

XML (184 Cards)

Say thanks
1
Cardlink
0
Was ist Markup und Markup-Elemente?
  • bezeichnet die Folge von Zeichen oder Symbolen, die angeben wie Datei aussehen soll oder die logische Struktur bezeichnen
  • Unterscheidung zwischen physischem und logischem Markup
  • Markup-Elemente: Tags

Tags: Einführung
Source:
2
Cardlink
0
Was sind Markup-Sprachen?
= Auszeichnungssprachen
  • werden zur Textformatierung verwendet
  • Schleifen, Verzweigungen, Variablen und Funktionen fehlen
  • → keine Programmiersprache


Beispiele
  • HTML, SGML, XML, (La)TeX, RTF, PDF
Tags: Einführung
Source:
3
Cardlink
0
Was ist das physische Markup?
  • Interpretation der Metadaten ist festgelegt
  • semantikorientierte Verarbeitung schwierig, da unterschiedliche Textbestandteile fett sein können (Überschriften, Warnungen, …)

Beispiel
Er telefonierte \textbf{täglich} mit seiner Mutter
→Text wird immer fett dargestellt
Tags: Einführung
Source:
4
Cardlink
0
Was ist das logische Markup?
  • Metadaten beschreiben Semantik der Daten
  • Interpretation kann je nach Anwendung differieren


Beispiel
Er telefonierte \emph{täglich} mit seiner Mutter
→Bereich wird als wichtig gekennzeichnet und kann kursiv oder fett oder … dargestellt werden
Tags: Einführung
Source:
5
Cardlink
0
Wie stehen SGML, XML und HTML in Verbindung?
  • XML ist ein Teil von SGML
  • XML definiert XHTML
  • SGML definiert HTML
  • CSS formatiert (X)HTML
  • XSL(T) formatiert und transformiert XML
6
Cardlink
0
Welche Arten von Daten gibt es?
Unstrukturierte Daten
  • keinerlei Struktur(-beschreibung)
  • Bild, Ton, Film, …

Strukturierte Daten
  • festes Schema
  • Schemaänderung impliziert Datenänderung
  • relationale Datenbanken

Semistrukturierte Daten
  • Struktur ist nicht gegeben, sondern ergibt sich aus den Daten ("embedded")
  • Struktur ggf. nur teilweise bekannt und muss keinem Schema entsprechen
  • Struktur kann irregulär sein:
          — Attribute können zu einem Objekt gehören, zu einem anderen Objekt gleichen Typs jedoch nicht
          — inhaltich gleiche Attribute können bei Objekten
               verschiedenen Typs auftreten
          — Daten können fehlen
Tags: Einführung
Source:
7
Cardlink
0
Was ist SGML?
= Standard Generalized Markup Language
  • Sprache zur Beschreibung der Struktur von Dokumenten


Aufbau
  • Struktur → Anordnung von Elementen
  • Layout → Style Sheets
  • Inhalt  → Elemente


SGML-Anwendung besteht aus …
  • der Spezifikation der als Daten und Markup zu interpretierenden Zeichen
  • mehreren Dokumenttypen
  • genau einer DTD pro Dokumenttyp
Tags: Einführung
Source:
8
Cardlink
0
Welche Nachteile besitzt SGML?
  • hoher Lernaufwand notwendig
  • hoher Arbeitsaufwand für Erstellen und Warten von Anwendungen
  • zu aufwendig für Einsatz im Netz
  • Großteil der Spezifikation für Einsatz im Netz ohne Bedeutung
  • Austausch zwischen Unternehmen schwierig, da für jeden Aspekt eine Unmenge an Optionen besteht
Tags: Einführung
Source:
9
Cardlink
0
Was ist HTML?
= Hyper Text Markup Language
  • SGML-Anwendung zur Erstellung von Webseiten
  • fixierter Satz an Elementtypen → nicht erweiterbar
  • herstellerabhängige, inkompatible Erweiterungen vieler Browser-Entwickler
  • einfach, da weborientiert
Tags: Einführung
Source:
10
Cardlink
0
Welche Nachteile besitzt HTML?
  • keine Syntaxprüfung → fehlerhafte Dokumente werden akzeptiert
  • nicht inhaltsbezogen/kein logisches Markup
  • nicht zum Datenaustausch geeignet
  • keine Objektorientierung/Vererbung
  • keine robusten Link-Mechanismen
  • → Links sind fest kodiert. Bewegt sich das Ziel, muss Verweis aktualisiert werden
  • schlechte Wiederverwendbarkeit
  • nicht erweiterbar
Tags: Einführung
Source:
11
Cardlink
0
Was ist XML?
= Extensible Markup Language

  • strukturierte Daten mit eindeutiger Datenstruktur
  • logisches Markup, Interpretation der Daten durch Anwendung
  • weggelassene Tags oder Attribute machen die Datei unbrauchbar
  • größer als Binärformate, da Tags verwendet werden
  • basiert auf SGML (und HTML)
  • modular dank Namensraummechanismus
  • lizenzfrei, plattformunabhängig, gut unterstützt
Tags: Einführung
Source:
12
Cardlink
0
Welche XML-Techniken gibt es?
  • XLink um Hyperlinks einzufügen
  • XPointer, XFragments sind Syntaxen um auf Teile eines XML-Dokuments zu verweisen
  • XSL ist eine Weiterentwicklung zum Erstellen von Style Sheets
  • XSLT, eine Transformationssprache
  • DOM für Funktionsaufrufe
  • XML Schema zur Definition eigener XML-Formate
Tags: Einführung
Source:
13
Cardlink
0
Welche logischen XML-Bestadteile gibt es?
Dokument
  • Comment
  • PIs
  • CDATA
  • Elemente
  • Attribute

DTD
  • Comment,
  • <!ELEMENT>
  • <!ATTLIST>
Tags: Spezifikation
Source:
14
Cardlink
0
Welche physischen XML-Bestandeile gibt es?
Dokument
  • Allgemeine Entities

DTD
  • Parameter-Entities
  • Entity-Deklaration
Tags: Spezifikation
Source:
15
Cardlink
0
Was ist ein char?
= Zeichen
  • Markup oder Zeichendaten
  • atomare Einheit von Text

Gültige Zeichen
  • Tab
  • Zeilenvorschub
  • Wagenrücklauf
  • Unicode-Zeichen
Tags: Spezifikation
Source:
16
Cardlink
0
Was sind Digit, CombiningChar und NameChar?
Digit
  • Ziffern 0 bis 9 und Zahlen anderer Alphabete

CombiningChar
  • Apostrpohe

NameChar
  • Letter, Digit, CombiningChar, Extender oder .: _-
Tags: Spezifikation
Source:
17
Cardlink
0
Was sind Name und Names?
Name
  • atomarer Sprachbestandteil / Token
  • beginnt mit einem Buchstaben oder einem erlaubten Interpunktionszeichen (.: _-)
  • anschießend: NameChar
  • Doppelpunkte sollten vermieden werden, da sie auch bei Namensräumen eingesetzt werden
  • Zeichenkette XML ist reserviert
Tags: Spezifikation
Source:
18
Cardlink
0
Was ist ein Literal?
= beliebige Zeichenkette, die keine Anführungszeichen enthält und in eben diese eingeschlossen ist
  • wird z.B. verwendet, um den Inhalt von internen Entities (EntityValue),  Attributwerte (AttValue) oder externe Bezeichner (SystemLiteral) ausugeben


Beispiel
gültig:     <element att="literale Zeichenkette & Co."/>
gültig:     <element att='"literale" Zeichenkette & CO.'/>
ungültig: <element att='<'/>
Tags: Spezifikation
Source:
19
Cardlink
0
Was ist CharData?
  • sämtlicher Text, der kein Markup ist und vom Parser analysiert wird
Tags: Spezifikation
Source:
20
Cardlink
0
Was sind Kommentare in XML?
  • dürfen an beliebiger Stelle außerhalb des Markups stehen
  • innerhalb einer Dokumenttyp-Deklaration
  • kein Bestandteil der Zeichendaten eines Dokuments
  • dürfen kein -- enthalten


Beispiel
<!-- Kommentar -->
Tags: Spezifikation
Source:
21
Cardlink
0
Was sind PIs?
= Processing Instructions / Verarbeitungsanweisungen
  • erlauben Dokumenten Anweisungen für Programme zu enthalten
  • besteht aus: Ziel-Schlüsselwort + Daten

Beispiel
<example>
    <?TargetTool?>
    <?web-server add-header = "university" ?>

    <text> foobar </text>
</example>

<?xml-stylesheet type="text/xsl" href="library.xsl"?>
Tags: Spezifikation
Source:
22
Cardlink
0
Was sind CDATA-Abschnitte?
  • Passagen innerhalb eines XML-Dokuments, in denen kein Markup erkannt wird
  • erlaubt die direkte Eingabe von & und <

Beispiel
<[CDATA[ (x < y)  && (x < z) --> (x < z) ]]>
Tags: Spezifikation
Source:
23
Cardlink
0
Was sind Elemente?
Aufbau
  • Start-Tag mit Attributspezifikation
  • Inhalt
  • Endtag
  • oder leeres Element
  • besitzt einen Typ

Regeln
  • Elementname muss ein Name sein
  • Elementname sollte nicht mit xml beginnen
  • case-sensitiv

Beispiel
<BeispielTag Nummer="1"> Beispielinhalt </BeispielTag>
Tags: Spezifikation
Source:
24
Cardlink
0
Was sind Entities?
= Platzhalter für Inhalte, die einmal deklariert und dann mehrmals verwendet werden können
  • beinhalten keinerlei semantische Information (→ physisch)
  • vereinfachen lesen/schreiben/warten von Dokumenten
  • Parser ersetzt Referenzen durch ihren Wert


Beispiel
Deklaration: <!ENTITY ais "Anwendungs- und Infosysteme">
Verwendung: die Abteilung &ais; des Institus …
Tags: Spezifikation
Source:
25
Cardlink
0
Was sind Parameter-Entitiies?
  • analysierte Entities für die Benutzung innerhalb der DTD
  • Unterscheidung in interne und externe Entities

Interne Entities
  • enthalten den Ersatztext innerhalb einer Entity-Deklaration


Externe Entities
  • Ersatztext steht in einer anderen Datei


Beispiel
<!ENTITY % Inhalt "Absatz|Anmerkung|Hinweis">
<!ELEMENT Anhang(Titel,(%Inhalt;)+)>
Tags: Spezifikation
Source:
26
Cardlink
0
Was sind Allgemeine Entities?
  • Verwendung innerhalb des Dokumenteninhalts


Arten
  • Zeichenentities
  • Entities mit gemischtem Inhalt
  • vom Parser nicht ersetzte Entities
Tags: Spezifikation
Source:
27
Cardlink
0
Was sind Zeichenentities?
  • bestehen aus nur einem Zeichen
  • Zeichen, auf die verwiesen wird, müssen Char sein
  • können vordefiniert sein

Zahlendefinierte Entities
  • Verweisen auf spezifisches Zeichen in ISE/IEC 10646
  • z.B. Zeichen, dass auf dem Eingabegerät nicht verfügbar ist

Namendefinierte Enities
  • selbstdefinierte Entities, die auf ein Zeichen verweisen

Beispiel
vordefiniert: <!ENTITY lt "#60;">
namensdefiniert: <!ENTITY smiley "& #x263a;">
Verwendung: Ein Smiley sieht so aus: &smiley;.
Tags: Spezifikation
Source:
28
Cardlink
0
Was sind Entities mit gemischtem Inhalt?
  • beliebige Länge
  • Unterscheidung in interne und externe Entities
  • beinhaltet Markup und Zeichendaten
  • es muss sichergestellt sein, dass Dokument wohlgeformt bleibt
  • können intern oder extern sein

Beispiel Intern
<!ENTITY eins "eins <title>blubb">

Beispiel Extern
<!ENTITY beschreibung SYSTEM "beschreibung.xml">
→ bei Verwendung wird Inhalt von beschreibung.xml eingefügt

Tags: Spezifikation
Source:
29
Cardlink
0
Was sind vom Parser nicht ersetzte Entities?
  • z.B. für Import von Grafikdateien


Beispiel
<!ENTITY MeinBild SYSTEM "bla.gif" NDATA GIF>
30
Cardlink
0
Aus welchen Komponenten besteht ein XML-Dokument?
  1. Prolog
  2. Wurzelelement
  3. evtl. untergeordnete Elemente
Tags: Spezifikation
Source:
31
Cardlink
0
Was ist der Prolog?
  • sollte mit XML-Deklaration beginnen, die XML-Version spezifiziert, zu verwendeten Zeichensatz und das Standalone-Flag

Aufbau
  • XML-Deklaration
  • Stylesheet-Deklaration
  • Dokumenttyp-Deklaration
  • Processing-Instructions
  • Kommentare

Beispiel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE AdressDB SYSTEM "Beispiel.dtd">
<?xml-stylesheet type="text/xsl" href="beispiel.xslt"?>
<!--Adress-Datenbank-->
Tags: Spezifikation
Source:
32
Cardlink
0
Wann ist ein XML-Dokument wohlgeformt?
  • Alle zufreffenden Produktionsregeln erfüllt
  • Wohlgeformtheitsbeschränkungen des W3L erfüllt
  • jede referenzierte Entity ist wohlgeformt

document-Produktionsregel
  • mindestens ein Element enthalten
  • genau ein Wurzelelement
  • korrekte Schachtelung

Wohlgeformtheitsbeschräkungen
  • alle Element-Attributwerte müssen in Anführungsstrichen stehen
  • jedes nichtleere Element hat genau einen Start- und End-Tag
  • alleinstehende leere Elemente, müssen einen Schrägstrich vor dem Ende haben
  • Alle Tags müssen korrekt geschachtelt sein
  • Markupzeichen (& bzw. <) dürfen nicht im laufenden Text auftreten, sondern durch Entities dargestellt werden
Tags: Spezifikation
Source:
33
Cardlink
0
Was ist ein XML-Namensraum?
  • Sammlung von Namen, die durch eine URI-Referenz identifiziert sind
  • URI dient nur der Eindeutigkeit des Dokumentherstellers
  • so können gleiche Namen (mit unterschiedlicher Bedeutung) verwendet werden, ohne dass Kollisionen entstehen
Tags: Spezifikation
Source:
34
Cardlink
0
Wie wird ein Namensraum deklariert?
  • mittels xmlns:, meist über Zuordnung von Präfixen
  • bezieht sich auf Element und dessen Kinder, sofern keine andere Zuweisung erfolgt
  • dokumentweite Gültigkeit, wenn NS Wurzelelement zugewiesen wird


Beispiel
Mit Verwendung qualifizierter Namen:
<x xmlns:edi='http://ecommerce.org/schema'>
    <edi:price units='Euro'> 42</edi:price>
    <item edi:taxClass="exempt">food</item>
</x>
Tags: Spezifikation
Source:
35
Cardlink
0
Was ist der Default-Namensraum?
  • gilt für das Element, wo er deklariert wurde
  • und alle Elemente ohne Namespace-Präfix in dessen Inhalt
  • werden nicht direkt auf Attribute angewendet
  • kein Präfix


Beispiel
<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>
36
Cardlink
0
Wie werden die Inhaltsmodelle einer DTD strukturiert?
  • leer
  • Zeicheninhalt
  • Elementinhalt
  • gemischt
  • beliebig
Tags: DTD
Source:
37
Cardlink
0
Was sind Leere Elemente in einer DTD?
= dürfen weder Zeichendaten noch andere Elemente enthalten

Beispiel
<!ELEMENT br EMPTY>
Tags: DTD
Source:
38
Cardlink
0
Was sind Elemente mit Zeichendaten in einer DTD?
= enthalten Text, kein Markup

Beispiel
<!ELEMENT title (#PCDATA)>
Tags: DTD
Source:
39
Cardlink
0
Was sind Elemente mit gemischtem Inhalt in einer DTD?
  • enthalten Kindelemente und Textdaten
  • Reihenfolge der Kindelemente kann nicht angegeben werden
  • Häufigkeit der Kindelemente kann nicht angegeben werden


Beispiel
<!ELEMENT anhang (#PCDATA | link | hinweis)*>

→ kann Zeichen und die Elemente link und hinweis in beliebiger Anzahl und Reihenfolge beinhalten
Tags: DTD
Source:
40
Cardlink
0
Was sind Elemente mit Elementinhalt in einer DTD?
  • Elemente dürfen nur weitere Kindelemente enthalten, jedoch keine Zeichen
  • Operatoren zum Angeben der Quantität
  • Operatoren , und | zum Angeben der Reihenfolge
  • Bildung von (Gruppen)


Beispiel
<!ELEMENT AdressDB (Adresse)*>
<!ELEMENT Adresse ((Firma|Person),(Strasse|Postfach)?, Ort)>
Tags: DTD
Source:
41
Cardlink
0
Welche Operatoren gibt es bei Elementen mit Elementinhalt in einer DTD und welche Bedeutung haben sie?
  • beeinflussen immer das vorausgehende Element/Gruppe
  • müssen deterministisch sein

+ E. muss mindestens einmal vorkommen
* E. darf beliebig oft vorkommen
? E. darf einmal oder keinmal vorkommen
, Sequenz von Elementen
| Trennzeichen zwischen sich ausschließenden Alternativen
() Bildung von Gruppen



Tags: DTD
Source:
42
Cardlink
0
Was ist ein Element mit uneingeschränktem Inhaltsmodell in einer DTD?
  • Elemente mit beliebigem Inhalt
  • Kindelemente dürfen nur in der DTD deklarierte Elemente sein


Beispiel
<!ELEMENT p ANY>
Tags: DTD
Source:
43
Cardlink
0
Wie lautet der Syntax zur Deklaration von Attributen mittels DTD?
<!ATTLIST Elementname
  Attributname Attributtyp Vorgabewertdeklaration
  Attributname Attributtyp Vorgabewertdeklaration
 
>

Beispiel
<!ELEMENT Person (Vorname+, Name)>
<!ATTLIST Person Anrede(Herr|Frau) #REQUIRED>
Tags: DTD
Source:
44
Cardlink
0
Welche Attributtypen kennt DTD?
StringType (→ CDATA)
TokenizedType
EnumeratedType
Tags: DTD
Source:
45
Cardlink
0
Was ist der TokenizedType der DTD?
TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'

  • ID, IDREF, IDREFS– ENTITY, ENTITIES müsen von Typ Name(s) sein
  • NMTOKEN(S) müssen vom Typ Nmtoken(s) sein
  • ID muss #IMPLIED oder #REQUIRED sein
  • ID darf nur einmal verwendet werden
  • Element darf nur ein ID besitzen
  • IDREF-Werte müssen zum Werte eines ID-Attributs passen


Beispiel
Tags: DTD
Source:
46
Cardlink
0
Was ist der EnumeratedType der DTD?
= Aufzählungstyp
  • Aufzählung darf keine Leerzeichen enthalten


Beispiel

<!ATTLIST Person Anrede (Herr|Frau) #REQUIRED>
Tags: DTD
Source:
47
Cardlink
0
Wie können in der DTD Vorgabewerte deklariert werden?
#REQUIRED keine Vorgabe, Angabe zwingend, kann aber auch leer sein
#IMPLIED kein Vorgabe, kein Wert erforderlich
"AttValue" Default-Wert: doppelzimmer (ja|nein) "ja"
#Fixed Wert nur angegebe Konstante ist zulässig
Tags: DTD
Source:
48
Cardlink
0
Was sind externe Parameter-Entities in der DTD?
  • für Benutzung innerhalb der DTD
  • Ersetzungstext wird in einer externen Datei definiert

Deklaration extern
<!ENTITY uni_l "Universität Leipzig">

Verwendung DTD
<!ENTITY % abk SYSTEM "abkuerzung.dtd">
%abk;
Tags: DTD
Source:
49
Cardlink
0
Was sind Notationen bei DTD?
identifizieren …
  • Format von nicht-analysierten Entities
  • Format von Elementen, welche das Notations-Attribut besitzen
  • eine Anwendung, an die eine PI gerichtet ist
Tags: DTD
Source:
50
Cardlink
0
Wie ist der Public Identifier aufgebaut?
System Literal

+PubidLiteral
  • prefix (+|-)
  • owner-identifier
  • text-class (DOCUMENT|DTD|ELEMENTS|ENTITIES|NONSGML|DolBook)
  • text-description
  • language
  • display-version
Tags: DTD
Source:
51
Cardlink
0
Wie können DTD deklariert werden?
Intern
<!DOCTYPE name [ … ]>

Extern
<!DOCTYPE name SYSTEM "extern.dtd">


PUBLIC-Identifier
<!DOCTYPE name PUBLIC "publicid" "externe.dtd">
Tags: DTD
Source:
52
Cardlink
0
Was ist Validierung?
valide = gültig, rechtskräftig

XML-Dokument muss Spezifikation genügen
+ es besitzt eine DTD
+ es entspricht der DTD
→ impliziert wohlgeformt
Tags: DTD
Source:
53
Cardlink
0
Wie sind Namensräume in DTD umgesetzt?
  • nicht implementiert
  • Verwendung qualifizierender Namen möglich

Beispiel
<!ELEMENT bsp:beispiel (#PCDATA)>
<!ATTLIST bsp:beispiel bsp:attr CDATA #REQUIRED>

<bsp:beispiel bps:attr="bla"/>
Tags: DTD
Source:
54
Cardlink
0
Was sind bedingte Abschnitte?
  • Teil der externen Teilmenge der DTD
  • in Abhängigkeit von einem Schlüsselwort in Struktur eingebunden (INCLUDE) oder ausgeschlossen (IGNORE)

Beispiel

<!ENTITY % entwurf 'INCLUDE' >
<!ENTITY % fertig 'IGNORE' >
<![%entwurf;[
<!ELEMENT buch (kommentare*, titel, rumpf, anhaenge?)>
] ]>
<![%fertig;[
<!ELEMENT buch (titel, rumpf, anhaenge?)>
] ]>
Tags: DTD
Source:
55
Cardlink
0
Welche Vorteile bieten DTDs?
  • Definition einer Klasse von Dokumenten mit gleicher Struktur
  • Kontrolle der Gültigkeit z.B. einfache Anwendungsentwicklung
  • ID- und IDREF-Verknüpfungen
  • Vorgabewerte
Tags: DTD
Source:
56
Cardlink
0
Welche Nachteile bieten DTDs?
Syntax nicht ausdrucksstark genug!

  • keine Datentypen, Wertebreiche, differenzierte Einschränkungen des Inhalts von Elementen/Attributen möglich
  • DTD sind keine XML-Elemente
  • kein Zugriff auf DTD via DOM
Tags: DTD
Source:
57
Cardlink
0
Welche Eigenschaften hat das Element xs:Schema?
= Wurzelelement
  • Container für globale Namensräume, Deklaration und Definition
  • Platzhalter für Standardwerte


Beispiel

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Hier folgen alle anderen Elemente
</xs:schema>
Tags: XMLSchema
Source:
58
Cardlink
0
Welche Namensräume kennt XML-Schema?
  1. http://www.w3.org/2001/XMLSchema
  2. Der Namensraum für XML-Schema.
  3. http://www.w3.org/2001/XMLSchema-instance
  4. Der Namensraum für XML-Schema-Komponenten in Instanzdokumenten.
  5. http://www.w3.org/2001/XMLSchema-datatypes
  6. Enthält eine Kopie der eingebauten XML-Schema-Datentypen, diese dienen der Verwendung alternativer Schemas, die die XML-Schema-Datentypen verwenden möchten.


NS können global im Header oder anonym in den Element-Definitionen ergänzt werden
Tags: XMLSchema
Source:
59
Cardlink
0
Wie werden in XMLSchema Elemente deklariert?
<xs:element name="addressbook" type="xs:string">
...
</xs:element>

können mittels <xs:group/> gruppiert und als Baustein wiederverwendet werden
Tags: XMLSchema
Source:
60
Cardlink
0
Was sind Typen in XMLSchema?
  • werden definiert
  • beschreiben Element- und Attributdeklaration, welche verwendet werden dürfen


Beispiel
<xs:complexType name="Address">
...
</xs:complexType>
Tags: XMLSchema
Source:
61
Cardlink
0
Welche Attribute kann eine Element-Deklaration in XMLSchema besitzen?
id Element-ID
ref Referenz auf globale Elementdeklaration
maxOccurs maximale Auftrittshäufigkeit
minOccurs minimale Auftrittshäufigkeit
default Standardwert des Elements
fixed legt Konstante fest
Tags: XMLSchema
Source:
62
Cardlink
0
Worin unterscheiden sich globale und lokale Definitionen in XMLSchema?
globale Definition
  • alle Elemente werden unter dem Wurzelelement definiert und können überall referenziert werden (ref)

<xs:schema>
   <xs:element name="Adressbuch">
...
   </xs:element>
   <xs:element ref="Adressbuch"/>
</xs:schema>

lokale Definition
  • definition anonym innerhalb der Komponenten, in denen sie verwendet werden
  • keine Referenzierung möglich

<xs:attribute name="Nummer" use="required">
   <xs:simpleType>
      <xs:restriction base="xs:string">
         <xs:pattern value="\d{1,3}"/>
      </xs:restriction>
   </xs:simpleType>
</xs:attribute>
Tags: XMLSchema
Source:
63
Cardlink
0
Welche Metainformationen gibt es in XMLSchema?
<xs:documentation/>: menschenlesbare Dokumentation
<xs:appinfo/>: maschinell verarbeitbare Informationen
  • müssen beide in <xs:annotation/> angeordnet werden

Beispiel
<xs:element name="author" type="authorType">
     <xs:annotation>
          <xs:documentation xml:lang="de">
               Der Autor eines Buches.
          </xs:documentation>
          <xs:appinfo xmlns:dc="http://purl.org/dc/elements/1.1/">
               <dc:creator>
                    Eric van der Vlist.
               </dc:creator>
           </xs:appinfo>
     </xs:annotation>
</xs:element>
Tags: XMLSchema
Source:
64
Cardlink
0
Was sind Kompositoren und welche gibt es in XMLSchema?
= Container, in die Elemente eingebettet werden können

  • xs:sequence
  • xs:choice
  • xs:all
Tags: XMLSchema
Source:
65
Cardlink
0
Was ist xs:sequence?
  • Kompositor
  • Elemente müssen in angegebener Reihenfolge genau einmal auftreten
  • Anzahl des Aufretens kann über minOccurs und maxOccures gesteuert werden

Beispiel
<xs:element name="bla">
     <xs:complexType>
          <xs:sequence minOccurs="0" maxOccurs="1">
               <xs:element name=blubb" minOccurs="0"/>
               <xs:element name="blobb" minOccurs="1"/>
          </xs:sequence>
     </xs:complexType>
</xs:element>
Tags: XMLSchema
Source:
66
Cardlink
0
Was ist <xs:choice/> in XMLSchema?
  • Kompositor
  • nur eins der Elemente darf auftreten

Beispiel
<xs:element name="bla">
     <xs:complexType>
          <xs:choice>
                <xs:element name="blubb"/>
               <xs:element name="blobb"/>
          </xs:choice>
     </xs:complexType>
</xs:element>
Tags: XMLSchema
Source:
67
Cardlink
0
Was ist <xs:all/> in XMLSchema?
  • Kompositor
  • Beschreibung einer ungeordneten Gruppe von Elementen
  • alle Elementen können in beliebiger Reihenfolge höchstens einmal auftreten

Beispiel
<xs:element name="author">
     <xs:complexType>
          <xs:all>
               <xs:element ref="name"/>
               <xs:element ref="born"/>
               <xs:element ref="dead" minOccurs="0"/>
          </xs:all>
          <xs:attribute ref="id"/>
     </xs:complexType>
</xs:element>

Tags: XMLSchema
Source:
68
Cardlink
0
Wie können Schemas wiederverwendet werden?
inkludieren
  • Zielnamensraum eines Schemas kann aus mehreren Schemadokumenten zusammengefügt werden

→ <xs:include schemaLocation="http://www.beispiel.de/art.xsd"/>

importieren
  • Schema eines anderen Namensraumes nutzen
  • nur global deklarierte Attribute, Typen und Elementen übernommen

→ <xs:import namespace="http://beispiel.de/art" schemaLocation="http://beispiel.de/art.xsd">
Tags: XMLSchema
Source:
69
Cardlink
0
Was ist ein Zielnamensraum in XMLSchema?
  • gibt Namensraum der Elemente an, die definiert werden
  • definiert über targetNamespace
Tags: XMLSchema
Source: Quelle
70
Cardlink
0
Wie können in XML-Schema andere Schemas mittels include wiederverwendet werden?
  • Typdefinitionen innerhalb eines Namensraumes, die auf mehrere Dateien verteilt sind, lassen sich mittels include zusammenfügen
  • mehrere Schemata können inkludiert werden
  • targetNamespace des harddisk.xsd muss mit dem des inkludierenden Schemas übereinstimmen.

Beispiel
<schema xmlns="http:www.w3.org/2001/XMLSchema"
        xmlns:pcTeile="http:
www.example.com/pcTeile"
        targetNamespace="http://www.example.com/pcTeile">
<include SchemaLocation="example.com/schemata/harddisk.xsd"/>
<include schemaLocation="example.com/schemata/ram.xsd"/>
</schema>
Tags: XMLSchema
Source:
71
Cardlink
0
Wie können in XML-Schema andere Schemas mittels import wiederverwendet werden?
  • Elemente aus anderen Namensräumen werden importieren
  • mit einem Präfix versehen

Beispiel
<schema xmlns="http:www.w3.org/2001/XMLSchema"
        xmlns:pcTeile="http:
www.example.com/pcTeile"
        targetNamespace="http:www.example.com/firma">
  <import namespace="http:
www.example.com/pcTeile"/>
    <…
      <xs:attribute name="xyz" type="pcTeile:superTyp"/>
    …/>
</schema>
Annahme ist, dass es einen definierten Typ superTyp in pcTeile gibt.
72
Cardlink
0
Wie werden XML-Schemas mit einer XML-Datei verknüpft?
  • Attribut schemaLocation bzw. noNameSpaceSchemaLocation/ des Schema-Instance-Namensraums

Beispiel
<html xmlns="http:
www.w3.org/1999/xhtml"
      xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http:
www.w3.org/1999/xhtml
                          http:www.w3.org/1999/xhtml.xsd">
→Standard-Namensraum ist http:
www.w3.org/1999/xhtml
→Schema für diesen Namesraum ist unter www.w3.org/1999/xhtml.xsd

Beispiel ohne Namensraum
  • wenn Elemente ohne Namensraum einem Schema zugeordnet werden sollen

<html xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance"     xsi:noNamespaceSchemaLocation="http:www.w3.org/1999/xhtml.xsd">
Tags: XMLSchema
Source:
73
Cardlink
0
Was sind einfache Datentypen?
  • String, Zahlen, Zeiteinheiten, …
  • besitzen keine Kindelemente oder Attribute


Beispiel
<xs:element name="Price" type="xs:float"/>
Tags: XMLSchema
Source:
74
Cardlink
0
Was sind komplexe Datentypen in XMLSchema?
  • enthalten Kindelemente oder Attribute
  • werden aus einfachen Typen und Strukturangaben zusammengesetzt


Beispiel
<xs:complexType name="Address">
     <xs:sequence>
          ...
     </xs:sequence>
     <xs:attribute name="category" type="xs:string"/>
</xs:complexType>
Tags: XMLSchema
Source:
75
Cardlink
0
Was sind eigene einfache Datentypen in XMLSchema?
  • mittels <xs:simpleType/> gebildet
  • globale und lokale Definition möglich
  • global: außerhalb eines Inhaltsmodells definiert

Beispiel
<xs:attribute name="PLZ" use="required">
     <xs:simpleType>
          <xs:restriction base="xs:integer">
               <xs:minInclusive value="00000"/>
               <xs:maxInclusive value="99999"/>
               <xs:totalDigits value="5"/>
          </xs:restriction>
     </xs:simpleType>
</xs:attribute>
Tags: XMLSchema
Source:
76
Cardlink
0
Auf welche Arten lassen sich in XMLSchema eigene einfache Datentypen erzeugen?
  • Listen
  • Einschränkungen
  • Vereinigungen
Tags: XMLSchema
Source:
77
Cardlink
0
Wie lassen sich mittels Listen eigene Datentypen in XML-Schema erzeugen?
  • Struktur wird innerhalb eines einzigen Attributs/Elements definiert
  • können auch über Aufzählungen erzeugt werden
  • keine Listen von Listen möglich

Beispiel
<xs:simpleType>
     <xs:list itemType="xs:integer"/>
</xs:simpleType>
Tags: XMLSchema
Source:
78
Cardlink
0
Wie lassen sich in XMLSchema eigene Datentypen via Facetten erzeugen?
= Einschräkungen auf Wertebereiche
  • via <xs:restriction/> oder <xs:pattern/> definiert

restriction
  • erzeugt Ableitung eines einfachen Datentyps mit Einschränkungen

<xs:element name="zahl">
     <xs:simpleType name="artikelnummer">
          <xs:restriction base="xs:integer">
               <xs:minExclusive value="0"/>
               <xs:maxInclusive value="999999"/>
          </xs:restriction>
     </xs:simpleType>
</xs:element>

pattern
→ RegEx
Tags: XMLSchema
Source:
79
Cardlink
0
Welche Facetten gibt es in XMLSchema?
  • lenght
  • minLength
  • maxLength
  • pattern
  • enumeration
  • whiteSpace
  • maxInclusive
  • maxExclusive
  • minExInclusive
  • maxExclusive
  • totalDigits
  • fractionDigits
Tags: XMLSchema
Source:
80
Cardlink
0
Wie lassen sich in XMLSchema eigene Datentypen via Vereinigungen erzeugen?
  • Kombinationen verschiedener Datentypen zu neuem Typ


Beispiel
<xs:element name="ganzeZahl">
     <xs:simpleType name="IntegerOhneNull">
          <xs:union memberTypes="xs:positiveInteger xs:negativeInteger"/>
     </xs:simpleType>
</xs:element>
Tags: XMLSchema
Source:
81
Cardlink
0
Welche Vorteile bietet XMLSchema gegenüber DTD?
  • vorgegebene und erweiterbare Datentypen
  • selbst XML-Dokumente
  • Namensräume
  • sehr flexibel
  • unterstützt Wiederverwendung
  • Kompositoren
Tags: XMLSchema
Source:
82
Cardlink
0
Welche Knotenarten werden in XPath unterschieden?
  • Wurzelknoten
  • PI-Knoten
  • Kommentarknoten
  • Elementknoten
  • Attributknoten
  • Namensraumknoten
  • Textknoten

→ XML-Deklaration und DTD sind nicht in Baumdarstellung enthalten
Tags: XPath
Source:
83
Cardlink
0
Was ist der Wurzelknoten in XPath?
  • Elternknoten des Start-Elements
  • /child::node() liefert Kindknoten

Mögliche Kindknoten
  • Elementknoten
  • PI-Knoten
  • Kommentarknoten
Tags: XPath
Source:
84
Cardlink
0
Was ist ein PI-Knoten?
  • existiert für jede PI außerhalb der DTD
Tags: XPath
Source:
85
Cardlink
0
Was ist ein Kommentarknoten?
  • für jeden Kommentar außerhalb der DTD


Ausdruck
/descendant::comment()
→ liefert alle Kommentarknoten
Tags: XPath
Source:
86
Cardlink
0
Was ist ein Elementknoten in XPath?
  • repräsentiert genau ein Element des XML-Dokuments

Mögliche Kinder
  • Textknoten
  • Elementknoten
  • Kommentarknoten
  • PI-Knoten
Tags: XPath
Source:
87
Cardlink
0
Was ist ein Attributknoten in XPath?
  • Elementknoten ist Elternknoten
  • ist kein Kindelement des Elementknoten
  • Attribute die Namensräume deklarieren haben keinen Attributknoten



XPath
Zugriff erfolgt explizit über attribute:
/descendant::*/attribute::*
Tags: XPath
Source:
88
Cardlink
0
Was ist ein Namensraumknoten in XPath?
  • jedes Element besitzt eine Menge an Namensraumknoten
→ einer für jedes Namensraumpräfix
→ einer für den Default-Namensraum
  • entspr. Elementknoten ist Elternknoten
  • kein Kind des Elternknotens


XPAth
explizit über namespace:
//namespace::*/parent::node()
→ Die Eltern aller Namespace-Knoten sind Elementknoten
Tags: XPath
Source:
89
Cardlink
0
Was ist ein Textknoten in XPath?
  • hat nie einen anderen Textknoten als Vorgänger oder Nachfolger
  • Entity-Referenzen sind bereits aufgelöst
  • Elternknoten immer Elementknoten
  • → //text()/parent::node()
Tags: XPath
Source:
90
Cardlink
0
Was ist der Lokalisierungspfad in XPath?
  • wählt eine Knotenmenge relativ zum Kontextknoten aus
  • und gibt diese zurück
  • kann rekursive Ausdrücke enthalten
  • ein oder mehrere Lokalisierungsschritte um Kontextknoten auszuwählen

Varianten
absolute vs. relative Lokalisierungspfade
+ je eine Kurzschreibweise
Tags: XPath
Source:
91
Cardlink
0
Wie ist ein Lokalisierungsschritt in XPath aufgebaut?
  • Achse (AxisSpecifier)
  • Knotentest (NodeTest) und
  • optionalen Prädikaten (Predicate)
Tags: XPath
Source:
92
Cardlink
0
Was ist eine Achse/AxisSpecifier in XPath und welche gibt es?
  • spezifiziert Beziehung zwischen Kontextknoten und ausgewähltem Knoten

Achse Abk. Beschreibung
self . Kontextknoten
child Kinder des Kontextknotens
parent .. Elternknoten des Kontextknotens
descendant Nachkommen (Kinder + Kindeskinder) des Kontextknotens
descendant-or-self // Kontextknoten + Nachkommen
ancestor Vorfahren inkl. Wurzelknoten
ancestor-or-self Kontextknoten + Vorfahren
following liefert alle Elementknoten, die folgen
following-sibling liefert alle folgenden Geschwister
preceding liefert vorausgegangene Elementknoten, aber keine Vorfahren
preceding-sibling liefert vorausgegangene Geschwister
namespace Namensraumknoten des Kontextknotens
attribute @ Attributknoten des Kontextknotens
Tags: XPath
Source:
93
Cardlink
0
Was ist der Knotentest in XPath und welche gibt es?
= gibt Knotentyp/Namen des auszuwählenden Knoten an

Knotentest Beschreibung
* alle K. des Hauptknotentyps
NCName:* alle K. des Namespace NCName
QName alle Name mit dem qualifizierten Namen QName, Namensraum optional
comment() alle Kommentarknoten
text() alle Textknoten
processing-instruction() alle PI-Knoten
node() alle Knotenarten
Tags: XPath
Source:
94
Cardlink
0
Was ist ein Prädikat in XPath?
  • filtert Quellmenge (Achse + Knotentest) nach Eigenschaften
  • Prädikatausdruck wird für jeden Knoten der Quellmenge ausgewertet→  true → Knoten wird in Ergebnismenge übernommen
Tags: XPath
Source:
95
Cardlink
0
Welche Informationen werden dem Prädikat in XPath übergeben?
  • der jeweilige Kontextknoten
  • Kontextgröße (= Anzahl der Knoten der Kontextknotenmenge)
  • Kontextposition (Näheposition des jeweiligen Kontextknotens in der Kontextknotenmenge)
Tags: XPath
Source:
96
Cardlink
0
Welche primären Ausdruckstypen gibt es in XPath?
Variablenreferenz
→ ergibt Wert, der an Variablennamen gebunden ist

Literal
→ liefert Ausdrücke vom Typ string
→ einfache oder doppelte Anführungszeihcen
Zahl
  • 64-Bit-Gleitkommazahlen inkl. NaN und ∞
  • → es können keine Fehler oder Ausnahmen auftreten
  • negatives, aber kein positives Vorzeichen

FunctionCall
Funktionsaufruf nach folgender Produktionsregel:
FunctionCall ::= FunctionName '(' (Argument (',' Argument)* )? ')'
Tags: XPath
Source:
97
Cardlink
0
Welche Operation gibt es in booleschen Ausdrücken in XPath?
  • or
  • and
  • =
  • !=
  • <, >, <=, >=
Tags: XPath
Source:
98
Cardlink
0
Wie wird der Vergleichsoperator in XPath ausgewertet?
  1. Werden zwei Nicht-Knotenmengen vergleichen, werden diese zu einem gemeinsamen Datentyp konvertiert
  2. Wenn ein Objekt boolean ist, wird alles mittels boolean() konvertiert
  3. Wenn ein Objekt number ist, wird alles mittels number() konvertiert
  4. werden zwei Knotenmengen verglichen, wenn es je einen Knoten gibt, deren Zeichenkettenwerte identisch sind
  5. → (//*) = (/sonett)
99
Cardlink
0
Welche Typen kann die Auswertung eines Ausdrucks besitzen?
  • node-set (Knotenmenge), z.B. //node()
  • boolean, z.B. boolean('true')
  • number, z.B. count(//*)
  • string, z.B. name(/*)
100
Cardlink
0
Welchen Operatoren gibt es für Zahlenausdrücke in XPath?
  • +
  • - (Subtraktion) → Leerzeichen davor notwendig
  • div
  • mod
  • *
  • - (als Vorzeichen)
Tags: XPath
Source:
101
Cardlink
0
Was ist ein Knotenmengenausdruck in XPath?
Pipe: |
→ liefert Vereinigungsmenge seiner Operanden vom Typ node-set
Tags: XPath
Source:
102
Cardlink
0
Welche Grundfunktionen gibt es in XPath?
number last()
→ liefert Zahl, die gleich der Kontextgröße des Kontexts ist
//*position()=last()] → liefert alle letzten Knoten

number position()
→ liefert Zahl, die gleich der Kontextposition im Kontext ist
//*position()=2] → liefert alle zweiten Knoten
number count(node-set)
count(//*)

node-set id(objekt)
→ liefert Elementknotenmenge, deren ID mit dem angegebenen übereinstimmt
→ Konvertierung von objekt nach string
103
Cardlink
0
Welche booleschen Funktionen gibt es in Xpath?
  • boolean boolean(object)
  • boolean not(boolean)
  • boolean lang(string)
  • → liefert true, wenn Sprache (xml:lang-Attribut) des Kontextknotens identisch mit der der Strings ist
  • true() und false()
Tags: XPath
Source:
104
Cardlink
0
Welche Neuerungen bietet XPath 2.0?
  • unterstützt primäre Typen von XML-Schema
  • Manipulation von Strings
  • Teilmenge von XQuery mit selbem Datenmodell
Tags: XPath 2.0
Source:
105
Cardlink
0
Aus welchen Teilen besteht das Datenmodell von XPath 2.0?
  • atomare Werte (Strings, Integer, Bool, URI, …)
  • Bäume aus Knoten, die Dokumentinhalt darstellen
  • Sequenzen
Tags: XPath 2.0
Source:
106
Cardlink
0
Was ist eine Sequenz in XPath 2.0?
  • enthält atomaren Wert oder Verweis auf Knoten
  • jederAusdruck gibt S. zurück, die nicht leer und flach ist
  • kann Duplikate enthalten
Tags: XPath 2.0
Source:
107
Cardlink
0
Welche drei Arten von Operationen gibt es in XPath 2.0?
  • Operationen auf atomare Werte (addieren, vergleichen, …)
  • Selektieren von Knoten
  • Operationen auf Sequenzen, z.B. iterieren
Tags: XPath 2.0
Source:
108
Cardlink
0
Welche Funktionen auf Sequenzen gibt es in XPath 2.0?
  • FOR → iterieren
  • Conditional expressions → If-Else
  • Quantifiers (some/very)
  • Intersect → Durchschnitt
Tags: XPath 2.0
Source:
109
Cardlink
0
Was ist XQuery?
  • Anfragesprache, entwickelt aus SQL
  • kompatibel zu XPath 2.0
  • arbeitet auf dem Dokumentenbaum
  • case-sensitive
  • Schlüsselwörter nur aus Kleinbuchstaben
  • basiert auf FLWOR
Tags: XQuery
Source:
110
Cardlink
0
Was sind FLWOR-Ausdrücke?
analog zu SELECT … FROM … WHERE von SQL:
  • FOR/LET …
  • WHERE …
  • ORDER BY …
  • RETURN
Tags: XQuery
Source:
111
Cardlink
0
Wie funktioniert die FOR-Klausel in XQuery?
  • bindet Variablen an Ergebnisse von XQuery-Ausdrücken
  • unterstützt Positionsvariablen (at)
  • kann Typprüfung vornehmen


Beispiel
for $x in (<Arzt/>, <Pfleger/>, <Techniker/>)
return <Berufsgruppen>{ $x }</Berufsgruppen>

Ergebnis
<Berufsgruppen> <Arzt/> </Berufsgruppen>
<Berufsgruppen> <Pfleger/> </Berufsgruppen>
<Berufsgruppen> <Techniker/> </Berufsgruppen>


Tags: XQuery
Source:
112
Cardlink
0
Wie funktioniert die LET-Klausel in XQuery?
  • analog zu FOR
  • Ergebnis wird als Sequenz gebunden


Beispiel
let $x := (<Arzt/>, <Pfleger/>, <Techniker/>)
return <Berufsgruppen>{ $x }</Berufsgruppen>

Ergebnis
<Berufsgruppen>
     <Arzt/>
     <Pfleger/>
     <Techniker/>
</Berufsgruppen>

Tags: XQuery
Source:
113
Cardlink
0
Wie funktioniert die WHERE-Klausel in XQuery?
→ zum Filtern der Daten (analog SQL)

Beispiel
for $b in fn:doc("../Klinik.xml")//(Arzt|Pfleger)
where $b/Datum < xs:date("1960-01-01")
return
<Personal>
{$b/@Station, $b/Name, $b/Datum}
</Personal>

Ergebnis
<Personal Station="Kardiologie">
     <Name>
          <Vorname>Ella</Vorname>
          <Nachname>Friedrich</Nachname>
     </Name>
     <Datum>1954-07-30</Datum>
</Personal>
Tags: XQuery
Source:
114
Cardlink
0
Wie funktioniert die ORDER-BY-Klausel in XQuery?
  • Sortierung der Ergebnisse
  • collation zur Angabe der Sortierordnung
  • ascending vs. descending

Beispiel
for $b in fn:doc("../Klinik.xml")//(Arzt | Pfleger)
order by $b/@Station, $b/Name/Nachname
return
<Personal>
     {$b/@Station, $b/Name, $b/Datum}
</Personal>
Tags: XQuery
Source:
115
Cardlink
0
Was ist STABLE ORDER BY in XQuery?
  • wird angewandt, wenn zwei Elemente gleiche Sortierreihenfolge haben
  • → Reihenfolge des Dokuments wird gewährleistet(ist bei ORDER BY nicht der Fall)
Tags: XQuery
Source:
116
Cardlink
0
Wie funktioniert die RETURN-Klausel in XQuery?
= gibt Muster des Ergebnisdokuments an

Syntax
  • $var
  • {$var} → innerhalb eines Dokuments


Beispiel
for $x in (<Arzt/>, <Pfleger/>, <Techniker/>)
return <Berufsgruppen> { $x } </Berufsgruppen>

for $x in (<Arzt/>, <Pfleger/>, <Techniker/>)
return element Berufsgruppen { $x }

Beispiel 2
return element Element { $x/* except $x/ausgeschlossen}
Tags: XQuery
Source:
117
Cardlink
0
Welche Arten von Joins gibt es?
  • symmetrischer Verbund (inner join)
  • einseitig äußerer Verbund (left/right outer join)
  • volllständiger äußerer Verbund (outer join)
Tags: XQuery
Source:
118
Cardlink
0
Was ist ein Join in XQuery?
  • Zusammenführung mehrerer Daten/Abfragen
  • Spezifizierung als geschachtelte For-Abfrage
Tags: XQuery
Source:
119
Cardlink
0
Was ist ein Inner Join in XQuery?
  • nur Elemente übernommen, für die Bedingung erfüllt ist


Beispiel
let $k := fn:doc("../Klinik.xml")
for $s in $k//Station, $p in $k//Pfleger
where $s/@Leitung = $p/@ID
return …
Tags: XQuery
Source:
120
Cardlink
0
Was ist ein Outer Join in XQuery?
  • für eine Seite der Bedingung passende Elemente übernommen
  • für andere Seite alle Elemente übernommen
  • right bzw. left outer join


Beispiel
Tags: XQuery
Source:
121
Cardlink
0
Wie erfolgt die Gruppierung nach Struktur in XQuery?
  • Gruppierung der Resultate
  • Bei gleicher Ausprägung des Gruppierungsattributs nur ein Eintrag ausgewählt
Beispiel
<Personal>
{
for $p in fn:doc("personal.xml")//Personal/*
let $x := $p/*/Alter
return
element { fn:node-name($p) }
{ <Alter>{ fn:avg($x) }</Alter> }
}
</Personal>
Ergebnis
<Personal>
<Aerzte><Alter>28.0</Alter></Aerzte>
<Pflegepersonal><Alter>53.0</Alter></Pflegepersonal>
</Personal>
Tags: XQuery
Source:
122
Cardlink
0
Wie erfolgt die Gruppierung nach Wertgleichheit in XQuery?
→ immer dann, wenn Entitäten über Eigenschaften zusammengefasst werden, die nicht durch hierarchische Struktur repräsentiert werden

Beispiel
let $x := fn:doc("personal2.xml")//Alter[../Beruf/text() = $b]
return
element {xs:string($b)}
{<Alter>{ fn:avg($x) }</Alter> }
}
</MedizinischesPersonal>
Tags: XQuery
Source:
123
Cardlink
0
Welche Aggregationsfunktionen existieren in XQuery?
  • fn:count()
  • fn:avg()
  • fn:min()
  • fn:max()
  • fn:sum()
124
Cardlink
0
In welchen Fällen ist eine Speicherung von XML-Daten in Datenbanken sinnvoll?
  • Transformation großer Daten, bei denen keine sequentielle Verarbeitung möglich ist
  • Zwischenspeicherung von Daten in Workflow-Systemen
  • Verwaltung in XML-basierten Prozessen (z.B. Webanwendungen)
  • Dokumentenverwaltungssysteme → strukturierte Suche in Dokumenten
Tags: XML
Source:
125
Cardlink
0
Welche Unterschiede bestehen zwischen XML und relationalen Datenbanken?
relationales Modell XML
mehrere flache Tabellen Baumstruktur
atomare Werte strukturierter Inhalt (Listen)
Beliebige Reihenfolge Reihenfolge wichtig
vollständiges Schema notwendig Schema optional/unvollständig

→ Anpassung des hierarchischen Modell von XML notwendig
Tags: XML
Source:
126
Cardlink
0
Was ist die dokumentenorientierte/opake Speicherung von XML?
  • XML-Dokument wird als Ganzes gespeichert
  • spezielle Indexstrukturen zur effizienten Abarbeitung bestimmter Anfragen


Vorteile
  • originalgetreue Speicherung
  • schnelles Speichern

Nachteile
  • nur performant wenn entsprechender Index existiert, andernfalls komplettes Parsen notwendig
  • Änderungen sind teuer
Tags: XML
Source:
127
Cardlink
0
Was ist die daten- bzw. inhaltsorientierte Zerlegung von XML?
  • XML-Daten auf mehrere Tabellen verteilt (shredding)
  • → generisch oder definitorisch

Vorteile
  • logische Zusammenhänge bleiben erhalten
  • datenorientierte SQL-Anfragen/Änderungen möglich

Nachteile
  • Strukturorientierte Anfragen schwierig (Nachfolger, …)
  • Reihenfolge nicht berücksichtigt
  • originalgetreue Rekonstruktion schwierig/teuer
  • Schnittstellen (DOM) aufwendig
Tags: XML
Source:
128
Cardlink
0
Was ist die struktur- bzw. modellorientierte Zerlegung von XML?
  • Überführung des DOM-Modells in vordefinierte Relationen
  • Knotenbeziehungen und Reihenfolge wird gespeichert
  • → eindeutige ID u. weitere Attribute notwendig

Vorteile
  • strukturorientierte Anfragen effizient
  • effiziente Umsetzung von XML-Schnittstellen
  • originalgetreue Rekonstruktion möglich
  • generische Abbildung (keine Änderung am relationalen Schema erforderlich)

Nachteile
  • Zwischenschicht notwendig, um XML-Anfragen in SQL zu überführen
  • hoher Speicheraufwand
  • eigene Wertspalte pro Typ notwendig
Tags: XML
Source:
129
Cardlink
0
Was ist ein natives XML-Datenbanksystem?
→ Speicherung in relationalen Datenbanken mit vielen Einschränkungen verbunden, daher native Systeme

  • definiert logisches Modell für XML-Dokumente
  • bietet informationserhaltende Speicherung
  • bietet XML-Schnittstellen für den Zugriff auf die Daten (XPath, XQuery, DOM)
Tags: XML
Source:
130
Cardlink
0
Wie ist ein Link mit XLink aufgebaut?
  • ein Startpunkt
  • ein Endpunkt
  • eine ungerichtete Kante
  • Richtung, in der die Kante verfolgt wird
  • Verhalten (wie der Link beim Einlesen behandelt werden soll)
  • Darstellung
Tags: XLInk
Source:
131
Cardlink
0
Welche Kantenarten gibt es bei XLink?
ausgehende Kanten
  • lokaler Start-Ressource
  • enfernte End-Ressource

eingehende Kanten
  • entfernte Start-Ressource
  • lokale End-Ressource

Third-Party-Kante
  • weder lokale Start-
  • noch lokale End-Ressource
Tags: XLInk
Source:
132
Cardlink
0
Was ist eine Traversierung in XLink?
= Benutzen oder Verfolgen eines Links
  • beginnt mit der Start-Ressource
  • endet mit End-Ressource
  • → T. beinhaltet nur ein Ressourcen-Paar
  • Kante = Information, wie Traversierung erfolgt
Tags: XLInk
Source:
133
Cardlink
0
Was ist ein einfacher Link in XLink?
= ausgehender Link von einer lokalen zu einer entfernten Ressource
  • jedes Element kann einen XLink beinhalten
  • Attribut xlink:type mit Wert "simpel"


Beispiel HTML
<ahref="http:www.uni-leipzig.de">Uni Leipzig</a>

Beispiel XLink
<ein-link xlink:type="simple" xlink:href="http:
www.uni-leipzig.de">Uni-Leipzig</ein-link>


Tags: XLInk
Source:
134
Cardlink
0
Welche Eigenschaften besitzt ein erweiterter Link in XLink?
  • assoziiert eine beliebige Anzahl von Ressourcen
  • egal ob lokale oder entfernte
  • kann eingehende Third-Party-Kanten haben
  • Link getrennt von Ressourcen gespeichert
  • xlink:type="extended"
Tags: XLInk
Source:
135
Cardlink
0
Welche Attribute besitzt ein erweiterter Link in XLink?
  • xlink:type="extended"
  • Kindelemente können Link weiter spezifizieren
  • → locator/arc/resource/title für xlink:type

optionale Attribute
xlink:role Funktion des Verweises
xlink:title Titel des Links
xlink:show gibt an, wie Ressource angezeigt werden soll (new/replace/embed/undefined)
xlink:actuate wie mit dem Link verfahren werden soll: onLoad/onRequest/undefined
Tags: XLInk
Source:
136
Cardlink
0
Was ist XPointer?
  • Erweiterung von XPath zur Adressierung von Teilen eines XML-Dokuments
  • erlaubt durch URIs den Verweis auf Bestandteile der XML-Daten
Tags: XPointer
Source:
137
Cardlink
0
Was ist das XPointer element() Scheme?
  • erlaubt Benutzung grundlegender XPointer-Ausdrücke
  • Elemente werden adressiert


Beispiel
element(bla) → Element mit der ID "bla" wird ausgewählt
element(/x/y/z) → x-te Toplevel-Element, y-te Kind, z-te Kindeskind
element(bla/2) → Zweites Kindelement von ID "bla"
Tags: XPointer
Source:
138
Cardlink
0
Welche Location-Types und Funktionen gibt es in XPointer?
Location-Types
  • Point-Location
  • Range-Location
  • Covering-Ranges für alle Location Types

Funktionen
  • range-to()
  • string-range()
  • covering-range()
  • range-inside()
  • end-point()
Tags: XPointer
Source:
139
Cardlink
0
Woraus besteht eine Point-Location bei XPointer?
Container-Knoten
→ Knoten, welcher den Punkt enthält

Index
  • positiver Wert, welcher den Offset des Punktes zum Kindknoten bzw. Zeicheninhalt angibt
  • 0 → Punkt liegt vor allen Knoten
  • n → Position direkt nach dem n-ten Knoten bzw. Zeichen


Beispiel
XML:  <p>hello,_<em>big_</em>world.</p>
XPointer: xpointer(start-point(//em))
→ wählt <em/> aus
Tags: XPointer
Source:
140
Cardlink
0
Was ist eine Range-Location bei XPointer?
  • besitzt einen Start- und einen Endpunkt
  • Bereich dazwischen wird ausgewählt, auch Teile von Knoten
  • Falls Container-Knoten kein Wurzel-, Element- oder Text-Knoten ist, muss der andere Container vom gleichen Typ sein
Tags: XPointer
Source:
141
Cardlink
0
Was ist die range-to()-Funktion in XPointer?
  • liefert Bereich oder Menge von Bereichen zurück
  • Start- und Endpunkt sind XPath-Ausdrücke

Aufbau
location-set range-to(location-set)

Beispiel
Ein entsprechendes Beispiel ist nachfolgend dargestellt (vgl. xpointer(id('Start')/range-to(id('Ende')))
Tags: XPointer
Source:
142
Cardlink
0
Was ist die string-range()-Funktion in XPointer?
  • rudimentäre Stringvergleichsmöglichkeiten
  • liefert Bereich für jeden nichtüberlappenden Substring zurück
  • Position und Länge sind optional

Aufbau
location-set string-range(location-set, string, number?, number?)

Beispiel
xpointer(string-range(//meinElement,"Such mich",9,5))
Tags: XPointer
Source:
143
Cardlink
0
Was ist die covering-range()-Funktion in XPointer?
  • gibt Menge von Bereichen zurück
  • jedem zur Position passenden Knoten/Punkt/Bereich wird eine Umrandung verliehen, die zurückgegeben wird

Aufbau
location-set covering-range(location-set)

Beispiel
covering-range(//meinElement)
Tags: XPointer
Source:
144
Cardlink
0
Was ist die range-inside()-Funktion in XPointer?
  • ähnlich zu covering-range()
  • liefert Inhalt des Elements zurück, ohne Start- und Endetag

Aufbau
location-set range-inside(location-set)

Beispiel
range-inside(//meinElement)
Tags: XPointer
Source:
145
Cardlink
0
Was ist die start-point()-Funktion in XPointer?
= für jede übergebene Location x wird der Startpunkt zurückgegeben
Wenn x vom Typ …
  • Punkt ist, so ist das Ergebnis x
  • Bereich ist, so ist das Ergebnis der Startpunkt von x
  • Knoten ist, gilt:
  •        o Für Element-, Wurzel-, Text-, Kommentar- und PI-            Knoten ist der Containerknoten des resultierenden            Punktes gleich x und der Index ist 0.       o Für Namespace- und Attributknoten scheitert die           Auswertung
Tags: XPointer
Source:
146
Cardlink
0
Was ist die end-point()-Funktion in XPointer?
  • für jede übergebene Location x wird die Ergebnismenge um einen Startpunkt erweitert
  • analog zu start-point()
Tags: XPointer
Source:
147
Cardlink
0
Was ist XSLT?
  • Sprache zur regelbasierten Transformation von XML-Dokumenten
  • nutzt XPath zur Adressierung
  • → gleiches Datenmodell
  • definiert Stylesheets, in dem Templates stehen

Motivation
  • Daten für mehrere Ausgabemedien aufbereitne (z.B. CD, web, …)
Tags: XSLT
Source:
148
Cardlink
0
Wie ist die Grundstruktur eines XSLT-Stylesheets?
  • Wurzelelement <xsl:stylesheet/> oder <xsl:transform/>
  • Attribut version
  • Namensraumangabe

Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
</xsl:stylesheet>
Tags: XSLT
Source:
149
Cardlink
0
Was sind Templates?
  • freie Reihenfolge
  • begonnen wird mit Template für Wurzelknoten

Aufbau
  • Suchmuster
  • Anweisungen

Beispiel
Quelldokument: <gruss>Hello, World!</gruss>
Ziel: <body><h1><Hello, World!</h1></body>
Stylesheet
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="html"/>
     <xsl:template match="/">
          <body>
               <h1>
                    <xsl:apply-templates select="gruss"/>
               </h1>
          </body>
     </xsl:template>
     <xsl:template match="gruss">
     <xsl:value-of select="."/>
     </xsl:template>
</xsl:stylesheet>
Tags: XSLT
Source:
150
Cardlink
0
Wie werden Templates verarbeitet?
  • Elemente, die keine XSLT-Anweisung sind, werden unverändert ins Zieldokument übernommen
  • <xsl:apply-template/> wählt alle Kindknoten des Kontextknotens aus und führt passende Templates aus
  • value-of werden Inhalte von Ausdrücken in das Zieldokument übernommen
  • → <xsl:value-of select="name"/> fügt den inhalt von <name/> in das Zieldokument ein
Tags: XSLT
Source:
151
Cardlink
0
Was passiert, wenn in XSLT mehrere passende Templates gefunden werden?
  • spezifische Regel hat Vorrang vor allgemeineren
  • Regeln mit Wildcards sind allgemeiner als ohne
  • Priorität kann über priority gesetzt werden
  • wenn obige Regeln keine Entscheidung bringt: Reihenfolge im Dokument
Tags: XSLT
Source:
152
Cardlink
0
Wie kann in XSLT die Steuerung des Quellbaums realisiert werden?
buch alle <buch/>-Elemente
buch/autor <autor/>-Elemente, die Kind von <buch/> sind
buch/autor[1] Erstes autor-Kindelement von buch
autor[name="Mintert"] autor-Elemenet, deren Kind-Element name den entspr. Wert hat
autor/vorname[position()!=1] Alle vorname, die nicht das erste Kind sind
buch[@isbn="42"] Buch mit Attribut isbn und Wert 42

Tags: XSLT
Source:
153
Cardlink
0
Wie kann in XSLT die Steuerung des Quellbaums via benannter Templats realisiert werden?
<xsl:template match="vorname" name="vn_template"/>

  • Pattern (Muster) als der Attributwert von match muss einen XPath-Lokalisierungspfad enthalten
  • nur child- und attribute-Achsen sowie // und / nutzbar

Aufruf benannter Templates:
<xsl:call-template name="vn_template"/>
<xsl:apply-templates select="vorname"/>
Tags: XSLT
Source:
154
Cardlink
0
Wie kann ein Template in XSLT mit Parametern aufgerufen werden?
  • Parameter Kindelemente von <xsl:with-param/> oder global
  • Parameterinhalt via select oder Elementinhalt festlegen

Nutzung
<xsl:param/> erstes Kindelement von <xsl:template/>
Beispiel
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="text"/>
<xsl:template match="/">
     <xsl:call-template name="summe">
          <xsl:with-param name="x1" select="30"/>
          <xsl:with-param name="x2">27</xsl:with-param>
     </xsl:call-template>
</xsl:template>
<xsl:template name="summe">
     <xsl:param name="x1"/>
     <xsl:param name="x2"/>
     <xsl:value-of select="$x1 + $x2"/>
</xsl:template>
</xsl:stylesheet>

Zieldokument: 57
Tags: XSLT
Source:
155
Cardlink
0
Welche Kontrollstrukturen ermöglicht XSLT?
  • Entscheidungen (if/choose)
  • Iteratioren (for-each)
  • Sortieren (sort)
Tags: XSLT
Source:
156
Cardlink
0
Wie werden Konstrollstrukturen in XSLT umgesetzt?
Syntax
<xsl:template match="buch">
     <xsl:if test="titel='The XML Handbook'">
          ...
     </xsl:if>
</xsl:template>

Alternativ: <xsl:choose/> mit mehren Kindern <xsl:when/>

  • XPath-Ausdrücke für test-Attribut
  • Inhalt von if ist ein Template
  • <xsl:otherwise/> als else-Zweig
Tags: XSLT
Source:
157
Cardlink
0
Wie kann man in XSLT iterieren?
  • select gibt Knotenmenge (XPath) an
  • Anweisungen für jedes Element ausgeführt


Beispiel
<xsl:template match="literaturliste">
     <xsl:for-each select="buch">
          <xsl:value-of select="titel"/>
     </xsl:for-each>
</xsl:template>
Tags: XSLT
Source:
158
Cardlink
0
Wie kann man in XSLT sortieren?
  • <xsl:sort/> als Kind von apply-templates oder for-each
  • sort-Elemente müssen vor zu sortierenden Knoten stehen
  • select gibt Sortierschlüssel an, mehrere möglich
  • Attribut order: ascending oder descending

Beispiel
<xsl:for-each select="/literaturliste/buch">
     <xsl:sort select="titel" data-type="text" order="ascending"/>
      <xsl:value-of select="titel"/>
</xsl:for-each>
Tags: XSLT
Source:
159
Cardlink
0
Welche Neuerungen bietet XSLT 2.0?
  • Unterstützung mehrerer Zieldokumente
  • verbesserte Internationalisierung
  • temporary trees als Ersatz für result truee
  • Gruppierung von Elementen nach Wert
Tags: XSLT
Source:
160
Cardlink
0
Was ist XSL-FO?
= XSL Formatting Objekts
  • Zwischenformat für Seitenbeschreibung
  • → Prozessoren erzeugen Seitenbeschreibung
  • zur Erzeugung eines physischen Markups (Aufteilung auf Seiten, Kopfzeile, …)
  • Wurzelelement ist <fo:root/>

Ablauf
  1. Dokumente via XSLT in XSL-FO transformiert
  2. Prozessor erzeugt Zielformat
  3. → Formatierung unabhängig vom Zielformat

Tags: XSL-FO
Source:
161
Cardlink
0
Wie ist ein XSL-FO-Dokument grundlegend aufgebaut?
  • Wurzellement <fo:root>
  • erstes Kind: <fo:layout-master-set/>
  • → Vorlagen für Seiten(folgen) und Regionen
  • <fo:simple-page-master/>
  • → Gestaltung einfacher Seiten
  • <fo:region-body/>
  • → repräsentiert zentralen Bereich der Seite
Tags: XSL-FO
Source:
162
Cardlink
0
Wie kann in XSL-FO eine Seitenfolge definiert werden?
  • <fo:flow/> fügt Fließtext ein
  • <fo:block/> definiert rechteckigen Anzeigebereich

Beispiel
<fo:page-sequence master-reference="my-page">
     <fo:flow flow-name="xsl-region-body">
          <fo:block>Hello, world!</fo:block>
     </fo:flow>
</fo:page-sequence>
Tags: XSL-FO
Source:
163
Cardlink
0
Welche Sprachelemente zum Seitenaufbau gibt es in XSL-FO?
<fo:simple-page-master/> braucht mindestens eines der folgenden Kinder:

<fo:region-body> zentraler Bereich
<fo:region:before> Kopfbereich
<fo:region-after> Fußbereich
<fo:region-start> Bundbereich
<fo:region-end> Außenbereich


→ <fo:flow/> und <fo:static-content/> können über Attribut flow-name auf angelegte Regionen zugreifen
Tags: XSL-FO
Source:
164
Cardlink
0
Welche Möglichkeiten der Textformatierung gibt es in XSL-FO?
font-family Schriftfamilie, z.B. "Helvetica"
font-size Schriftgröße, z.B. "18pt"
background-color Hintgrundfarbe, z.B. "blue"

→ können für einen Bereich (<fo:block/>) oder einzelne Zeichen (<fo:inline/>)

Beispiel
<fo:page-sequence master-reference="Seite">
     <fo:flow flow-name="xsl-region-body">
     <fo:block background-color="pink" font-family="Helvetica" font-size="30pt">
          <fo:inline font-size="55pt">H</fo:inline>ello,
          <fo:inline font-size="55pt">W</fo:inline>orld!!!
     </fo:block>
     </fo:flow>
</fo:page-sequence>
Tags: XSL-FO
Source:
165
Cardlink
0
Wie können mittels XSL-FO Tabellen gebildet werden?
<fo:table/> Gesamte Tabelle
<fo:table-cell/> Platziert Zellinhalte
<fo:table-column Repräsentiert eine Spalte
<fo:table-row/> Repräsentiert eine Zeile

Beispiel
<fo:flow flow-name="xsl-region-body">
     <fo:table font-size="30pt">
          <fo:table-column column-width="120mm" column-number="1"/>
          <fo:table-column column-width="40mm" column-number="2"/>
          <fo:table-body>
               <fo:table-row>
                    <fo:table-cell column-number="1">
                         <fo:block>Matrikelnummer</fo:block>
                    </fo:table-cell>
                    <fo:table-cell column-number="2">
                         <fo:block>Note</fo:block>
                    </fo:table-cell>
               </fo:table-row>
          <fo:table-row>
     <fo:table-cell column-number="1">
          <fo:block>6725342</fo:block>
     </fo:table-cell>
     <fo:table-cell column-number="2">
          <fo:block>2.3</fo:block>
...
Tags: XSL-FO
Source:
166
Cardlink
0
Wie können mittels XSL-FO Listen gebildet werden?
<fo:list-block/> Enthält eine Lsite
<fo:list-item/> Enthält Label und Inhalt eines Eintrags
<fo:list-item-body Enthält Inhalt eines Eintrags
<fo:list-item-label Enthält Label eines Eintrags

Beispiel
<fo:page-sequence master-reference="Seite">
<fo:flow flow-name="xsl-region-body">
<fo:list-block>
     <fo:list-item font-size="24pt">
          <fo:list-item-label>
               <fo:block background-color="lightgrey">1.    
               </fo:block>
          </fo:list-item-label>
          <fo:list-item-body>
               <fo:block text-indent="40pt">
                    fo:list-block
               </fo:block>
          <fo:block space-after="30pt" font-size="18pt">Enthält die Liste</fo:block>
...
Tags: XSL-FO
Source:
167
Cardlink
0
Was ist SAX?
= Simple API for XML
  • De-facto Standard
  • ereignisorientierte Verarbeitung von XML
  • sequentiell
  • keine Sprünge oder gezielte Bearbeitung von Dokumentteilen möglich
Tags: Schnittstellen
Source:
168
Cardlink
0
Welche Vor- untd Nachteile hat SAX?
Vorteile
  • einfach, effizient bzgl. Speicher und Zeit
  • geeignet für große Datenmengen
  • geringer Overhead bei Verarbeitung eines geringen Anteils der Daten

Nachteile
  • kein Mechanismus zum Schreiben von XML
  • keine freie Navigation im Dokument
Tags: Schnittstellen
Source:
169
Cardlink
0
Was ist DOM?
= Document Object Model
  • Programmierschnittstelle zum Zugriff auf XML- und Instanzdokumente
  • definiert Methoden zum Einfügen, Löschen, Ersetzen und Navigation
  • baumbasierter Ansatz
Tags: Schnittstellen
Source:
170
Cardlink
0
Welche Vor- und Nachteile bietet DOM?
Vorteile
  • einheitlicher Zugriff in verschiedenen Sprachen
  • gezielter und schneller Zugriff
  • geringerer Programmieraufwand als bei SAX
  • besser geeignet zur Generierung dynamischen Inhalts

Nachteile
  • Schreiben von XML nicht in API enthalten
  • automatisches Traversierung nicht enthalten
  • Baumorientierung umständlich
  • hoher Overload für Baumerstellung
  • hoher Speicherbedarf
Tags: Schnittstellen
Source:
171
Cardlink
0
Welche Möglichkeiten der Dokumentenbetrachtung gibt es für XML?
Browser
  • nur lesender Zugriff
  • direkte Anzeige: Struktur der XML-Datei
  • formatierte Anzeige: via Stylesheets

serverseitiges Publishing
  • Konvertierung in HTML (z.B. via Cocoon)
  • statisch oder dynamisch
  • via XSLT
Tags: Schnittstellen
Source:
172
Cardlink
0
Welche Vor- und Nachteile bietet die manuelle Datenhaltung im Dateisystem von XML-Dokumenten?
Vorteile
  • Anwender ist Bedienung gewöhnt
  • keine Extrakosten

Nachteile
  • keine XML-spezifische Unterstützung
  • bei großen Datenmengen aufwendig
  • keine Unterstützung für Versionsverwaltung usw.
Tags: Schnittstellen
Source:
173
Cardlink
0
Welche Vor- und Nachteile besitzt die Verwaltung von XML-Dokumenten in Datenbanken?
Vorteile
  • meist schon im Einsatz (RDBMS)
  • Administratoren benötigen keine weitere Schulung
  • individuelle Anpassung einfach möglich

Nachteile
  • keine native XML-Unterstützung (Zugriff auf Elemente, …)
  • Erweiterung um XML-Spezifika teuer und aufwendig
  • Versionsverwaltung muss individuell geregelt werden
Tags: Schnittstellen
Source:
174
Cardlink
0
Wie kann XML in einer relationalen Datenbank gespeichert werden?
  • Speicherung als flache Zeichenkette
  • modellbasierte Speicherverfahren
  •           • schemaabhängig          • schemuanabhängig
Tags: Schnittstellen
Source:
175
Cardlink
0
Wie erfolgt die Speicherung von XML als flache Zeichenkette in einer relationalen Datenbank?
  • originalgetreu als CLOB oder Textdatei
  • hohe Performanz bei Rückgabe des kompletten Dokuments
  • ineffizient bei de Suche im XML-Dokument
Tags: Schnittstellen
Source:
176
Cardlink
0
Wie erfolgt die Speicherung von XML mit modellbasierten Speicherverfahren in einer relationalen Datenbank?
  • XML durch strukturelle Analyse auf ein oder mehrere Tabellen abgebildet
  • SQL greift auf XML-Strukturinformationen zu
  • schnelle Antwort bei Anfragen zu Teilen des Dokuments
  • langsame Verarbeitung des kompletten Dokuments
Tags: Schnittstellen
Source:
177
Cardlink
0
Wie erfolgt die Speicherung von XML via modellbasierten schemaabhängiger Verfahren in einer relationalen Datenbank?
  • basieren auf einem Relationsschema, welches aus DTD/XML-Schema abgeleitet wird
  • Daten können ohne aufwändige Navigation direkt angefragt werden
  • sehr inflexibel
Tags: Schnittstellen
Source:
178
Cardlink
0
Wie erfolgt die Speicherung von XML via modellbasierten schemaunabhängiger Verfahren in einer relationalen Datenbank?
  • Relationenschema, welches beliebige XML-Dokumente speichern kann
  • hohe Flexibilität
  • hoher Navigationsaufwand, um Daten an Blättern zu finden
Tags: Schnittstellen
Source:
179
Cardlink
0
Was ist eine XML-Datenbank?
Vorteile
  • XML-Unterstützung (Parsing, Check-Out gezielter Teile)
  • Wiederverwendung und Parallelbearbeitung unterstützt
  • Zugriff auf Elemente und Attribute durch XQuery

Nachteile
  • mangelnde Verbreitung
  • schlechte Performanz bei großen Datenmengen
Tags: Schnittstellen
Source:
180
Cardlink
0
Nenne einige Anwendungen von XML!
  • WebServices (WSDL/BPEL)
  • Eclipse Modeling Framework
  • SVG
  • RDF
Tags: Anwendungen
Source:
181
Cardlink
0
Welche Rolle besitzt XML im EMF?
XML Metadata Interchange (XMI)
  • OMG Standard
  • zur Serialisierung von Ecore- und GMF-Modellen
  • Austauschformat zwischen Modellierungswerkzeugen

Tags: Anwendungen
Source:
182
Cardlink
0
Welche Rolle spielt XML bei SVG?
= Beschreibung zweidimensionaler Grafiken

Vorteile
  • generierbar
  • leicht zu erzeugen
Tags: Anwendungen
Source:
183
Cardlink
0
Was ist RDF?
= Resource Description Framework
  • Sprache zur semantischen Modellierung von Ontologien
  • resources und properties
  • Modularisierung über XML-Namensräume
  • serialisierbar als XML-Datei oder N3-Tripel
Tags: Anwendungen
Source:
184
Cardlink
0
Welche Beziehungen bestehen zwischen den Datenmodellen der XML-Techniken?
  • XPath 2.0 unterstützt primäre Typen von XMLSchema
  • XPath 2.0 Teilmenge von XQuery
  • XQuery/XSLT/XPointer nutzen Datenmodell von XPath 2.0
Flashcard set info:
Author: David
Main topic: Informatik
Topic: XML
School / Univ.: Universität Leipzig
City: Leipzig
Published: 07.08.2013
Tags: XPointer, XQuery, XPath, XSLT, XLink, XMLSchema, DTD
 
Card tags:
All cards (184)
Anwendungen (4)
DTD (21)
Einführung (11)
Schnittstellen (13)
Spezifikation (21)
XLInk (6)
XML (6)
XMLSchema (24)
XPath (19)
XPath 2.0 (5)
XPointer (11)
XQuery (14)
XSL-FO (7)
XSLT (13)
Report abuse

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English