To be more clear. The render arguments that referenced xml files now reference xquery files. e.g. return render("main.xq",map{})
On 17 October 2014 21:37, Andy Bunce bunce.andy@gmail.com wrote:
Hi Emmanuel,
At some point BaseX was changed so that variables must be declared. Now you must declare the variables used in the template. I do this see [1] This loses the advantages of the templates being XML but otherwise works fine.
/Andy
[1] https://github.com/Quodatum/app-doc/tree/master/src/doc/templates
On 17 October 2014 18:03, Emmanuel Chateau emchateau@laposte.net wrote:
Hi,
I’ve been trying to use the templating proposed by Andy Bunce here http://cubeb.blogspot.fr/2012/11/xquery-templating-engines-and-txq.html
https://mailman.uni-konstanz.de/pipermail/basex-talk/2012-November/004209.ht...
I’ve tried with txq module in different ways. But, I can’t figure out why I couldn’t reproduce it. Here is the simpler exemple I’ve tried :
In the webapp folder an xml file, named `view1.xml` wich contains :
<div>{map:get($map, 'greeting')}</div>
In webapp a restxq file with :
module namespace test = 'test.test'; import module namespace xquery = "http://basex.org/modules/xquery"; declare function test:render($template as xs:string, $map as map(*)){ xquery:invoke($template,$map) }; declare %restxq:path('/test') %restxq:GET function test:test(){ let $map := map{ "greeting" : "hello", "who": "world"} return test:render('view1.xml', $map ) };
Arrêté à /Users/emmanuelchateau/Documents/basex/webapp/view1.xq, 1/15: [XPST0008] Undefined variable $map.
I’m running BaseX version 7.9 Is there still anybody with this kind of templating running ?
Thanks a lot for your help.
Emmanuel