Funciones XPath/XQuery: de cadena
Las funciones de extensión de Altova para trabajar con cadenas pueden utilizarse en expresiones XPath y XQuery y ofrecen funciones adicionales para el procesamiento de datos. Estas funciones se pueden usar con los motores XPath 3.0 y XQuery 3.0 de Altova. Están disponibles en contextos XPath/XQuery.
Nota sobre el nombre de las funciones y lenguajes
Puede utilizar todas las funciones de extensión de Altova en sus expresiones XPath/XQuery. Con ellas conseguirá funciones adicionales no disponibles en la biblioteca de funciones estándar de XPath, XQuery y XSLT. Las funciones de extensión de Altova están en el espacio de nombres https://www.altova.com/xslt-extensions y en esta sección se presentan con el prefijo, que se supone estará enlazado al espacio de nombres señalado. Tenga en cuenta que en futuras versiones del producto algunas funciones pueden dejar de ser compatibles o su comportamiento puede cambiar. Por tanto, consulte siempre la documentación del producto para conocer el funcionamiento de estas funciones en cada versión del producto.
|
altova:camel-case(CadenaEntrada como xs:string) como xs:string XP3.1 XQ3.1 Devuelve la cadena de entrada CadenaEntrada escrita en CamelCase. La cadena se analiza usando la expresión regular '\s' (que es la forma abreviada del carácter espacio en blanco). El primer carácter que no sea un espacio en blanco situado después de un espacio en blanco o de una secuencia de espacios en blanco consecutivos se pondrá en mayúsculas. El primer carácter de la cadena de salida se pondrá en mayúsculas.
altova:camel-case(CadenaEntrada como xs:string, CaracteresDivisión como xs:string, EsExpReg como xs:boolean) como xs:string XP3.1 XQ3.1 Devuelve la cadena de entrada CadenaEntrada escrita en CamelCase usando los CaracteresDivisón para determinar qué caracteres desencadenan el siguiente uso de mayúsculas. El argumento CaracteresDivisón se usa como expresión regular cuando EsExpReg = true() o como caracteres planos cuando r EsExpReg = false(). El primer carácter de la cadensa de salida se escribe con mayúsculas.
|
altova:char(Posición as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene el carácter que está en la posición indicada por el argumento Posición en la cadena que se obtiene al convertir el valor del elemento de contexto en xs:string. La cadena resultante estará vacía si en la posición indicada no existe ningún carácter.
altova:char(CadenaEntrada as xs:string, Posición as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene el carácter que está en la posición indicada por el argumento Posición en la cadena dada por el argumento CadenaEntrada. La cadena resultante estará vacía si en la posición indicada no existe ningún carácter.
|
altova:create-hash-from-string(InputString como xs:string) como xs:string XP2 XQ1 XP3.1 XQ3.1 altova:create-hash-from-string(InputString como xs:string, HashAlgo as xs:string) como xs:string XP2 XQ1 XP3.1 XQ3.1 Genera una cadena hash a partir de InputString usando el algoritmo de hash especificado por el argumento HashAlgo. Se pueden usar los siguientes algoritmos de hash (en mayúsculas o minúsculas): MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512. Si no se especifica el segundo argumento (véase la primera instrucción) se usa el algoritmo de hash SHA-256.
|
altova:first-chars(X as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene los X primeros caracteres de la cadena que se obtiene al convertir el valor del elemento de contexto en xs:string.
altova:first-chars(CadenaEntrada as xs:string, X as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene los X primeros caracteres de la cadena dada como argumento CadenaEntrada.
|
altova:format-string(InputString como xs:string, FormatSequence como item()*) como xs:string XP3.1 XQ3.1 La cadena de entrada (primer argumento) contiene parámetros posicionales (%1, %2, etc). Cada parámetro es reemplazado por el elemento cadena ubicado en la posición correspondiente de la secuencia de formato (enviada como segundo argumento). Por tanto, el primer elemento de la secuencia de formato reemplaza al parámetro posicional %1, el segundo elemento reemplaza a %2 y así sucesivamente. La función devuelve esta secuencia con formato que contiene los elementos de reemplazo. Si no existe una cadena para alguno de los parámetros posicionales, entonces se devuelve ese mismo parámetro posicional. Esto ocurre cuando el índice de un parámetro posicional es mayor que el número de elementos de la secuencia de formato.
|
altova:last-chars(X as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene los X últimos caracteres de la cadena que se obtiene al convertir el valor del elemento de contexto en xs:string.
altova:last-chars(CadenaEntrada as xs:string, X as xs:integer) como xs:string XP3.1 XQ3.1 Devuelve una cadena que contiene los X últimos caracteres de la cadena dada como argumento CadenaEntrada.
|
altova:pad-string-left(CadenaParaRellenar como xs:string, LongitudCadena como xs:integer, CarácterRelleno como xs:string) como xs:string XP3.1 XQ3.1 El argumento CarácterRelleno es un solo carácter. Se añade a la izquierda de la cadena para aumentar el número de caracteres de la CadenaParaRellenar, de modo que este número equivalga al valor entero del argumento LongitudCadena. El argumento LongitudCadena puede tener cualquier valor entero (positivo o negativo), pero el relleno solo se lleva a cabo si el valor de LongitudCadena es mayor que el número de caracteres de CadenaParaRellenar. Si CadenaParaRellenar tiene más caracteres que el valor de LongitudCadena, entonces CadenaParaRellenar se deja como está.
|
altova:pad-string-right(CadenaParaRellenar como xs:string, LongitudCadena como xs:integer, CarácterRelleno como xs:string) como xs:string XP3.1 XQ3.1 El argumento CarácterRelleno es un solo carácter. Se añade a la derecha de la cadena para aumentar el número de caracteres de la CadenaParaRellenar, de modo que este número equivalga al valor entero del argumento LongitudCadena. El argumento LongitudCadena puede tener cualquier valor entero (positivo o negativo), pero el relleno solo se lleva a cabo si el valor de LongitudCadena es mayor que el número de caracteres de CadenaParaRellenar. Si CadenaParaRellenar tiene más caracteres que el valor de LongitudCadena, entonces CadenaParaRellenar se deja como está.
|
altova:repeat-string(CadenaEntrada as xs:string, Repeticiones as xs:integer) como xs:string XP2 XQ1 XP3.1 XQ3.1 Genera una cadena que está compuesta por el primer argumento CadenaEntrada repetida tantas veces como indique el argumento Repeticiones.
|
altova:substring-after-last(CadenaPrincipal as xs:string, CadenaPrueba as xs:string) como xs:string XP3.1 XQ3.1 Si CadenaPrueba se encuentra en CadenaPrincipal, la función devuelve la subcadena que aparece después de CadenaPrueba en CadenaPrincipal. Si CadenaPrueba no está en CadenaPrincipal, entonces devuelve la cadena vacía. Si CadenaPrueba es una cadena vacía, entonces devuelve la CadenaPrincipal entera. Si CadenaPrueba aparece varias veces en CadenaPrincipal, la función devuelve la subcadena que aparece después de la última CadenaPrueba.
|
altova:substring-before-last(CadenaPrincipal as xs:string, CadenaPrueba as xs:string) como xs:string XP3.1 XQ3.1 Si CadenaPrueba se encuentra en CadenaPrincipal, la función devuelve la subcadena que aparece después de CadenaPrueba en CadenaPrincipal. Si CadenaPrueba no está en CadenaPrincipal, entonces devuelve la cadena vacía. Si CadenaPrueba es una cadena vacía, entonces devuelve la CadenaPrincipal entera. Si CadenaPrueba aparece varias veces en CadenaPrincipal, la función devuelve la subcadena que aparece antes de la última CadenaPrueba.
|
altova:substring-pos(Cadena as xs:string, CadenaBúsqueda as xs:string) como xs:integer XP3.1 XQ3.1 Devuelve la posición de carácter de la primera instancia de CadenaBúsqueda en Cadena. La posición de carácter se devuelve como número entero. El primer carácter de CadenaBúsqueda tiene la posición 1. Si CadenaBúsqueda no aparece dentro de Cadena, la función devuelve el entero 0. Para buscar la segunda instancia de CadenaBúsqueda, etc. use la otra firma de esta función.
altova:substring-pos(Cadena as xs:string, CadenaBúsqueda as xs:string, Entero as xs:integer) como xs:integer XP3.1 XQ3.1 Devuelve la posición de carácter de CadenaBúsqueda en Cadena. La búsqueda de CadenaBúsqueda empieza en la posición de carácter dada por el argumento Entero (es decir, no se busca en la subcadena anterior a esta posición). El entero devuelto, sin embargo, es la posición que la cadena encontrada tiene en Cadena. Esta firma es muy práctica si quiere buscar la segunda posición, etc. de una cadena que aparece varias veces dentro de Cadena. Si CadenaBúsqueda no aparece en Cadena, la función devuelve el entero 0.
|
altova:substring-pos(Cadena as xs:string, CadenaBúsqueda as xs:string) como xs:integer XP3.1 XQ3.1 Devuelve la posición de carácter de la primera instancia de CadenaBúsqueda en Cadena. La posición de carácter se devuelve como número entero. El primer carácter de CadenaBúsqueda tiene la posición 1. Si CadenaBúsqueda no aparece dentro de Cadena, la función devuelve el entero 0. Para buscar la segunda instancia de CadenaBúsqueda, etc. use la otra firma de esta función.
altova:substring-pos(Cadena as xs:string, CadenaBúsqueda as xs:string, Entero as xs:integer) como xs:integer XP3.1 XQ3.1 Devuelve la posición de carácter de CadenaBúsqueda en Cadena. La búsqueda de CadenaBúsqueda empieza en la posición de carácter dada por el argumento Entero (es decir, no se busca en la subcadena anterior a esta posición). El entero devuelto, sin embargo, es la posición que la cadena encontrada tiene en Cadena. Esta firma es muy práctica si quiere buscar la segunda posición, etc. de una cadena que aparece varias veces dentro de Cadena. Si CadenaBúsqueda no aparece en Cadena, la función devuelve el entero 0.
|
altova:trim-string(CadenaEntrada as xs:string) como xs:string XP3.1 XQ3.1 Esta función toma un argumento xs:string, quita los espacios en blanco iniciales y finales y devuelve un xs:string "recortado".
|
altova:trim-string-left(CadenaEntrada as xs:string) como xs:string XP3.1 XQ3.1 Esta función toma un argumento xs:string, quita los espacios en blanco iniciales y devuelve un xs:string recortado por la izquierda.
|
altova:trim-string-right(CadenaEntrada as xs:string) como xs:string XP3.1 XQ3.1 Esta función toma un argumento xs:string, quita los espacios en blanco finales y devuelve una cadena xs:string recortada por la derecha.
|