Verbesserte XPath-Unterstützung

XPath ist eine Sprache, die es Ihnen ermöglicht, einfach mit Ihren XML-Dokumenten zu arbeiten. Sie kann bereits über den DOM Find XML element Befehl und mit 4D v18 R3 wurde die Unterstützung der XPath-Syntax drastisch verbessert. Wenn Sie zu denjenigen gehören, die sich Funktionen wie die Verwendung eines Platzhalters in einem Pfad gewünscht haben, dann lesen Sie weiter!

Um die neue Syntax mit bestehenden Anwendungen zu verwenden, müssen Sie die Kompatibilitätseinstellung „Standard XPath verwenden“ aktivieren. Neu erstellte Datenbanken verwenden standardmäßig die neue Syntax. Sie können jetzt neue Ausdrücke wie //, @, *, last() verwenden, um Ihre Suche zu vereinfachen.

Beispiele für das Schreiben von Prädikaten

In den folgenden Beispielen verwenden wir das folgende XML-Dokument:

<?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>
  • Suche nach dem vorletzten Buchelement, das ein Kind des Elements bookstore ist:

$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›

  • Suchen Sie alle Titelelemente, die ein Attribut „lang“ mit dem Wert „fr“ haben:

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

  • Finde alle Buchelemente, die einen Preis von 39,95 haben:

$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›

Dies sind nur ein paar Beispiele dafür, was Sie mit den neuen Ausdrücken tun können. Sie können sie auf mehr oder weniger komplexe Weise mischen, um die gewünschten Ergebnisse zu erzielen. Lesen Sie die Dokumentation, um zu sehen, was Sie mit diesen neuen Erweiterungen im Detail tun können.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.