Expresiones ESQL y XPath soportadas

Para obtener información sobre las expresiones, funciones y modelos de datos XPath, vaya a: www.w3.org/TR/xpath. Si desea consultar una guía de aprendizaje sobre XPath, vaya a: www.w3schools.com\xpath

Nota: Las funciones ESQL aquí descritas están soportadas por el Editor de correlaciones de mensajes, pero no necesariamente en el formato mostrado; debería consultar el Asistente de contenido del Editor de correlaciones de mensajes para obtener información detallada sobre la sintaxis exacta.
Función específica de ESQL   Equivalente ESQL
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)
Nota: 1. $arg es cualquier expresión ESQL
   
     
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
Nota: 2. $pattern puede ser cualquier expresión regular ESQL
   
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)
     
Nota: 3. Todas las demás funciones ESQL pueden llamarse tal cual utilizando el prefijo esql:
   
     
fn:false() as xs:boolean   FALSE
fn:sum($arg as xdt:anyAtomicType*) as xdt:anyAtomicType   Consulte la especificación XPath. La notación de secuencia XPath no está soportada, por lo que la entrada está limitada a una vía de acceso de referencia de origen
fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?) as xs:string   $arg1 || $arg2. Aunque XPath da soporte a n argumentos, el límite aquí es dos argumentos con la opción de anidar funciones para replicar el comportamiento del argumento n: fn:concat(fn:concat($arg1, $arg2), $arg3))
fn:empty($arg as item()*) as xs:boolean   $arg IS NULL
     
Funciones de extracción XPath   Equivalente a la función EXTRACT de ESQL
fn:year-from-dateTime   Consulte la especificación XPath
fn:month-from-dateTime   Consulte la especificación XPath
fn:day-from-dateTime   Consulte la especificación XPath
fn:hours-from-dateTime   Consulte la especificación XPath
fn:minutes-from-dateTime   Consulte la especificación XPath
fn:seconds-from-dateTime   Consulte la especificación XPath
fn:year-from-date   Consulte la especificación XPath
fn:month-from-date   Consulte la especificación XPath
fn:day-from-date   Consulte la especificación XPath
fn:hours-from-time   Consulte la especificación XPath
fn:minutes-from-time   Consulte la especificación XPath
fn:seconds-from-time   Consulte la especificación XPath
fn:years-from-duration   Consulte la especificación XPath
fn:months-from-duration   Consulte la especificación XPath
fn:days-from-duration   Consulte la especificación XPath
fn:hours-from-duration   Consulte la especificación XPath
fn:minutes-from-duration   Consulte la especificación XPath
fn:seconds-from-duration   Consulte la especificación XPath
     
Transformaciones CAST de tipo de XPath   Estas son equivalentes a operaciones CAST de ESQL
xs:hexBinary    
xs:boolean    
xs:string    
xs:date   Vea la nota 4 más abajo. El argumento debe ser un literal de tipo serie o una referencia a un literal de tipo serie
xs:time   Vea la nota 4 más abajo. El argumento debe ser un literal de tipo serie o una referencia a un literal de tipo serie
xs:dateTime   Vea la nota 4 más abajo. El argumento debe ser un literal de tipo serie o una referencia a un literal de tipo serie
xs:duration   Vea la nota 4 más abajo. El argumento debe ser un literal de tipo serie o una referencia a un literal de tipo serie
xdt:yearMonthDuration   Vea la nota 4 más abajo. El argumento debe ser un literal de tipo serie o una referencia a un literal de tipo serie
xdt:dayTimeDuration   Vea la nota 4 más abajo
xs:decimal    
xs:double    
xs:long    
Nota: Nota 4: Las funciones resaltadas en negrita son similares pero no equivalentes a las transformaciones CAST esql:date, esql:time, esql:timeStamp, esql:interval*. El uso para ambas clases de transformaciones CAST de fecha/hora/duración está limitado: las transformaciones CAST de fecha/hora/duración de esql pueden manejar entradas analizadas por MRM (xs:date, xs:time, xs:duration, etcétera) y literales de tipo serie que se ajusten al formato ESQL. Las transformaciones CAST de fecha/hora/duración de XPath se proporcionan para dar soporte al formato de serie de caracteres ISO8601 que la función CAST de ESQL no maneja correctamente pero éstas solo pueden dar soporte a literales de tipo serie o referencias a literales de tipo serie
   
     
Funciones MsgMap    
msgmap:occurrence($sourcePath) as xs:integer   Devuelve la instancia de origen actual
msgmap:exact-type($sourcePath, $nsLiteral, $typeLiteral) as xs:boolean   Devuelve true si el atributo xsi:type del origen es equivalente al espacio de nombres y el tipo literal especificados

Funciones de manipulación de series de caracteres ESQL

Función Soportada (Sí/No) Notas
LEFT  
LENGTH  
LOWER/LCASE  
LTRIM  
OVERLAY Incluido en funciones sobrecargadas: 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 Sí (indirectamente) Incluido en funciones sobrecargadas: 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  
REPLICATE  
RIGHT  
RTRIM  
SPACE  
SUBSTRING No Sustituida por fn:substring
TRANSLATE  
TRIM Sí (indirectamente) Incluido en funciones sobrecargadas: 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  

Funciones numéricas ESQL

Todas las funciones numéricas ESQL están soportadas.

Funciones dateTime ESQL

Función Soportada (Sí/No) Notas
EXTRACT No Soportada por las funciones de extracción xPath
CURRENT_DATE Sí (indirectamente) Incluido en función de argumento 0: esql:current-date()
CURRENT_TIME Sí (indirectamente) Incluido en función de argumento 0: esql:current-time()
CURRENT_TIMESTAMP Sí (indirectamente) Incluido en función de argumento 0: esql:current-timestamp()
CURRENT_GMTDATE Sí (indirectamente) Incluido en función de argumento 0: esql:current-gmtdate()
CURRENT_GMTTIME Sí (indirectamente) Incluido en función de argumento 0: esql:current-gmttime()
CURRENT_GMTTIMESTAMP Sí (indirectamente) Incluido en función de argumento 0: esql:current-gmttimestamp()
LOCAL_TIMEZONE Sí (indirectamente) Incluido en función de argumento 0: esql:current-timezone()

Funciones de campo ESQL

Función Soportada (Sí/No) Notas
ASBITSTREAM No La cláusula requiere especificación. Constantes ESQL soportadas (FolderBitStream, RootBitStream, ValidateContentValue...)
BITSTREAM  
CARDINALITY No La sintaxis de vía de acceso de referencia ESQL expuesta se sustituye por fn:count()
FIELDNAME No Restringir expresiones de vía de acceso específicas de ESQL (es decir, FIELDNAME(InputRoot.*[<]))
FIELDNAMESPACE No  
FIELDTYPE No Las constantes ESQL están expuestas (es decir, el tipo podría ser de constante NameValue, Name, XML.Attribute...)
FIELDVALUE No  
FOR No La sentencia For ya está disponible en el Editor de correlaciones de mensajes
LASTMOVE No Requiere una sentencia MOVE para evaluar la condición
SAMEFIELD No Las referencias ESQL no están soportadas. Una referencia de vía de acceso siempre es exclusiva, de modo que no hace falta comprobar si $source1 y $source2 apuntan al mismo valor.

Funciones ESQL complejas

Función Soportada (Sí/No) Notas
CASE No Número variable de parámetros. Se pueden conseguir resultados utilizando sentencias Qualify/condition
CAST No Existe una función equivalente en constructores de tipo de datos esql y xPath
SELECT No Soportada mediante la sentencia Select
ROW No Crea múltiples hijos (puede que esto no coincida con la definición del mensaje)
LIST No El destino es una lista ESQL

Funciones de estado de base de datos ESQL

Función Soportada (Sí/No) Notas
SQLCODE Sí (indirectamente) Necesita incluirse en una función de argumento 0 esql:sqlcode()
SQLERRORTEXT Sí (indirectamente) Necesita incluirse en una función de argumento 0 esql:sqlerrortext()
SQLNATIVEERROR Sí (indirectamente) Necesita incluirse en una función de argumento 0 esql:sqlnativeerror()
SQLSTATE Sí (indirectamente) Necesita incluirse en una función de argumento 0 esql:sqlstate()

Funciones ESQL varias

Función Soportada (Sí/No) Notas
COALLESCE  
NULLIF  
PASSTHRU No Requiere la especificación de la sentencia Database de ESQL
UUIDASBLOB  
UUIDASCHAR  
Tareas relacionadas
Desarrollo de correlaciones de mensajes
Asistente de contenido
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2005 Última actualización: 11/11/2005
ar25223_