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>