Le support de XPath a été introduit pour fournir un accès au jeu de résultats après avoir exécuté la requête SQL. Cela permet de traiter le jeu de résultats sans interroger de nouveau la base de données une fois de plus.
XPath est un standard W3 et pour de plus amples informations concernant cela, lisez vos livres préférés XSL/XML ou http://www.w3.org/.
XML_sql2xml fournit deux fonctions pour traiter le jeu de résultats : getXpathValue() et getXpathChildValues(). Les deux attendent une requête XPath et retournent le résultat en tant que chaîne de caractères ou de tableau.
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 contient :
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 contient :
Vous pouvez insérer une requête XPath dans une requête SQL. Dans cet exemple, une requête SQL est tout d'abord exécutée, puis, une autre requête SQL est exécutée - mais le paramètre pour bandsID est pris depuis une expression XPath dans les parenthèses. Cette expression est appliquée dans le jeu de résutat de la première requête SQL.
Requête mélangée
<?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();
?>