Eric van der Vlist wrote:

> I agree, but I also think that what beginners find shocking are
> frequently signs of weak spots covering stuff that isn't as clean as
> the rest of the language :-) ...

True as well. That's why your comments deserve consideration.

Note that other beginners have also found it curious that some
processors don't execute if you don't connect their outputs. In this
case, it may be that they are less familiar with the lazy evaluation
model, of that the documentation is lacking, or...

Another example: XSLT beginners can sometimes jump to the roof when
they find out that you can't modify XSLT "variables". However, it
makes perfect sense considering XSLT from the point of view of
functional languages.

I am not saying that's the case with XPL (that it makes perfect
sense). Just that past the first "shock", things must be analysed in
depth. Which we are doing.

Now this question of processors without outputs is not clear-cut to
me, because:

1. On one hand yes, you have to be aware that in XPL, statements are
   executed in blocks (e.g. statements under the pipeline, statements
   in a p:choose branch), and that when a block executes, those
   processors are executed automatically. So you have to know that and
   think about that.

2. But on the other hand, this occurs only for a category of actual
   processors, and arguably in most cases, this behavior leads to a
   simplified syntax (the example of the pipelines that execute a
   database update, or that execute an XML serialization).

> I don't find that shocking. This output is a control over the
> processor.

> But if I had control over what's going on in the pipeline, I could
> more easily write a single pipeline that encapsulate several
> operations and choose the one(s) I want to perform through the
> control outputs.

I get it.

> That's pretty different from what's happening at the moment.

By the way, if you don't use the existing serializers, except the Null
Serializer, that's basically the gehavior you get.

> Never mind, if I can't convince you, I'll try to emulate this as
> much as I can in my own projects!

If you find the time, and if you hit the appropriate use case, it
would be nice for us to see another example of how a pipeline written
with XPL would look like with the changes you suggest, i.e.:

1. All processors have at least one output.
2. There is a syntactical construct to "ground" outputs.

-Erik


------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ orbeon-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/orbeon-user

Reply via email to