XQuery_lite для PHP - кому-нибудь удалось заставить его работать? - PullRequest
2 голосов
/ 27 октября 2011

Я пытаюсь использовать XQuery с PHP.Единственная известная мне реализация - это 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

Затем я создаю этот очень простой сценарий (примечание: код взят из файла read-me 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);  

?>

... но мне сказали, что foreach в строке 179 получает пустой массив.После некоторого копания это означает, что массив $ functions пуст (в основном скрипте class_xquery_lite.php).

Это все очень специфично, поэтому я не ожидаю, что кто-нибудь сможет здесь помочь, но вы никогда не знаете...

1 Ответ

0 голосов
/ 30 октября 2011

Эта статья о PHP и XQuery может помочь вам: http://www.ibm.com/developerworks/xml/library/x-zorba/index.html

...