Well, I've actually opted for a completely different solution - AngularJS & 
RESTXQ & JsonML. Very cool so far! It actually makes BaseX only a service layer 
and moves all UI composition and teplating to the client.
Originally I wanted to make a pure XRX solution but I don't see any easily 
embeddable and widely supported XForms implementation on the market (XSLTForms 
comes close but I see too many "buts" and "ifs").

Daniel

--
danielkvasnicka.net

On Nov 19, 2012, at 9:47 , Michael Seiferle <m...@basex.org> wrote:

> Hi Daniel, 
> 
> thanks a lot for your observations, I know moustache.{xq,js} as well, and I'd 
> be thrilled if we eventually come up with our own BaseX compatible 
> implementation :-)
> 
> Anyway, until then, I'd like to let you know how we handle this at the moment:
> We introduce a template module that accepts a map of options and some content.
> Inside the template wrapping function, we wire our page elements with the 
> map’s contents.
> This proved to be rather flexible while still being lightweight enough to be 
> out of the way most of the time.
> 
> Please excuse the messed up highlighting: 
> https://gist.github.com/e053068a41eb35e727bb
> 
> We chose maps, as they make it especially easy to provide default values that 
> can be easily overridden from calling functions by combining a map:
>> let $defaults := map {"Foo" := "Bar", "foo" := "bar", "Bar" := "Foo"}
>> let $options  := map {"Foo" := "Override"}
>> let $options  := map:new(($defaults, $options))
>> return       string-join(map:keys($options) ! (. || " := "|| $options(.)), 
>> "&#10;")
> 
> I hope this helps feel free to discuss this issue more :)
> 
> Michael
> 
> 
> 
> Am 17.11.2012 um 19:27 schrieb Daniel Kvasnička <daniel.kvasni...@me.com>:
> 
>> Hi folks,
>> 
>> another thing I'm trying to solve while working on a XQuery web app. What 
>> kind of templating system do you use to separate HTML templates from the 
>> rest of your code?
>> 
>> - XSLT - the only problem I have with this is performance. I tested the XSLT 
>> Module with Saxon 9 and a primitive page and it was more than 3x slower 
>> compared to pure XQuery templates (XQuery fn taking $model). Other than that 
>> I think it's the best built-in option. I actually don't have any 
>> users-per-second expectations and those templates will be quite small... do 
>> I overemphasize the perf. question?
>> 
>> - pure XQuery - not aimed at templating at all and it shows I'm afraid... 
>> just can't come up with a solution that would be clean enough (plus HTML, JS 
>> & CSS highlighting withing xq files is not good at all, at least in Vim)
>> 
>> - I looked at Mustache.xq and quite liked it - depends on MarkLogic though :(
>> 
>> - Any hidden gem I haven't googled yet?
>> 
>> Leaning towards XSLT right now...
>> Daniel
>> 
>> --
>> danielkvasnicka.net
>> 
>> _______________________________________________
>> BaseX-Talk mailing list
>> BaseX-Talk@mailman.uni-konstanz.de
>> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
> 

_______________________________________________
BaseX-Talk mailing list
BaseX-Talk@mailman.uni-konstanz.de
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to