The StrategyType definition is an abstract element definition that all concrete strategy defintions must extend.
<!-- XSD schema definition --> <complexType name="StrategyType" abstract="true"/>
The Metro runtime model defines a concrete component strategy under the dpml:metro namespace that is used to define the resources, services, and internal composition of an object. A second concrete strategy defintion named resource (uder the dpml:antlib namespace) is used by the Depot build system to define antlib loading criteria. If a foreign strategy element is declared the associated schema is resolved by locating a class implementing the org.w3c.dom.ls.LSResourceResolver service (via java.util.ServiceLoader). The runtime strategy handler will be resolved by reading a uri value from an attribute named handler. The uri is used to identify a plug-in part supporting the runtime handling of the foreign strategy.
Example part definition using the <component> strategy:
<?xml version="1.0"?> <part xmlns="dpml:part"> <info/> <component xmlns="dpml:metro" class="org.acme.Widget"/> <classpath> <private> <uri>artifact:jar:acme/widget/acme-widget#1.2.3</uri> </private> </classpath> </part>