Peter,

Using the session is in general not recommended, as that has some
issues, so you are right to look for alternatives.

You can definitely pass information from instance to instance using
XUpdate in the controller, for example:

<action when="/form/action = 'dothis'" action="oxf:/action/dothis.xpl">
<result when="/result-data">
<xu:append select="/form/data"><xu:copy-of select="document('#action')/result-data/*"/></xu:append>
</result>
</action>


The XUPdate code has access to document('#action') which is the
document output by the action, as well as document('#instance') which
is the instance of the initial page. The XUpdate code works on the
newly constructed instance of the destination page.

Also, typically in the case of wizards, or multiple-page spanning data
entry forms, you can use the approach of having a large instance
progressively filled-out as the user navigates from page to page. This
works well until you redirect to a page to another page, because
redirects use GET, and OXF passes the instance on the URL in that
case. If the instance is very large, this won't work because browsers
have limitations on the size of URLs.

So with OXF 2.2, for large instances, you are stuck either using the
session, or avoiding redirects (which also means avoiding <result
page="..."> in the controller). OXF 2.5 solves this by providing a
built-in way of passing large instances between pages.

-Erik

Peter Charles wrote:

> Hello,
>
> Is there any method other than using the session to pass information
> between pages?
>
> For instance, have the updated xform from page one, be the sent as an
> input to an xpl in page two.
>
> Thanks
>
> Peter

_______________________________________________
oxf-users mailing list
[EMAIL PROTECTED]
http://mail.orbeon.com/mailman/listinfo/oxf-users

Reply via email to