cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ugo Cei <u....@cbim.it>
Subject Re: [Proposal] Implementing XMLForm with Flow
Date Thu, 05 Dec 2002 08:36:23 GMT
Ivelin Ivanov wrote:
> I hope you are the last hero trying to confront this monster.
> 
> The discussion how to combine the two has been going on forever, but we have
> not come to an agreement.

I'm currently recovering the previous threads from the archive and 
reading them.

> I would gladly offer my tactical guidance for your effort.

Thank you.

> If I was to do this with Actions, I could use well known and standardized
> Java APIs - JWSP or JDBC.

But, as Ovidiu pointed out, you can!

var schemaFactory =
   Packages.org.apache.cocoon.components.validation.SchemaFactory.lookup
     ("http://www.ascc.net/xml/schematron");
var is = new Packages.org.xml.sax.InputSource
   ("flows/newuser-schema.xml");
var schema = schemaFactory.compileSchema(is);
var validator = schema.newValidator();
validator.setProperty("http://xml.apache.org/cocoon/validator/phase",
   "NewUser");
violations = validator.validate(userBean);

This is just a quick hack I put together looking at the code for the 
AbstractXMLFormAction and Form, but it works. I just need to define some 
symbolic constants for the namespaces and find a way to access a 
SourceResolver from JavaScript to make it pretty.

Anyway, if you prefer to write complex business logic in Java (and I'd 
agree wholeheartedly with that), you can encapsulate it in a Java method 
that returns a boolean or an index to drive the flow that will be 
implemented by an if/then/else or a switch in JavaScript.

What do we gain by this? We remove flow logic from the sitemap in the 
form of actions and put it in the flowscript, where it belongs (IMHO).

	Ugo

-- 
Ugo Cei - http://www.beblogging.com/blog/


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message