Unterstützte ESQL- und XPath-Ausdrücke

Weitere Informationen zu XPath-Ausdrücken, -Funktionen und -Datenmodellen finden Sie unter: www.w3.org/TR/xpath. Ein Lernprogramm für XPath finden Sie unter www.w3schools.com\xpath

Anmerkung: Die im vorliegenden Abschnitt beschriebenen ESQL-Funktionen werden vom Zuordnungseditor für Nachrichten unterstützt, jedoch nicht zwangsläufig im angegebenen Format. Informationen zur genauen Syntax finden Sie im Inhaltsassistent für den Zuordnungseditor für Nachrichten.
ESQL-spezifische Funktion   ESQL-Äquivalent
esql:date($arg)   CAST($arg AS DATE)
esql:time($arg)   CAST($arg AS TIME)
esql:timestamp($arg)   CAST($arg AS TIMESTAMP)
esql:gmttime($arg)   CAST($arg AS GMTTIME)
esql:gmttimestamp($arg)   CAST($arg AS GMTTIMESTAMP)
esql:interval-year($arg)   CAST($arg AS INTERVAL YEAR)
esql:interval-year-to-month($arg)   CAST($arg AS INTERVAL YEAR TO MONTH)
esql:interval-month($arg)   CAST($arg AS INTERVAL MONTH)
esql:interval-day-to-hour($arg)   CAST($arg AS INTERVAL DAY TO HOUR)
esql:interval-day-to-second($arg)   CAST($arg AS INTERVAL DAY TO SECOND)
esql:interval-hour-to-minute($arg)   CAST($arg AS INTERVAL HOUR TO MINUTE)
esql:interval-hour-to-second($arg)   CAST($arg AS INTERVAL HOUR TO SECOND)
esql:interval-minute($arg)   CAST($arg AS INTERVAL MINUTE)
esql:interval-minute-to-second($arg)   CAST($arg AS INTERVAL MINUTE TO SECOND)
esql:interval-second($arg)   CAST($arg AS INTERVAL SECOND)
Anmerkung: 1. $arg steht für einen beliebigen ESQL-Ausdruck
   
     
esql:current-date   CURRENT_DATE
esql:current-gmtdate   CURRENT_GMTDATE
esql:current-gmttime   CURRENT_GMTTIME
esql:current-gmttimestamp   CURRENT_GMTTIMESTAMP
esql:current-time   CURRENT_TIME
esql:current-timestamp   CURRENT_TIMESTAMP
esql:local-timezone   LOCAL_TIMEZONE
     
esql:like($string, $pattern)   $string LIKE $pattern
esql:like($string, $pattern, $escape)   $string LIKE $pattern ESCAPE $escape
Anmerkung: 2. $pattern kann ein beliebiger regulärer ESQL-Ausdruck sein
   
esql:position(string $search, string $source)   POSITION($search IN $source)
esql:position(string $search, string $source, integer $from)   POSITION($search IN $source FROM $from)
esql:position(string $search, string $source, integer $from, integer $repeat)   POSITION($search IN $source FROM $from REPEAT $repeat)
esql:trim-both(string $from)   TRIM(BOTH FROM $from)
esql:trim-both(string $token, string $from)   TRIM(BOTH $token FROM $from)
esql:trim-leading(string $from)   TRIM(LEADING FROM $from)
esql:trim-leading(string $token, string $from)   TRIM(LEADING $token FROM $from)
esql:trim-trailing(string $from)   TRIM(TRAILING FROM $from)
     
Anmerkung: 3. Alle anderen ESQL-Funktionen können auf AS-IS-Basis mit dem Präfix 'esql' aufgerufen werden:
   
     
fn:false() as xs:boolean   FALSE
fn:sum($arg as xdt:anyAtomicType*) as xdt:anyAtomicType   Siehe XPath-Spezifikation. Die XPath-Folgenschreibweise wird nicht unterstützt, deshalb ist die Eingabe auf einen Quellenverweispfad beschränkt
fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?) as xs:string   $arg1 || $arg2. Obwohl XPath n Argumente unterstützt, liegt der Grenzwert hier bei zwei Argumenten, mit der Möglichkeit, Funktionen zu verschachteln, um das n-Argumentverhalten zu replizieren: fn:concat(fn:concat($arg1, $arg2), $arg3))
fn:empty($arg as item()*) as xs:boolean   $arg IS NULL
     
XPath-Extraktionsfunktionen   Äquivalent zur ESQL-EXTRACT-Funktion
fn:year-from-dateTime   Siehe XPath-Spezifikation
fn:month-from-dateTime   Siehe XPath-Spezifikation
fn:day-from-dateTime   Siehe XPath-Spezifikation
fn:hours-from-dateTime   Siehe XPath-Spezifikation
fn:minutes-from-dateTime   Siehe XPath-Spezifikation
fn:seconds-from-dateTime   Siehe XPath-Spezifikation
fn:year-from-date   Siehe XPath-Spezifikation
fn:month-from-date   Siehe XPath-Spezifikation
fn:day-from-date   Siehe XPath-Spezifikation
fn:hours-from-time   Siehe XPath-Spezifikation
fn:minutes-from-time   Siehe XPath-Spezifikation
fn:seconds-from-time   Siehe XPath-Spezifikation
fn:years-from-duration   Siehe XPath-Spezifikation
fn:months-from-duration   Siehe XPath-Spezifikation
fn:days-from-duration   Siehe XPath-Spezifikation
fn:hours-from-duration   Siehe XPath-Spezifikation
fn:minutes-from-duration   Siehe XPath-Spezifikation
fn:seconds-from-duration   Siehe XPath-Spezifikation
     
XPath-Datentypänderungen   Diese entsprechen den ESQL-CAST-Operationen
xs:hexBinary    
xs:boolean    
xs:string    
xs:date   Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein.
xs:time   Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein.
xs:dateTime   Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein.
xs:duration   Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein.
xdt:yearMonthDuration   Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein.
xdt:dayTimeDuration   Siehe Hinweis 4.
xs:decimal    
xs:double    
xs:long    
Anmerkung: 4. Hinweis: Die fett hervorgehobenen Funktionen sind den Umsetzungen 'esql:date', 'esql:time', 'esql:timeStamp', 'esql:interval*' ähnlich, jedoch nicht äquivalent dazu. Die Verwendung ist für beide Umsetzungsklassen für Datum/Uhrzeit/Dauer begrenzt: ESQL-Umsetzungen für Datum/Uhrzeit/Dauer können durch MRM analysierte Eingaben (xs:date, xs:time, xs:duration, etc) und Zeichenfolgeliterale, die dem ESQL-Format entsprechen, verarbeiten. Die XPath-Umsetzungen für Datum/Uhrzeit/Dauer werden bereitgestellt, um das ISO8601-Zeichenfolgeformat zu unterstützen, das die ESQL-CAST-Funktion nicht richtig verarbeitet. Sie unterstützt nur Zeichenfolgeliterale oder Verweise auf Zeichenfolgeliterale.
   
     
MsgMap-Funktionen    
msgmap:occurrence($sourcePath) as xs:integer   Gibt die aktuelle Quelleninstanz zurück
msgmap:exact-type($sourcePath, $nsLiteral, $typeLiteral) as xs:boolean   Gibt 'true' zurück, wenn 'xsi:type' der Quelle dem angegebenen Namespace und Typliteral entspricht

ESQL-Funktionen zur Bearbeitung von Zeichenfolgen

Funktion Unterstützt (Ja/Nein) Anmerkungen
LEFT Ja  
LENGTH Ja  
LOWER/LCASE Ja  
LTRIM Ja  
OVERLAY Ja Eingeschlossen in überlappende Funktionen: esql:overlay(string $source_string, string $source_string2, integer $start_position) esql:overlay(string $source_string, string $source_string2, integer $start_position, integer $string_length)
POSITION Ja (indirekt) Eingeschlossen in überlappende Funktionen: esql:position(string $search, string $source) esql:position(string $search, string $source, integer $from) esql:position(string $search, string $source, integer $from, integer $repeat)
REPLACE Ja  
REPLICATE Ja  
RIGHT Ja  
RTRIM Ja  
SPACE Ja  
SUBSTRING Nein Ersetzt durch fn:substring
TRANSLATE Ja  
TRIM Ja (indirekt) Eingeschlossen in überlappende Funktionen: esql:trim-both(string $from) esql:trim-both(string $token, string $from) esql:trim-leading(string $from) esql:trim-leading(string $token, string $from) esql:trim-trailing(string $from) esql:trim-trailing(string $token, string $from)
UPPER/UCASE Ja  

Numerische ESQL-Funktionen

Alle numerischen ESQL-Funktionen werden unterstützt.

ESQL-Datums-/Zeitfunktionen

Funktion Unterstützt (Ja/Nein) Anmerkungen
EXTRACT Nein Von xPath-Extraktionsfunktionen unterstützt
CURRENT_DATE Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-date()
CURRENT_TIME Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-time()
CURRENT_TIMESTAMP Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-timestamp()
CURRENT_GMTDATE Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-gmtdate()
CURRENT_GMTTIME Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-gmttime()
CURRENT_GMTTIMESTAMP Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-gmttimestamp()
LOCAL_TIMEZONE Ja (indirekt) Eingeschlossen in eine Funktion mit 0 Argumenten: esql:current-timezone()

ESQL-Feldfunktionen

Funktion Unterstützt (Ja/Nein) Anmerkungen
ASBITSTREAM Nein Klauseln müssen angegeben werden. Unterstützte ESQL-Konstanten (FolderBitStream, RootBitStream, ValidateContentValue...)
BITSTREAM Ja  
CARDINALITY Nein Die ungeschützte Syntax für den ESQL-Referenzpfad wird durch fn:count() ersetzt
FIELDNAME Nein ESQL-spezifische Pfadausdrücke beschränken (d. h., FIELDNAME(InputRoot.*[<]))
FIELDNAMESPACE Nein  
FIELDTYPE Nein ESQL-Konstanten sind ungeschützt (d. h. Typ könnte den Konstanten NameValue, Name, XML.Attribute... entsprechen)
FIELDVALUE Nein  
FOR Nein For-Anweisung ist bereits im Zuordnungseditor für Nachrichten vorhanden
LASTMOVE Nein Erfordert eine MOVE-Anweisung zur Auswertung der Bedingung
SAMEFIELD Nein ESQL-Verweise werden nicht unterstützt. Ein Feldverweis ist stets eindeutig. Deshalb ist keine Überprüfung notwendig, ob $source1 und $source2 auf denselben Wert zeigen.

Komplexe ESQL-Funktionen

Funktion Unterstützt (Ja/Nein) Anmerkungen
CASE Nein Variable Anzahl von Parametern. Ergebnisse können unter Verwendung von Qualify/condition-Anweisungen erzielt werden
CAST Nein Entsprechende Funktion ist in Konstruktoren des Datentyps ESQL und xPath vorhanden
SELECT Nein Wird durch SELECT-Anweisung unterstützt
ROW Nein Erstellt mehrere untergeordnete Elemente (dies entspricht möglicherweise nicht der Nachrichtendefinition)
LIST Nein Ziel ist eine ESQL-Liste

ESQL-Datenbankstatusfunktionen

Funktion Unterstützt (Ja/Nein) Anmerkungen
SQLCODE Ja (indirekt) Muss in die Funktion esql:sqlcode() mit Null Argumenten eingefügt werden
SQLERRORTEXT Ja (indirekt) Muss in die Funktion esql:sqlerrortext() mit Null Argumenten eingefügt werden
SQLNATIVEERROR Ja (indirekt) Muss in die Funktion esql:sqlnativeerror() mit Null Argumenten eingefügt werden
SQLSTATE Ja (indirekt) Muss in die Funktion esql:sqlstate() mit Null Argumenten eingefügt werden

Sonstige ESQL-Funktionen

Funktion Unterstützt (Ja/Nein) Anmerkungen
COALLESCE Ja  
NULLIF Ja  
PASSTHRU Nein Erfordert die Spezifikation einer ESQL-Datenbankanweisung
UUIDASBLOB Ja  
UUIDASCHAR Ja  
Zugehörige Tasks
Nachrichtenzuordnungen entwickeln
Inhaltsassistent
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ar25223_