Wofür wird XInclude verwendet?
XInclude (XML Inclusions) ist eine Spezifikation des W3C, in der eine Methode definiert ist, um XML-Dokumente, Dokumentfragmente und sogar Textdateien mit Hilfe externer Referenzen zu einem Gesamtdokument zusammenzustellen.
Definiert ist das Element <xi:include> zur Adressierung des Teildokumentes. Als Kindelement von <xi:include> kann das Element <xi:fallback> notiert werden, das Inhalte für den Fehlerfall enthält.
Was ist die Motivation hinter XInclude?
Ein XML-Dokument aus einzelnen Modulen zusammenzusetzen hat viele Vorteile: Die einzelnen Einheiten sind wiederverwendbar und ein verteiltes Arbeiten ist möglich. Bei der Entwicklung einer DTD oder eines XML-Schemas ist darauf zu achten, dass diese so konzipiert werden, dass sowohl die einzelnen Module und auch das Gesamtdokument validiert werden können. Desweiteren wird noch eine Methode benötigt, wie das Gesamtdokument aus den einzelnen Teildokumenten zusammengestellt werden kann.
Was ist XPath?
XPath ist eine Art Hilfssprache, die für die Adressierung und den Zugriff auf Strukturbestandteile eines XML-Dokumentes verwendet wird.
Mit ihr können auch komplexe Anfragen an XML-Dokumente gestellt werden.
Was ist das Datenmodell XDM?
XQuery und XPath haben ein gemeinsames Datenmodell »XDM«.
Zentrales Konstrukt des Datenmodells ist die Sequenz. Eine Sequenz besteht aus 0 oder mehr Items. Ein Item kann ein atomarer Wert, ein Knoten oder eine Funktion sein. Maps und Arrays sind spezielle Funktionen.
Was sind Knoten im XML-Dokument?
XML-Dokumente haben ein Wurzelelement und sind hierarchisch aufgebaut. Elemente können Kindelemente haben. Daher liegt die Repräsentation eines XML-Dokumentes als Baum bestehend aus Knoten nahe. Knoten repräsentierten die verschiedenen XMLKonstrukte.
XPath verfügt über das Konzept der Dokumentreihenfolge (document order). Die Knoten im Dokumentbaum sind in der Reihenfolge geordnet, in welcher die Dokumentteile beim Parsing gefunden werden.
Welche 7 Knotenarten gibt es im XML-Dokument?
<!-- --> enthaltene Zeichenkette.Welche zwei Arten von Werten werden bei Knoten unterschieden?
string() zugegriffen werden.data() zugegriffen werden.Was sind Atomare Werte und wozu werden sie verwendet?
Atomare Werte sind einfache Datenwerte, ohne Markup und ohne Beziehung zu einem speziellen Element oder Attribut. Sie kommen in XML-Dokumenten eigentlich nicht vor, können aber mit den XPath-Funktionen string() und data() aus Knoten extrahiert werden.
Atomare Werte werden zum Rechnen und bei vielen Funktionen benötigt. Bei vielen Ausdrücken wie z.B. Arithmetischen Ausdrücke, Vergleichsausdrücke oder bei Funktionsrückgabewerten, erfolgt eine Atomisierung.
Welche Typen können Atomare Werte sein?
Der Typ eines atomaren Wertes kann ein eingebauter Typ oder ein benutzerdefinierter Typ sein.
* xs:anyAtomicType ist der Basistyp von xs:untypedAtomic und von allen primitiven Datentypen wie z.B. xs:integer und xs:string
* Ein Listentyp repräsentiert eine Liste von atomaren Werten eines bestimmten Typs. Im Typsystem sind drei Listentypen definiert: xs:IDREFS, xs:NMTOKENS und xs:ENTITIES.
* Vereinigungstypen haben als Werteraum die Vereinigungsmenge der Werteräume der vereinigten Typen. z.B. ist der Typ xs:numeric der Vereinigungstyp der drei primitiven Zahlentypen xs:double, xs:fload und xs:decimal
Was ist eine Sequenz im XPath/XQuery-Datenmodell?
Eine Sequenz bildet das zentrale Konstrukt.
Eine Sequenz besteht aus einer Aneinanderreihung von Items. Da ein Item ein Knoten, ein atomarer Wert oder eine Funktion sein kann, können Sequenzen heterogen sein. Jede Operation liefert als Resultat eine Sequenz.
Eine Sequenz kann auch explizit durch den sogenannten Sequenzkonstruktor konstruiert werden. Die Einträge werden durch Kommata getrennt und von runden Klammern umfasst.
Welche 6 Eigenschaften hat eine Sequenz im XPath/XQuery-Datenmodell?
(1,(),(<element/>,3),1) ist äquivalent zu: (1,<element/>,3,1).Welche 6 Operationen gibt es für Sequenz im XPath/XQuery-Datenmodell?
(1,<x/>),(3) liefert (1,<x/>,3).to: Sequenzen ganzer Zahlen lassen sich durch einen Bereichsoperator angeben. Der gesamte Ausdruck wird dann als Bereichsausdruck bezeichnet. Beispiel: Der Bereichsausdruck 1 to 5 liefert die Sequenz (1,2,3,4,5).|«): Vereinigung zweier Sequenzen.Was sind Sequenztypen im XPath/XQuery-Datenmodell?
Ein Sequenztyp wird verwendet, um in einem XQuery-Ausdruck genaue Typangaben für eine Sequenz anzugeben. In Funktionsdeklarationen müssen beispielsweise die Typen der Übergabeparameter und des Rückgabewertes notiert werden. Ein Sequenztyp besteht aus einem Typ, der den Typ jedes Items der Sequenz angibt, und einer Kardinaltätsangabe, die angibt, wie viele Items die Sequenz enthalten muss oder darf.
Welche Sequenztypen und Kardinalitätsangaben gibt es im XPath/XQuery-Datenmodell?
Sequenztypen:
* item(): beliebiges Item, d. h. beliebiger Knotentyp oder ein atomarer Wert beliebigen Typs
* node(): umfasst die Knotentypen
* empty-sequence(): für eine leere Sequenz
* xs:anyAtomicType: beliebiger atomarer Wert
Kardinalitäten / Häufigkeitsindikatoren
* ? : für 0 oder ein Item
* * : für 0 bis beliebig viele Items
* + : für 1 bis beliebig viele Items
* keine Angabe: genau ein Item
Was sind Ausdrücke in XPath und XQuery und was ist der Rückgabewert?
In XPath und XQuery wird jede XPath-Beschreibung bzw. jede gültige Suchanfrage als Ausdruck bezeichnet. Rückgabewert eines Ausdrucks ist immer eine Sequenz.
Welche 5 Syntaxregeln gelten für Ausdrücke in XPath und XQuery
(: XQuery Kommentar :)Welche XPath/XQuery Ausdrücke werden unterschieden?
Erweiterte Ausdrücke
* Verleichsausdrücke
* Konditionale Ausdrücke
* switch-Ausdrücke
* Quantifizierende Ausdrücke
* for-Ausdrücke
* Der einfache Map-Operator “!”
Was sind Elementare Ausdrücke in XPath/XQuery?
Zu den elementaren Ausdrücken gehören:
* Literale
* Variablen
* Funktionsaufrufe
* Klammerausdrücke
Was sind Arithmeitsche und logische Ausdrücke in XPath/XQuery?
Arithmetische und logische Ausdrücke ähneln denen anderer Programmiersprachen. Innerhalb der arithmetischen Ausdrücke können die Operatoren: +, -, *, div, idiv (Ganzzahldivision), mod (Modulo) verwendet werden.
Logische Operatoren sind and und or.
Was sind Pfadausdrücke in XPath/XQuery?
Pfadausdrücke dienen der Adressierung und dem Zugriff auf Strukturbestandteile eines XML-Dokumentes.
Pfadausdrücke können auf drei verschiedene Arten formuliert und ausgewertet werden:
* Lokalisierungspfade und Achsen
* Knotentest
* Prädikate
Was sind Lokalisierungspfade und Achsen, welche beide Arten von Lokalisierungspfaden werden unterschieden??
Ein Lokalisierungspfad (location path) ist ein XPath-Ausdruck, Lokalisierungsder verwendet wird, um Knoten in einem XML-Dokument zu pfad adressieren. Lokalisierungspfade werden stets relativ zu einem Kontextitem ausgewertet, welches als »Startpunkt« des Pfades dient. Handelt es sich beim Kontextitem um einen Knoten, spricht man vom Kontextknoten.
XPath unterscheidet absolute und relative Lokalisierungspfade.
Absolute Pfade starten am Dokumentknoten, der XPath-Ausdruck beginnt dann mit einem »/«.
Relative Pfade beginnen bei einem beliebigen anderen Knoten.
Wie sind Lokalisierungspfade aufgebaut?
Ein Lokalisierungspfad besteht aus einzelnen Lokalisierungsschritten. Die einzelnen Lokalisierungsschritte werden – ähnlich wie bei der Adressierung von Dateien in einem Verzeichnissystem – durch einen »/«, den sogenannten Pfad-Operator, voneinander getrennt. Die Lokalisierungsschritte werden sukzessive von links nach rechts ausgewertet.
Was ist ein Achsenschritt, wozu wird er verwendet?
Mit einem Achsenschritt es möglich, im Dokumentenbaum des XML-Dokuments, zu navigieren und auf Teilbäume zuzugreifen. Für einen Achsenschritt gilt folgende Syntax:achse::knotentest[prädikat]
Ein Achsenschritt besteht also aus drei Teilen:
* Die Achse gibt die Richtung an, in der die zu selektierenden Knoten gesucht werden,
* der Knotentest dient der Filterung der durch die Achse selektierten Knoten und
* mit Prädikaten (optional) kann die Knotensequenz, die durch achse::knotentest ausgewählt wurde, weiter gefiltert werden.
Welche 24 Achsen gibt es in XPath?