tokenize-by-length

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Funciones > Referencia de la biblioteca de funciones > core | string functions (cadena) >

tokenize-by-length

El resultado es la cadena input dividida en una secuencia formada por tantos caracteres como defina el parámetro length. El resultado se puede seguir procesando.

fn-tokenizebyLeng

P. ej. la cadena input es ABCDEF y el parámetro length es 2 . El resultado es AB CD EF.

 

Ejemplo

En el diseño de asignación de datos tokenizeString2.mfd de la carpeta ...\MapForceExamples puede ver un ejemplo de uso de la función tokenize-by-length.

tok-len01

El archivo XML de origen se puede ver más abajo y es el mismo que el del ejemplo anterior.

 

El elemento MissionKit también tiene dos atributos (Edition y ToolCodes) pero no tiene contenido.

tok-len1

El objetivo de la asignación es generar una lista que muestre qué herramientas de Altova forman parte de cada edición de MissionKit.

 

Características de esta asignación de datos:

 

El componente de entrada SelectMissionKit recibe su entrada predeterminada de una constante ("Enterprise XML Developers").
La función equal compara el valor de entrada con el valor "Edition" y pasa el resultado al parámetro bool del filtro ToolCodes.
La entrada node/row del filtro ToolCodes viene dada por el elemento ToolCodes del archivo de origen. El valor para la edición Enterprise XML Developers es: XSMFSVDDSASW.
El valor XSMFSVDDSASW se envía al parámetro on-true y después al parámetro input de la función tokenize-by-length.

 

¿Qué hace la función tokenize-by-length?

 

El valor de entrada ToolCodes es XSMFSVDDSASW y se divide en varias secciones de dos caracteres cada una (definidas por el parámetro length que es 2, lo cual da lugar a 6 secciones).
Cada sección (situada en el parámetro b) de la función equal se compara con el valor Code de dos caracteres del archivo de origen (del cual existen 9 entradas en total).
El resultado de la comparación (true/false) se envía al parámetro bool del filtro.
Todas las secciones de la función tokenize-by-length se envían al parámetro node/row del filtro.
La función exists busca los nodos que existen o que faltan que recibió del parámetro on-true del componente de filtrado.
Los nodos que existen son aquellos en los que la sección ToolCodes y el valor Code coinciden.
Los nodos que faltan son aquellos donde ninguna sección ToolCodes coincide con ningún valor Code.
Los resultados bool de la función exists se pasan a la función if-else que pasa una Y al destino si el nodo existe y una N si no existe.

 

Resultado de la asignación:

tok-len2


© 2019 Altova GmbH