• +49-(0)721-402485-12
Ihre Experten für XML, XQuery und XML-Datenbanken

Atomisierung

Atomare Werte kommen in XML-Dokumenten eigentlich nicht vor. Vielmehr werden XML-Dokumente im XQuery-Datenmodell als Baum von Knoten dargestellt. Zum Rechnen und für viele Funktionen werden allerdings atomare Werte benötigt. Um diesen Übergang einfach zu gestalten, wendet XQuery an vielen Stellen einen Vorgang an, der "Atomisierung" heißt (obwohl das Ergebnis nicht atomar ist, sondern eine Sequenz). Dabei werden aus Knoten die entsprechenden atomaren Werte "automatisch" extrahiert. Wenn eine Sequenz von Werten und Knoten atomisiert wird, so geschieht dies folgendermaßen:

  • Atomare Werte bleiben unverändert.
  • Knoten werden durch ihre getypten Werte ersetzt.

Atomisierung wird zum Beispiel in arithmetischen Ausdrücken angewendet, in bestimmten Vergleichsausdrücken, in cast-Ausdrücken und auf Argumente und Rückgabewerte von Funktionen, wenn es sich dabei um atomare Typen handelt. Daher ist der Wert der folgenden Ausdrücke gleich (der getypte Wert eines Elementes ist sein Inhalt; Attribute bleiben dabei unberücksichtigt):

xs:integer(<Schuhgröße>42</Schuhgröße>)
xs:integer("42")
<Zimmernummer>42</Zimmernummer> cast as xs:integer
fn:distinct-values((<A>42</A>,<B x="2">42</B>))

 

Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)

<< zurückvor >>