XPath サポートは SQL に問い合わせた後のリザルトセットに対してアクセスするために 導入されました。これはデータベースへリザルトセットを再び問い合わせすることなく より一層の処理を可能にします。
XPath は W3 規格です、そしてそれに対する詳細な情報については、 XSL/XML の本 もしくは、 http://www.w3.org/ を訪ねてください。
XML_sql2xml はリザルトセットの問い合わせについて2つの関数を提供します。 getXpathValue() と getXpathChildValues()。 両方とも XPath クエリによって、配列もしくは文字列の結果を返します。
getXpathValue
<?php
include_once("XML/sql2xml.php");
$sql2xmlclass = new xml_sql2xml("mysql://username:password@localhost/xmltest");
$sql2xmlclass->add("select * from bands");
$xmlstring = $sql2xmlclass->getXpathValue("/root/result/row[id = '2']/name");
?>
$xmlstring
contains:
getXpathChildValues
<?php
include_once("XML/sql2xml.php");
$sql2xmlclass = new xml_sql2xml("mysql://username:password@localhost/xmltest");
$sql2xmlclass->add("select * from bands");
$xmlstring = $sql2xmlclass->getXpathChildValues("/root/result/row[id = '2']");
?>
$xmlstring
contains:
SQL クエリに XPath クエリを挿入することができます。例では先に SQL クエリが終了し、
再度第2の SQL クエリが実行されます、しかし bandsID
の
パラメータは XPath 式の波括弧から取得される。この表現では 最初 の
SQL クエリのリザルトセットで処理されます。
混合したクエリ
<?php
include_once("XML/sql2xml.php");
$sql2xmlclass = new xml_sql2xml("mysql://username:password@localhost/xmltest");
$sql2xmlclass->add("select * from bands");
$sql2xmlclass->add("select * from albums where bandsID = {/root/result/row[name = 'The Blabbers']/id}");
$xmlstring = $sql2xmlclass->getxml();
?>