Soporte mejorado de XPath

Traducido automáticamente de Deepl

XPath es un lenguaje que permite trabajar fácilmente con los documentos XML. Ya es utilizable a través del DOM Find XML element y con 4D v18 R3, el soporte de la sintaxis XPath ha sido drásticamente mejorado. Si se encuentra entre los que solicitaron características como el uso de un comodín en una ruta, ¡siga leyendo!

Para utilizar la nueva sintaxis con las aplicaciones existentes, es necesario marcar el ajuste de compatibilidad «Usar XPath estándar». Las bases de datos recién creadas utilizan la nueva sintaxis por defecto. Ahora puede utilizar nuevas expresiones como //, @, *, last() para simplificar sus búsquedas.

Ejemplos de escritura de predicados

En los siguientes ejemplos utilizaremos el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
  <title lang="en">The Wheel of Time</title>
  <title lang="fr">La roue du temps</title>
  <price>29.99</price>
</book>
<book>
  <title lang="en">Harry Potter</title>
  <price>50.00</price>
</book>
<book>
  <title lang="en">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>
  • Buscar el penúltimo elemento libro hijo del elemento librería:

$Dom_root2:=DOM Find XML element($Dom_root;"/librería/libro[last()-1]";$arrAfound)
// Returns
//‹book›
// ‹title lang="en"›Harry Potter‹/title›
// ‹price›50.00‹/price›
//‹/book›

  • Encuentra todos los elementos title que tengan un atributo «lang» con valor «fr»:

$Dom_root2:=DOM Find XML element($Dom_root;"//título[@lang='fr']";$arrAfound )
// Returns ‹title lang="fr"›La roue du temps‹/title›

  • Encuentra todos los elementos del libro que tienen un precio igual a 39,95:

$Dom_root2:=DOM Find XML element($Dom_root; "libro[precio=39.95]";$arrAfound)</br />
// Returns
//‹book›
// ‹title lang="en"›Learning XML‹/title›
// ‹price›39.95‹/price›
//‹/book›

Estos son sólo algunos ejemplos de lo que puede hacer con las nuevas expresiones. Puedes mezclarlas de forma más o menos compleja para encontrar los resultados que necesitas. Consulte la documentación para ver con más detalle lo que puede hacer con estas nuevas mejoras.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.