Integrating OPS with an existing servlet/jsp system

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Integrating OPS with an existing servlet/jsp system

Adam Flinton-2
Dear All,

A) I am very impressed with OBS. We were wondering how to handle getting
XForms plugins into our users browsers etc et voila serverside orbeon
seems to be the answer.

B) A quick question:

We have an existing JSP/Servlet based system which works in a similar
way to Orbeon in that the underlying files are XML & are then rendered
via XSLT etc. This is used to edit, view etc some XML model files (XMI &
HL7 MIF).
The files can be opened form a local file system or a remote subversion
repository.

At present the xml files are loaded into a central cache (hashtable)
keyed on their URL & are then transformed with different XSLT sheets to
give a required view (e.g. XHTML for documentation or SVG for diagrams,
w3c xsd schemas etc).

We'd not like to mess about too much with the underlying mechanisms e.g.
getting a file so :

If I hold the xml as a dom in another servlet & I wish to use the XML
within an orbeon controlled XForm, what format is orbeon best at receiving?

i.e. in an XForm how would I set a model in my instance from a dom
accessible through a non orbeon servlet? i.e. if I were to provide a url
& the servlet can return the dom as the result (i.e. in effect write it
out as string to the response), it can put the dom into the response
session object etc.etc.. What is the best way? I can write an xslt which
returns the xml wrapped with

<xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
    <xforms:instance>
        <MY_XML_DOC/>
    </xforms:instance>
</xforms:model>

2) How do I set a url as the place the XForm should get it's model from?

i.e. in the above example could I put something like

<xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
    <xforms:instance>
        <URL to my servlet which will return the xml as a
stream/string/response/>
    </xforms:instance>
</xforms:model>


instead of wrapping it in XSLT in my servlet?


TIA


Adam





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Integrating OPS with an existing servlet/jsp system

Erik Bruchez
Administrator
Adam Flinton wrote:

 > A) I am very impressed with OBS. We were wondering how to handle getting
 > XForms plugins into our users browsers etc et voila serverside orbeon
 > seems to be the answer.

Thanks :-)

 > i.e. in an XForm how would I set a model in my instance from a dom
 > accessible through a non orbeon servlet? i.e. if I were to provide a url
 > & the servlet can return the dom as the result (i.e. in effect write it
 > out as string to the response), it can put the dom into the response
 > session object etc.etc.. What is the best way? I can write an xslt which
 > returns the xml wrapped with
 >
 > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
 >    <xforms:instance>
 >        <MY_XML_DOC/>
 >    </xforms:instance>
 > </xforms:model>

You can store your DOM in the Servlet request object (NOT the response
object), forward it to OPS, and then in OPS retrieve it from XPL (for
example a page model pipeline in your page flow) with the Scope
generator.

Then from the XForms page (declared as a page view in your page flow),
you can either use XInclude and do:

<xforms:instance>
   <xi:include href="input:data"/>
</xforms:instance>

or use XSLT and do:

<xforms:instance>
   <xsl:copy-of select="doc('input:data')"/>
</xforms:instance>

 > 2) How do I set a url as the place the XForm should get it's model from?
 >
 > i.e. in the above example could I put something like
 >
 > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
 >    <xforms:instance>
 >        <URL to my servlet which will return the xml as a
 > stream/string/response/>
 >    </xforms:instance>
 > </xforms:model>
 >
 >
 > instead of wrapping it in XSLT in my servlet?

Then you could use, with XSLT:

<xforms:instance src="/my/path/to/other/xml/servlet/{$end-of-url}"/>

-Erik



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Integrating OPS with an existing servlet/jsp system

Adam Flinton-2
Thanks

Adam

Erik Bruchez wrote:

> Adam Flinton wrote:
>
> > A) I am very impressed with OBS. We were wondering how to handle
> getting
> > XForms plugins into our users browsers etc et voila serverside orbeon
> > seems to be the answer.
>
> Thanks :-)
>
> > i.e. in an XForm how would I set a model in my instance from a dom
> > accessible through a non orbeon servlet? i.e. if I were to provide a
> url
> > & the servlet can return the dom as the result (i.e. in effect write it
> > out as string to the response), it can put the dom into the response
> > session object etc.etc.. What is the best way? I can write an xslt
> which
> > returns the xml wrapped with
> >
> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
> >    <xforms:instance>
> >        <MY_XML_DOC/>
> >    </xforms:instance>
> > </xforms:model>
>
> You can store your DOM in the Servlet request object (NOT the response
> object), forward it to OPS, and then in OPS retrieve it from XPL (for
> example a page model pipeline in your page flow) with the Scope
> generator.
>
> Then from the XForms page (declared as a page view in your page flow),
> you can either use XInclude and do:
>
> <xforms:instance>
>   <xi:include href="input:data"/>
> </xforms:instance>
>
> or use XSLT and do:
>
> <xforms:instance>
>   <xsl:copy-of select="doc('input:data')"/>
> </xforms:instance>
>
> > 2) How do I set a url as the place the XForm should get it's model
> from?
> >
> > i.e. in the above example could I put something like
> >
> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms">
> >    <xforms:instance>
> >        <URL to my servlet which will return the xml as a
> > stream/string/response/>
> >    </xforms:instance>
> > </xforms:model>
> >
> >
> > instead of wrapping it in XSLT in my servlet?
>
> Then you could use, with XSLT:
>
> <xforms:instance src="/my/path/to/other/xml/servlet/{$end-of-url}"/>
>
> -Erik
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>  




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws