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]>
