XML Schema update in place
Stephen McConnell
mcconnell at dpml.net
Tue Mar 14 11:35:21 EST 2006
A large number of updates were committed under revision 1178. These include
the addition of XML schema based XML for transit plugins, Depot libraries,
and a custom plugin strategy (extending the transit strategy) for
components. As far as the end-product is concerning this means that the
data produced for both transit plugins and components share the same
structural base, and probably more important - are fully human readable.
For example - a transit plugin definition is described using a general form:
<part>
<info title="ACME Plugin">
<description>
My really great ACME plugin.
</description>
</info>
<strategy xsi:type="plugin" class="acme.GeneralWidget"/>
<classpath>
<private>
<uri>artifact:jar:acme/acme-superstore#SNAPSHOT</uri>
</private>
</classpath>
</part>
The <strategy> element is completely customizable. For example - I can
replace the <strategy> element with anything derived from the XML schema
definition of a part strategy (e.g. a Metro component definition extends
strategy and adds a completely new deployment solution). This removed the
different implementations of classloader specifications (because everything
now leverages the single transit definition of a part <classpath>) and makes
the overall model much more generic.
While everything is building properly there remains some cleaning up to be
done. In particular:
1. the transit configuration needs to be moved to a schema based
configuration that enables reference to plugin and component
definitions
2. the state configuration needs to be updated to extend from a
part strategy (which is kind of cool as it means that a application
defection in xml will be represented as a new JVM instance)
3. we need to resolve the sub-module issue (the general need to
declare and export sub-modules as independently managed
entities)
Cheers, Steve.
--------------------------
Stephen McConnell
mailto:mcconnell at dpml.net
http://www.dpml.net
More information about the dev-dpml
mailing list