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