Expressões ESQL e XPath Suportadas

Para obter informações sobre expressões, funções e modelos de dados XPath, consulte: www.w3.org/TR/xpath. Para concluir um tutorial no XPath, consulte www.w3schools.com\xpath

Nota: As funções ESQL descritas aqui são suportadas pelo Editor de Mapeamento de Mensagens, mas não necessariamente no formato mostrado; você deve consultar o Assistente de Conteúdo do Editor de Mapeamento de Mensagens para obter detalhes da sintaxe exata.
Função Específica do ESQL   Equivalente do 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 é qualquer expressão 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 pode ser qualquer expressão comum 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 as outras funções esql podem ser chamadas no estado em que se encontram utilizando o prefixo esql:
   
     
fn:false() as xs:boolean   FALSE
fn:sum($arg as xdt:anyAtomicType*) as xdt:anyAtomicType   Consulte a especificação do XPath. A notação de seqüência XPath não é suportada, portanto a entrada é limitada a um caminho de referência de origem.
fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?) as xs:string   $arg1 || $arg2. Embora o XPath suporte n argumentos, o limite aqui são dois argumentos com a opção de aninhar funções para replicar o comportamento do n argumento: fn:concat(fn:concat($arg1, $arg2), $arg3))
fn:empty($arg as item()*) as xs:boolean   $arg IS NULL
     
Funções de Extração do XPath   Equivalente à função ESQL EXTRACT
fn:year-from-dateTime   Consulte a especificação XPath
fn:month-from-dateTime   Consulte a especificação XPath
fn:day-from-dateTime   Consulte a especificação XPath
fn:hours-from-dateTime   Consulte a especificação XPath
fn:minutes-from-dateTime   Consulte a especificação XPath
fn:seconds-from-dateTime   Consulte a especificação XPath
fn:year-from-date   Consulte a especificação XPath
fn:month-from-date   Consulte a especificação XPath
fn:day-from-date   Consulte a especificação XPath
fn:hours-from-time   Consulte a especificação XPath
fn:minutes-from-time   Consulte a especificação XPath
fn:seconds-from-time   Consulte a especificação XPath
fn:years-from-duration   Consulte a especificação XPath
fn:months-from-duration   Consulte a especificação XPath
fn:days-from-duration   Consulte a especificação XPath
fn:hours-from-duration   Consulte a especificação XPath
fn:minutes-from-duration   Consulte a especificação XPath
fn:seconds-from-duration   Consulte a especificação XPath
     
Coerções de tipo XPath   Equivalente a operações ESQL CAST.
xs:hexBinary    
xs:boolean    
xs:string    
xs:date   Consulte a nota 4. a seguir. O argumento deve ser um literal de cadeia ou uma referência a um literal de cadeia.
xs:time   Consulte a nota 4. a seguir. O argumento deve ser um literal de cadeia ou uma referência a um literal de cadeia.
xs:dateTime   Consulte a nota 4. a seguir. O argumento deve ser um literal de cadeia ou uma referência a um literal de cadeia.
xs:duration   Consulte a nota 4. a seguir. O argumento deve ser um literal de cadeia ou uma referência a um literal de cadeia.
xdt:yearMonthDuration   Consulte a nota 4. a seguir. O argumento deve ser um literal de cadeia ou uma referência a um literal de cadeia.
xdt:dayTimeDuration   Consulte a nota 4. a seguir.
xs:decimal    
xs:double    
xs:long    
Nota: 4. Nota: as funções realçadas em negrito são semelhantes mas não equivalentes às coerções esql:date, esql:time, esql:timeStamp, esql:interval*. O uso de ambas as classes de coerções de data/hora/duração é limitado: as coerções esql de data/hora/duração podem manipular entradas analisadas pelo MRM (xs:date, xs:time, xs:duration, etc) e literais de cadeia em conformidade com o formato ESQL. As coerções XPath de data/hora/duração são fornecidas para suportar o formato de cadeia ISO8601 que a função ESQL CAST não manipula apropriadamente, mas apenas literais de cadeia ou referências a literais de cadeia que elas podem suportar.
   
     
Funções MsgMap    
msgmap:occurrence($sourcePath) as xs:integer   Retorna a instância da origem atual.
msgmap:exact-type($sourcePath, $nsLiteral, $typeLiteral) as xs:boolean   Retorna true se o xsi:type da origem for equivalente ao espaço de nomes e literal de tipo especificados.

Funções de Manipulação de Cadeia ESQL

Function Supported (Yes/No) Notes
LEFT Sim  
LENGTH Sim  
LOWER/LCASE Sim  
LTRIM Sim  
OVERLAY Sim Agrupado em funções sobrecarregadas: 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 Sim (indiretamente) Agrupado em funções sobrecarregadas: 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 Sim  
REPLICATE Sim  
RIGHT Sim  
RTRIM Sim  
SPACE Sim  
SUBSTRING Não Substituído por fn:substring
TRANSLATE Sim  
TRIM Sim (indiretamente) Agrupado em funções sobrecarregadas: 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 Sim  

Funções Numéricas ESQL

Todas as funções numéricas ESQL são suportadas.

Funções dateTime ESQL

Function Suportada (Sim/Não) Notes
EXTRACT Não Suportado por funções de extração de xPath
CURRENT_DATE Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-date()
CURRENT_TIME Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-time()
CURRENT_TIMESTAMP Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-timestamp()
CURRENT_GMTDATE Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-gmtdate()
CURRENT_GMTTIME Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-gmttime()
CURRENT_GMTTIMESTAMP Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-gmttimestamp()
LOCAL_TIMEZONE Sim (indiretamente) Agrupado por 0 função de argumento: esql:current-timezone()

Funções de Campo ESQL

Function Suportada (Sim/Não) Notes
ASBITSTREAM Não Cláusulas requerem a especificação. Constantes ESQL suportadas (FolderBitStream, RootBitStream, ValidateContentValue...)
BITSTREAM Sim  
CARDINALITY Não A sintaxe do caminho ref ESQL exposto foi substituída por fn:count()
FIELDNAME Não Restringir expressões de caminho específicas de ESQL (ou seja, FIELDNAME(InputRoot.*[<]))
FIELDNAMESPACE Não  
FIELDTYPE Não As constantes ESQL são expostas (ou seja, o tipo pode ser de constante NameValue, Name, XML.Attribute...)
FIELDVALUE Não  
FOR Não A instrução For já está disponível no Editor de Mapeamento de Mensagens
LASTMOVE Não Requer uma instrução MOVE para avaliar a condição
SAMEFIELD Não Referências de ESQL não são suportadas. Uma referência de caminho é sempre exclusiva, portanto, não é necessário testar se $source1 e $source2 apontam para o mesmo valor.

Funções Complexas ESQL

Function Suportada (Sim/Não) Notes
CASE Não Número de parâmetros de variáveis. Os resultados podem ser obtidos utilizando instruções Qualify/condition
CAST Não Existe uma função equivalente nos construtores de tipos de dados esql e xPath
SELECT Não Suportado pela instrução Select
ROW Não Cria vários filhos (isto pode não ocorrer com a definição de mensagem)
LIST Não Destino é uma lista de ESQL

Funções de Estado de Banco de Dados ESQL

Function Suportada (Sim/Não) Notes
SQLCODE Sim (indiretamente) Precisa ser agrupado em uma função de argumento 0 esql:sqlcode()
SQLERRORTEXT Sim (indiretamente) Precisa ser agrupado em uma função de argumento 0 esql:sqlerrortext()
SQLNATIVEERROR Sim (indiretamente) Precisa ser agrupado em uma função de argumento 0 esql:sqlnativeerror()
SQLSTATE Sim (indiretamente) Precisa ser agrupado em uma função de argumento 0 esql:sqlstate()

Funções Diversas ESQL

Function Suportada (Sim/Não) Notes
COALLESCE Sim  
NULLIF Sim  
PASSTHRU Não Requer especificação de instrução ESQL Database
UUIDASBLOB Sim  
UUIDASCHAR Sim  
Tarefas relacionadas
Desenvolvendo Mapeamentos de Mensagens
Assistente de Conteúdo
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2005 Última Atualização: 04/11/2005
ar25223_