Erik, thank you for posting a great overview of the research youíve done with Saxon-CE. Iíve been doing my own research over the holidays and today got to the place where I needed to update the model and one Google search later here I am watching your presentation and reading your notes. My current framework utilizes XSL 1.0 in the browser to perform transformations on the XML model in phases, such as security filtering, an analysis phase, rendering the view and validating the document before save. This framework uses standard Javascript DOM API to perform updates using Sarissa library to normalize APIs across browsers).

I find your idea about performing these updates as a transformation using Saxon-CE events to be intriguing. I started the day realizing that the document object returned by Saxon.requestXML() is not a classic Javascript DOM tree and so the familiar method selectSingleNode() isnít available. Iím writing the controller in Javascript, so I have variables to the XML document and I can invoke transformations using a separate XSL template to perform the update.

I havenít tried this, yet, so Iím not sure it will work. Whatís interesting about Saxon-CE is that after the initial XSLT20Processor.updateHTMLDocument() is performed, the engine keeps running in the background waiting to handle events by performing transformations using the same XSL template identified initially. It also uses the same XML model initially. I doubt I can perform an identity transformation xdoc = XSLT20Processor.transformToDocument(xdoc) and expect this background engine to know that ixsl:source() has been updated without calling XSLT20Processor.updateHTMLDocument() to re-render the entire page. Thatís not very efficient.

Iím using contentEditable spans and the focus/blur events are not caught by Saxon-CE. I have JQuery code catching these events, but the XML variable Iíve been given is a stub and so I canít update the model directly. So now I will investigate whether I can write a transformation that updates the model correctly so that subsequent view transformations will see the update.

Eric, your presentation has provided good grist for the grinder, so to speak. Thanks for the post.



On Sat, Oct 26, 2013 at 3:33 AM, Eric van der Vlist <vdv@dyomedea.com> wrote:
You're very welcome.

Speaking of sharing... Hoping that they might be useful, I have cloned
the libraries that I have developed for this presentation. After some
refactoring they are now available as a new project at http://vdv.re/D .

Don't hesitate to clone, download and spread the word, comments and
merge requests are most welcome!

Thanks,

Eric

Le vendredi 25 octobre 2013 ŗ 09:26 +0100, Michael Kay a ťcrit :
> Thanks very much for sharing this, Eric. And for the ideas for
> required enhancements: which are all excellent ideas, though some of
> them are quite challenging!
>
> Michael Kay
> Saxonica
>
> On 25 Oct 2013, at 08:57, Eric van der Vlist <vdv@dyomedea.com> wrote:
>
> > Hi,
> >
> > I have documented the hacky and dirty bits mentioned in my presentation
> > at XML Amsterdam: http://vdv.re/A .
> >
> > You'll also find there the screencast of my last rehearsal and links to
> > the presentation itself.
> >
> > I hope you'll find this useful if you're interested in client side XSLT
> > with Saxon-CE!
> >
> > Eric
> >
> >
> >
> >
> > ------------------------------------------------------------------------------
> > October Webinars: Code for Performance
> > Free Intel webinars can help you accelerate application performance.
> > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
> > the latest Intel processors and coprocessors. See abstracts and register >
> > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
> > _______________________________________________
> > saxon-help mailing list archived at http://saxon.markmail.org/
> > saxon-help@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/saxon-help
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
> _______________________________________________
> saxon-help mailing list archived at http://saxon.markmail.org/
> saxon-help@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/saxon-help
>



------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/saxon-help