Hi Daniel,
I guess we are making the same journey. I have done quite of lot of server
side templating with BaseX. I have finally gone round to putting a brief
write up on my blog [1].

I have also been using Angularjs with BaseX and find it has a lot pluses. I
have been playing building a sample app to try to see how it scales. I hope
to put my findings on my blog soon. It also uses Oauth.

/Andy

[1] http://cubeb.blogspot.com/2012/11/xquery-templating-engines-and-txq.html

On Mon, Nov 19, 2012 at 9:17 AM, Daniel Kvasnička
<daniel.kvasni...@me.com>wrote:

> You're right with the validation issue. Still I think it's the best
> solution compared to having HTML spilled all over XQuery code (no offence
> anyone...) or having perf-heavy XSLT.
> JsonML implementation in BaseX also kills namespace information (no ns
> prefix prepended in my tests), as far as I tested. So this might be a
> problem if I wanted to send and receive data with mixed namespaces. But
> that can be worked around as well somehow...
> Also I don't know what is the perf impact of BaseX's JsonML mapping but I
> don't think it's too much of an issue.
>
> Daniel
>
> --
> danielkvasnicka.net
>
> On Nov 19, 2012, at 10:08 , Dirk Kirsten <d...@basex.org> wrote:
>
> > This is quite an interesting approach (I didn't know about AngularJS
> before). . In the end it looks like AngularJS does exactly what XForms was
> created for. However, I see your point of no existing 100% satisfying
> XForms implementation as well. But there is one problem with this approach
> in comparison to pure XForms I'd like to mention, though.
> > XForms automatically does form validation on the client and server side,
> AngularJS in comparison is just validating on client side, i.e. you are
> responsible to validate it on server side. Depending on how much and what
> form elements you use this could significantly add work hours. Depending on
> the use case this might be negligible, but everyone thinking about the same
> problem should keep this in mind. And of course AngularJS puts some
> processing on the client, but I guess with nowadays JavaScript
> implementations in the browser this shouldn't be much of an issue.
> >
> > Cheers,
> > Dirk
> >
> >
> > On Mon, Nov 19, 2012 at 9:56 AM, Daniel Kvasnička <
> daniel.kvasni...@me.com> wrote:
> > 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
> >
> >
> >
> > --
> > Dirk Kirsten, BaseX GmbH, http://basex.org
> > |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz
> > |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer:
> > |   Dr. Christian Grün, Alexander Holupirek, Michael Seiferle
> > `-- Phone: 0049 7531 28 28 676, Fax: 0049 7531 20 05 22
>
> _______________________________________________
> 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