Supporto XPath migliorato

Tradotto automaticamente da Deepl

XPath è un linguaggio che consente di lavorare facilmente con i documenti XML. È già utilizzabile tramite il comando DOM Find XML element e con 4D v18 R3 il supporto della sintassi XPath è stato drasticamente migliorato. Se siete tra coloro che hanno richiesto funzionalità come l’utilizzo di un carattere jolly in un percorso, continuate a leggere!

Per utilizzare la nuova sintassi con le applicazioni esistenti, è necessario selezionare l’impostazione di compatibilità “Usa XPath standard”. I database appena creati utilizzano la nuova sintassi per impostazione predefinita. È ora possibile utilizzare nuove espressioni come //, @, *, last() per semplificare le ricerche.

Esempi di scrittura di predicati

Negli esempi che seguono utilizzeremo il seguente 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>
  • Trova il penultimo elemento libro figlio dell’elemento libreria:

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

  • Trovare tutti gli elementi titolo che hanno un attributo “lang” con valore “fr”:

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

  • Trova tutti gli elementi del libro che hanno un prezzo uguale a 39,95:

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

Questi sono solo alcuni esempi di ciò che si può fare con le nuove espressioni. È possibile combinarle in modo più o meno complesso per ottenere i risultati desiderati. Consultate la documentazione per vedere in dettaglio cosa è possibile fare con questi nuovi miglioramenti.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.