not-exists

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

Inicio >  Funciones > Referencia de la biblioteca de funciones > core | sequence functions (secuencia) >

not-exists

Si el nodo existe, la función devuelve false. De lo contrario, devuelve true.

fn-notexist

En el ejemplo que aparece a continuación se usa la función not-exists para asignar nodos que no existen en uno de los dos archivos de origen.

 

¿Cómo funciona la asignación del ejemplo?

 

Compara los nodos de los dos archivos XML de origen.
Filtra los nodos del primer archivo XML de origen que no existen en el segundo archivo XML de origen.
Asigna solamente los nodos que faltan y su contenido al archivo de destino.

miss-node1

Los dos archivos de instancia XML aparecen a continuación. Estas son las diferencias que hay entre los dos archivos:

 

a.xml (izda) contiene el nodo <b kind="3">, que no está en el archivo b.xml.
b.xml (dcha) contiene el nodo <b kind="4">, que no está en el archivo a.xml.

 

miss-node1a miss-node1b

 

La función equal compara el tipo de atributo en ambos archivos XML y pasa el resultado al filtro.
La función not-exists se coloca después del filtro inicial para seleccionar los nodos que faltan en cada uno de los archivos de origen.
Se usa otro filtro más para pasar solamente el nodo que falta y los demás datos del archivo a.xml al destino.

 

En el resultado de la asignación el nodo que falta en el archivo b.xml (<b kind="3">) se pasa al componente de destino.

miss-node1c


© 2019 Altova GmbH