exists
Devuelve true si el nodo existe. De lo contrario devuelve false. Esta función se suele usar con filtros porque devuelve un valor booleano, lo que permite filtrarpor registros que tienen (o que no tienen) un elemento o atributo secundario.
Lenguajes
Built-in, C++, C#, Java, XQuery#, XSLT 1.0 y, XSLT 1.0, XSLT 2.0, XSLT 3.0.
Parámetros
Nombre | Descripción |
---|---|
nodo | El nodo cuya existencia se quiere comprobar. |
Ejemplos
La asignación siguiente muestra cómo filtrar datos con ayuda de la función exists. Esta asignación se llama PersonListsForAllBranchOffices.mfd y está en la carpeta <Documentos>\Altova\MapForce2025\MapForceExamples\.
PersonListsForAllBranchOffices.mfd
En el archivo de origen BranchOffices.xml hay tres elementos Office. En concreto, uno de ellos no tienen ningún elemento secundario Contact. La asignación tiene varios objetivos:
a) por cada oficina, extraer la lista de contactos de esa oficina
b) por cada oficina, crear un archivo XML con el mismo nombre que esa oficina
C) no generar el archivo XML si la oficina no tiene contactos.
Para ello se ha añadido un filtro a la asignación. El filtro pasa al archivo de destino solamente los elementos Office en los que existe al menos un elemento Contact. Esta condición booleana viene dada por la función exists. Si el resultado de la función es true, entonces el nombre de la oficina se concatena con la cadena de texto .xml para producir el nombre del archivo de destino. Para más información sobre cómo generar nombres de archivo para la asignación consulte Procesar varios archivos de entrada o salida simultáneamente .
Otro ejemplo sería esta asignación: <Documentos>\Altova\MapForce2025\MapForceExamples\HasMarketingExpenses.mfd. Si existe un elemento expense-item en el XML de origen, entonces el atributo "hasExpenses" recibe el valor true en el esquema o archivo XML de destino.
HasMarketingExpenses.mfd