As promised, we're ready to start hacking on the validation stufff,
and here comes a first request. :)

Our typical use case (may I remind you that we're building a full
fledged "validation server?") requires multisptep validation, that is
validating an input against a set of different schemas (say an XML
Schema and a Schematron file, as an example). This process, to the
final user, should be as transparent as possible, and we wont to
provide her with an error report, in case something goes wrong, that
gives as much information as possible: this means that, in case there
are errors coming both from the first and the second phase, we don't
want to stop processing the XML right away and provide just the first
step errors.

With the current validation block this isn't quite possible: the
validation report transformer either passes the original events
through or provides a totally different (error reporting) XML stream.
We are currently thinking of somewhat hack our way through by
providing a custom error handler, shared between the different
validation steps (implementation note: a ThreadLocal, I guess), that
silently accumulates error notifications, providing them all at once
when processing ends. The final step of the pipeline could then be
either a validation transformer that somewhat is aware of his "final"
role or a custom transformer that checks if there are errors streaming
them away or, if everything went smooth, just passes events through.

Yes, we know how having a full fledged error reporting is somewhat a
holy grail, but we'd like to strive to get as far as possible. Of
course we are open to alternatives, and we'd love to know if this
effort might be of interest to the validation block as a whole or if
our needs are just too vertical to become a shared component.
Opinions, anyone?

(and yes, Pier, once this thingy is sorted out, the Schematron factory
is next :))

Ciao,
--
Gianugo Rabellino
Pro-netics s.r.l. -  http://www.pro-netics.com
Orixo, the XML business alliance: http://www.orixo.com
(blogging at http://www.rabellino.it/blog/)

Reply via email to