XPath サポートの強化

Deeplからの自動翻訳

XPath は、XML 文書を簡単に操作できるようにする言語です。これは、すでに DOM Find XML element 4D v18 R3では、XPath構文のサポートが劇的に強化されました。もし、あなたが、パスにワイルドカードを使用するような機能を要望しているのであれば、読み続けてください!

既存のアプリケーションで新しい構文を使用するには、「標準の XPath を使用する」互換性設定をチェックする必要があります。新規に作成されたデータベースでは、デフォルトで新しい構文が使用されます。検索を簡単にするために、 //, @, *, last() のような新しい式を使用することができるようになりました。

述語の書き方の例

以下の例では、次のような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>
  • bookstore要素の子である、最後から2番目のbook要素を見つけなさい。

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

  • lang” 属性の値が “fr” である title 要素をすべて検索します。

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

  • 価格が 39.95 に等しいすべての book 要素を検索します。

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

これらは、新しい式でできることのほんの一例です。必要な結果を得るために、多かれ少なかれ複雑な方法でそれらを混ぜることができます。これらの新しい機能拡張で何ができるのか、より詳しく知りたい方はドキュメントを参照してください。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。