> We had a fair amount of debate around this, and maybe it would make
> sense to give processors that declare outputs which are not connected
> a chance to execute as well. Because of the policy of lazy evaluation
> of pipelines, this wouldn't necessarily solve, for example, the case
> of an XSLT transformer which is not connected. It would be up to each
> processor implementation to determine whether it has a side effect and
> to execute or not. I think this would make sense.

Hi there,
    +1 for leaving the XPL spec the way it is now. ;-)

Using a null-serializer to force a processor to be read is good because then
the programmer explicitly controls the exact behavior of the pipeline. Isn't
there also a situation where a <choose> can decide whether to read the
output of one processor or another at runtime? In this situation you
certainly wouldn't want a processor to be executed even if it is never read.

Damon.

> I added this issue to our bug tracking system:
>
>    http://athlon.orbeon.com/webtools/bugzilla/show_bug.cgi?id=1218
>
> For the moment, you can use a null-serializer instead of a
> session-serializer. This is the "official" way to force the output of
> a processor to be read.
>
> -Erik
>
> Scott McMullan wrote:
>
>  > I am trying to use a series of processing steps within a pipeline
>  > for their side-effects (eg., writing to a db or calling a web
>  > service).  I am NOT interested in the output of these steps -- just
>  > that they execute.  The problem is that none of these steps are
>  > executing because I am not hooking up the output of the final step
>  > with the output of the pipeline.  Why does OXF regard any unused
>  > output as a terminal step in the pipeline, and as a result NONE of
>  > the steps are executed?
>  >
>  > Example:
>  >
>  > processingStep1
>  > inputS1
>  > outputS1
>  >
>  > choose (outputS1)
>  > when (condition)
>  > processingStepForSideEffect1
>  > processingStepForSideEffect2
>  > ---> Output from this 2nd step is NEVER USED, but that's OK w/me...
>  > ---> The problem is that even though condition is met, my 2 side-effect
>  > ---> statements are never called!
>  > ---> One hack is to put a sessionSerializer as a last step, but
>  > ---> that's a hack...
>  > endWhen
>  > endChoose
>  >
>  > processingStep2
>  > --> input taken from outputS1
>  > --> output hooked to pipeline's output
>  >
>  >
>  > Thanks for your help.
>  >
>  > -Scott
>  > UC Berkeley Center for Docment Engineering
>
>
> _______________________________________________
> oxf-users mailing list
> [EMAIL PROTECTED]
> http://mail.orbeon.com/mailman/listinfo/oxf-users
>

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

Reply via email to