2011-10-04 51 views
3

可以将Zorba XQuery处理器PHP API绑定到xquery中声明为external的变量吗?如何在PHP中绑定Zorba中的XQuery外部变量?

例如,xquery中的这一行将绑定到名为$foo的外部变量;

declare variable $foo as xs:string external; 

但我不能找到左巴PHP API文档中展示了如何做绑定的PHP的一部分,使PHP变量$foo变为绑定到XQuery的变量$foo一个例子。

可以这样做吗?

+0

看看的'set_variable()'PHP的API函数。我不知道它专门为PHP,但C API有这个。 – hakre

回答

0

你可以做到以下几点:

$query = $this->zorba->compileQuery("declare variable $i external; $i + 1"); 
$dctx = $this->zorba->getDynamicContext(); 

$param = $this->zorba->compileQuery("."); 
$itemFactory = $this->zorba->getItemFactory(); 
$value = $itemFactory->createString("1"); 

$param->getDynamicContext()->setContextItem($value); 

$dctx->setVariable("", "i", $param->iterator()); 

这是否帮助?