Vergleichsausdrücke
Vergleichsausdrücke werden im Allgemeinen für zwei Zwecke innerhalb einer XQuery verwendet: erstens, um eine Einschränkung auf dem Ausgangsdatenbestand vorzunehmen bzw. eine Verbundbedingung zwischen zwei XML-Dokumenten zu spezifizieren und zweitens, um intern eine (implizit bzw. explizit erzwungene) Sortierung des Ergebnisdokumentes zu realisieren. In XQuery werden drei Arten von Vergleichsausdrücken unterschieden:
- Wertevergleich ("value comparison")
Ausdrücke, die einen Wertevergleich realisieren, werden benötigt, um einzelne Werte untereinander zu vergleichen. - Allgemeiner Vergleich ("general comparison")
Ein allgemeiner Vergleich ist ein exiszentiell quantifizierender Vergleichsoperator auf zwei Sequenzen von Werten. Ein allgemeiner Vergleichsausdruck ist dann wahr, wenn mindestens ein Element jeder Sequenz den Vergleich erfolgreich absolviert hat. - Knotenvergleich ("node comparison")
Ein Knotenvergleich testet, ob die beiden Operandenknoten identisch sind oder eine per Operator vorgegebene Beziehung innerhalb der Dokumentordnung erfüllen.
Das für Vergleichsoperatoren zuständige Grammatikfragment ist nachfolgend angegeben, wobei die Aufteilung in die drei unterschiedlichen Subklassen direkt sichtbar ist:
ComparisonExpr | ::= | RangeExpr ( (ValueComp | GeneralComp | NodeComp) RangeExpr)? |
ValueComp | ::= | eq | ne | lt | le | gt | ge |
GeneralComp | ::= | = | != | < | <= | > | >= |
NodeComp | ::= | is | << | >> |
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)
<< zurück | vor >> |