XQuery_lite for PHP - 有没有人设法让它工作?

时间:2011-10-27 14:15:19

标签: php xquery

我正在尝试将PHP与XQuery一起使用。我所知道的唯一一个实现是XQuery_Lite,它是XMLClasses库的一部分,但如果我可以做任何事情,我该死的。

它附带的demo.php页面错误。每当我尝试执行其中一个示例时,我得到:

Warning: bib is not visible from here plase use a global string for XML data in 
    C:\xampp\htdocs\test\xquery\xquery_lite_2\class_xquery_lite.php on line 201
Warning: Invalid argument supplied for foreach() in 
    C:\xampp\htdocs\test\xquery\xquery_lite_2\class_xquery_lite.php on line 690

然后我创建了这个超级简单的脚本(注意:代码来自自述PDF,bib.xml确实存在):

<?php

$query = '<bib>
{
for $b in document("bib.xml")/bib/book
where $b/publisher = "Addison-Wesley" and $b/@year > 1991
return
<book year="{ $b/@year }">
{ $b/title }
</book>
}
</bib>';

$query = stripslashes($query);
include_once("class_xquery_lite.php");
$xq = new XqueryLite();
$result=$xq->evaluate_xqueryl($query);  

?>

...但我被告知第179行的foreach正在被送入一个空阵列。经过一番挖掘后,这似乎意味着$ functions数组为空(在主要的class_xquery_lite.php脚本中)。

这一切都非常具体,所以我预计没有人能在这里提供帮助,但你永远不会知道...

1 个答案:

答案 0 :(得分:0)

这篇关于PHP和XQuery的文章可能会对您有所帮助:http://www.ibm.com/developerworks/xml/library/x-zorba/index.html