Модуль импорта в XQuery (PHP + Zorba)

Я пишу приложение в php для запроса огромных XML-файлов (ГБ) с процессором Zorba XQuery (v2.6.0), и для этого я пытаюсь использовать поток XML, описанный здесь:

http://www.zorba-xquery.com/html/entry/2012/05/31/XML_Streaming

Вот код:

<?php

require_once 'XQueryProcessor.php';

$xquery = new XQueryProcessor();

$query = '

    import module namespace file = "http://expath.org/ns/file";     
    import module namespace p = "http://www.zorba-xquery.com/modules/xml";
    import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";:)

    let $raw-data as xs:string := file:read-text("C:\TEMP\traces\2011_03\Orders201103.xml")
    let $pages := p:parse($raw-data, <opt:options>
                                         <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
                                     </opt:options>)

    for $page in $pages
    return
        $page
   ';

$xquery->importQuery($query);

$result = $xquery->execute();

echo $result;
?> 

Код выше не работает. Нет кодов ошибок, нет следов стека, просто ничего не возвращает в веб-браузер.

Я думаю, что проблема в том, что он не импортирует пространства имен, потому что, когда я выполняю простой запрос без импорта, он делает это успешно, а когда я добавляю предложение импорта, он терпит неудачу. Когда это терпит неудачу, веб-браузер показывает мне, что если URI не нашел ресурс, как сказано здесь:

Если после поиска по всем каталогам путей URI не найдено совпадений для данного URI, Zorba по умолчанию вернется к интерпретации URI как URL и загрузке ресурса через HTTP (при условии, что URI имеет схему http:)

http://www.zorba-xquery.com/html/documentation/2.7.0/zorba/uriresolvers

Я также посмотрел в папку установки Zorba и способ преобразования URI импорта (по ссылке выше), и кажется, что все в порядке.

Например, файловый модуль находится по следующему пути (будьте осторожны, это основной модуль):

C: \ Program Files \ Zorba XQuery Processor 2.6.0 \ share \ zorba \ uris \ core \ 2.6.0 \ org \ expath \ ns \ file.xq

Я занимаюсь разработкой под Windows и использую стандартную установку WAMP для Apache и PHP.

Кто-нибудь знает, что не так с моим кодом или средой?

редактировать: я только что заметил, что запрос работает нормально из командной строки, так что, возможно, это не преобразование URI

0 ответов

Другие вопросы по тегам