@@ -32,7 +32,7 @@ with the following attributes:</p>
<tr>
<td valign="top">type</td>
<td valign="top">specifies one of the built-in implementations.</td>
<td rowspan="2" align="center" valign="middle">Exactly one of bo th</td>
<td rowspan="2" align="center" valign="middle">Exactly one of these </td>
</tr>
<tr>
<td valign="top">classname</td>
@@ -62,12 +62,6 @@ with the following attributes:</p>
implementation.</td>
<td align="center" valign="top">Depends on implementation.</td>
</tr>
<tr>
<td valign="top">chained</td>
<td valign="top">Whether to chain nested <CODE><mapper></CODE>s.
<i>Since Ant 1.7</i></td>
<td align="center" valign="top">No, default is <CODE>false</CODE>.</td>
</tr>
</table>
<p>Note that Ant will not automatically convert / or \ characters in
the <code>to</code> and <code>from</code> attributes to the correct
@@ -77,18 +71,17 @@ this separator, use <code>${file.separator}</code> instead.</p>
<p>The classpath can be specified via a nested
<code><classpath></code>, as well - that is,
a <a href="../using.html#path">path</a>-like structure.</p>
<p><b>Since Ant 1.7 ,</b> nested File Mappers can
<p><b>Since Ant 1.6.2 ,</b> nested File Mappers can
be supplied via either <CODE><mapper></CODE> elements or
<a href="../CoreTasks/typedef.html"><code><typedef></code></a>'d
implementations of <CODE>org.apache.tools.ant.util.FileNameMapper</CODE>.
If one or more nested File Mappers are specified using either convention,
only the <i>chained</i> attribute will be considered in the configuration
of the implicitly used <a href="#container-mapper">container mapper</a>.
If nested File Mappers are specified by either means, the mapper will be
implicitly configured as a <a href="#composite-mapper">composite mapper</a>.
</p>
<hr/>
<h3>The built-in mapper types are:</h3>
<p>All built-in mappers are case-sensitive.</p>
<p><b>As of Ant 1.7 ,</b> each of the built-in mapper implementation
<p><b>As of Ant 1.6.2 ,</b> each of the built-in mapper implementation
types is directly accessible using a specific tagname. This makes it
possible for filename mappers to support attributes in addition to
the generally available <i>to</i> and <i>from</i>.<br/>
@@ -395,7 +388,7 @@ with <code><uptodate></code> and <code><junit></code> output.</p>
<td valign="top">ignored</td>
</tr>
</table>
<h4><a name="unpackage-mapper">unpackage (since ant 1.6)</a></h4>
<h4><a name="unpackage-mapper">unpackage (since ant 1.6.0 )</a></h4>
<p>This mapper is the inverse of the <a href="#package-mapper">package</a> mapper.
It replaces the dots in a package name with directory separators. This
is useful for matching XML formatter results against their JUnit test
@@ -417,22 +410,17 @@ with <code><uptodate></code> and <code><junit></code> output.</p>
<td valign="top"><code>${test.src.dir}/org/acme/AcmeTest.java</code></td>
</tr>
</table>
<h4><a name="container-mapper">container (since ant 1.7)</a></h4>
<p>This mapper implementation can contain multiple nested mappers,
and can process in one of two modes, controlled by the <i>chained</i>
attribute. In the default mode, file mapping is performed by passing
the source filename to each nested <code><mapper></code> in turn,
returning all results. When <i>chained</i> is set to <CODE>true</CODE>,
the source filename will be passed to the first nested mapper, its
results will be passed to the second, and so on. The target filenames
generated by the last nested mapper comprise the ultimate results of the
mapping operation. The <i>to</i> and <i>from</i> attributes are ignored.</p>
<h4><a name="composite-mapper">composite (since ant 1.6.2)</a></h4>
<p>This mapper implementation can contain multiple nested mappers.
File mapping is performed by passing the source filename to each nested
<code><mapper></code> in turn, returning all results.
The <i>to</i> and <i>from</i> attributes are ignored.</p>
<b>Examples:</b>
<blockquote><pre>
<container mapper>
<compositemapper>
<identitymapper />
<packagemapper from="*.java" to="*"/>
</container mapper>
</composite mapper>
</pre></blockquote>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
@@ -447,15 +435,25 @@ with <code><uptodate></code> and <code><junit></code> output.</p>
<td valign="top"><code>foo.bar.A</code></td>
</tr>
</table>
<p>The composite mapper has no corresponding
<code><mapper <b>type</b>></code> attribute.
</p>
<h4><a name="chained-mapper">chained (since ant 1.6.2)</a></h4>
<p>This mapper implementation can contain multiple nested mappers.
File mapping is performed by passing the source filename to the first
nested mapper, its results to the second, and so on. The target filenames
generated by the last nested mapper comprise the ultimate results of the
mapping operation. The <i>to</i> and <i>from</i> attributes are ignored.</p>
<b>Examples:</b>
<blockquote><pre>
<mapper chained="true">
<chainedmapper >
<flattenmapper />
<globmapper from="*" to="new/path/*"/>
<mapper>
<globmapper from="*" to="*1"/>
<globmapper from="*" to="*2"/>
</mapper>
</mapper>
</chained mapper>
</pre></blockquote>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
@@ -477,13 +475,9 @@ with <code><uptodate></code> and <code><junit></code> output.</p>
<td valign="top"><code>new/path/B.java2</code></td>
</tr>
</table>
<p>Finally, the container mapper is <b>not</b> built-in in the same sense
as the others. It is available via its own typedef,
<code><containermapper></code>, and the use of a common
<code><mapper></code> element with nested mappers will, as mentioned
previously, make implicit use of a container mapper. The container
mapper is <b>not</b> available, however (nor does it need to be), using
the common <code><mapper type="..."></code> syntax.</p>
<p>The chained mapper has no corresponding
<code><mapper <b>type</b>></code> attribute.
</p>
<hr>
<p align="center">Copyright © 2000-2004 The Apache Software Foundation. All rights
Reserved.</p>