The first pass at configuration validation is in. You can enable it by 
uncommenting out the block in kernel.xml to enable the 
DelegatingConfigurationValidator.

Phoenix will look for a schema-type element in the blockinfo document, and if 
it is found, will attempt to load <block>-schema.xml as the schema. If you 
are using the xdoclet xinfo generation, add 
@phoenix:configuration-schema type="<type>"
in the javadocs of the configure() method.

Currently the only implemented schema type is 'relax-ng' using the jing 
libraries (http://www.thaiopensource.com/relaxng/jing.html).

The implemented validator (JarvConfigurationValidator) uses jing via the JARV 
interfaces (http://iso-relax.sourceforge.net). JARV is a set of interfaces 
that can be plugged on top of any validation system. There are other 
implemenations available 
(http://iso-relax.sourceforge.net/JARV/JARV.html#download) including one that 
sits on top of Xerces for XML Schema.

The schema-type approach was choosen so a developer can aggregate blocks from 
various sources with schemas in various languages. I choose relax-ng 
initially since it was the very easy to learn.

Currently the validator only returns a true/false value indicating compliance, 
and any messages from the validator are logged. I'm considering adding a 
callback interface to the validator to return messages to the caller for 
their own purposes (I'm thinking towards users entering config info in a GUI 
and getting validation feedback before commiting config changes).

I have also added relax-ng schemas for the cornerstone blocks I use. 
DataSourceSelector, DefaultConnectionManager, DefaultThreadManager and 
SocketStreamPublisher (altrmi).
-pete

-- 
peter royal -> [EMAIL PROTECTED]

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

Reply via email to