DPML
DPML Depot Properties
HomeUtilitiesStationMetro
Properties

Properties may be defined within the <library>, <module>, <project>, and <resource> elements within an enclosing <properties> element. Library properties serve as the most generic and are inherited by processor and module definitions. Modules, projects and resources inherit property setting from their enclosing module.

The <type> and <include> elements may also contain <property> declarations as direct child elements.

XML Attributes
name The property name.
value The property value.
Property value expansion

Property values may contain references to system properties and properties defined within the enclosing property set (locally or inherited) using the form ${<name>}.

Example:

<property name="username" value="${user.name}"/>
Example

Example property definition from the DPML root module.


<module name="dpml" basedir="main">

  <properties>
    <property name="project.publisher.name" value="Digital Product Management Library"/>
    <property name="project.specification.vendor" value="${project.publisher.name}"/>
    <property name="project.implementation.vendor" value="${project.publisher.name}"/>
    <property name="project.implementation.vendor-id" value="net.dpml"/>
    <property name="project.publisher.url" value="http://www.dpml.net"/>
    <property name="project.resource.host" value="http://repository.dpml.net"/>
    <property name="project.api.host" value="http://api.dpml.net"/>
    <property name="project.svn.host" value="svn://svn.berlios.de/dpml/trunk/main"/>
  </properties>

  ...

</module>

Example property definition within a project type directive.

<module name="metro">

  ...

  <project name="dpml-metro-runtime" basedir="runtime">
    <types>
      <type id="jar"/>
      <type id="plugin">
        <property name="project.plugin.class" 
           value="net.dpml.metro.runtime.CompositionController"/>
      </type>
    </types>
    <dependencies>
      <include ref="dpml/util/dpml-logging-api" tag="public"/>
      <include ref="dpml/util/dpml-activity-api" tag="public"/>
      <include ref="dpml/util/dpml-parameters-impl"/>
      <include ref="dpml/util/dpml-configuration-impl"/>
      <include key="dpml-state-impl"/>
      <include key="dpml-metro-component" tag="protected"/>
      <include key="dpml-metro-model" tag="protected"/>
    </dependencies>
  </project>

  ...

</module>