Barbara,

I solved a problem like yours in a rather awkward way... but you may find it useful.

1) I wanted to choose a pipeline based on a parameter outputted by my database 
operations (I use Stored Procedures, hence an output
parameter, called intStatus, was used as a status variable: 0 Ok, 1 Generic error, 2 
Constraint violation, ...

2) I wanted to pop-up a Javascript dialog box or an HTML page in the same window or an 
HTML page in a new window in response to SP's
status

Hence, I built a pipeline like this:
<map:match name="wildcard" pattern="clearlog-execute.html">
        <map:aggregate element="page">
                <map:part src="documents/general/control-parameters.xml"/>
                <map:part src="cocoon:/sp-uman-clearlog.xml"/>
        </map:aggregate>
        <map:transform src="stylesheets/general/sp-control-html.xsl">
                <map:parameter name="control-section" value="clear-log"/>
        </map:transform>
        <map:serialize type="html"/>
</map:match>

Where:

1) control-parameters.xml contained a list of actions to take in response to the SP's 
status, like:
<spctl:control-section id="clear-log">
        <spctl:control trigger="{0}">
                <spctl:action href="changes.html"
                        target="frameChanges"/>
                <spctl:window type="dialog"
        </spctl:control>
        <spctl:control trigger="{10}">
                <spctl:window type="dialog"
                message="Generic error, contact your database administrator"/>
        </spctl:control>
</spctl:control-section>

2) sp-uman-clearlog.xml is a pipelin that executes an SP

3) sp-control-html.xsl is a stylesheet which executes the action triggered by the SP's 
status parameter (this actions have been
detailed in control-parameters.xml). This XSLT builds a minimal HTML page to be 
executed at load time

4) By the way, I need an hidden frame to use it as a callback for the action

Let's see what happens in the control flow between client and server:

Case A) the SP returns "10" in intStatus:
1) Client --> clearlog-execute.html with hidden target (say "frameCmd")
2) Server --> HTML page containing the window.alert() to the frameCmd hidden frame 
executed by onLoad event
3) The user see a Javascript dialog box

Case B) the SP returns "0" in intStatus:
1) Client --> clearlog-execute.html with hidden target (say "frameCmd")
2) Server --> HTML page with a form (executed by onLoad event) with points to 
"changes.html" with target "frameChanges"
Client --> changes.html with shown target frameChanges
3) The user see the changes.html page in the frameChanges frame

Ugly and a bit slow, I know... but really flexible.

Best regards,

---------------------------------------------
               Luca Morandini
               GIS Consultant
              [EMAIL PROTECTED]
http://utenti.tripod.it/lmorandini/index.html
---------------------------------------------


> -----Original Message-----
> From: Barbara Post [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, August 20, 2002 4:12 PM
> To: [EMAIL PROTECTED]
> Subject: dull problem : redirecting after transforming
>
>
> I have a series of transformers (last one inserts in a database) then want
> to go to another pipeline (anyway I have to do a generation from new xml,
> not the DB successful insertion message) without having interaction with the
> user, how can I do that ?
>
> map:redirect-to uri="..." right after a map:transform causes Tomcat to throw
> a NPE.
>
> I cannot have a redirect-to after a xml serializer. I need to be able to
> pass a parameter to the next pipeline though...
>
> Thanks for any idea,
>
> Babs
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
>


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to