Transit provides two strategy definitions - plugin and resource.
The plugin definition is the common form and used to establish plugable services within a software system. The resource definition is a special case used to handle the declaration of a antlib resource path and namespace - used in conjunction with plugable tasks and datatypes.
The <strategy> element represents an abstract schema type as such the xsi:type attribute is required in order to reference a concrete strategy. In the following example the xsi:type attribute is selecting the plugin schema type.
<strategy xsi:type="plugin" class="net.dpml.tools.impl.StandardBuilder"/>
The above strategy declaration is equivalent to the following:
<plugin class="net.dpml.tools.impl.StandardBuilder"/>
The following example demonstrates the use of a foreign strategy definition (qualified by a namespace uri):
<component xmlns="link:xsd:dpml/lang/dpml-component#1.0" type="net.dpml.http.Server" collection="system" activation="system"> ... </component>