You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gi...@apache.org on 2018/02/28 07:01:27 UTC

[12/47] ant git commit: Use HTML 5(-ish), fix links

http://git-wip-us.apache.org/repos/asf/ant/blob/66b52f99/manual/Types/selectors.html
----------------------------------------------------------------------
diff --git a/manual/Types/selectors.html b/manual/Types/selectors.html
index be2da68..657bfbc 100644
--- a/manual/Types/selectors.html
+++ b/manual/Types/selectors.html
@@ -24,129 +24,108 @@
   <body>
     <h2>Selectors</h2>
 
-    <p>Selectors are a mechanism whereby the files that make up a
-    <code>&lt;fileset&gt;</code> can be selected based on criteria
-    other than filename as provided by the <code>&lt;include&gt;</code>
-    and <code>&lt;exclude&gt;</code> tags.</p>
+    <p>Selectors are a mechanism whereby the files that make up a <code>&lt;fileset&gt;</code>
+    can be selected based on criteria other than filename as provided by
+    the <code>&lt;include&gt;</code> and <code>&lt;exclude&gt;</code> tags.</p>
 
     <h3>How to use a Selector</h3>
 
-    <p>A selector is an element of FileSet, and appears within it. It can
-    also be defined outside of any target by using the <code>&lt;selector&gt;</code> tag
-    and then using it as a reference.
-    </p>
-
-    <p>Different selectors have different attributes. Some selectors can
-    contain other selectors, and these are called
-    <a href="#selectcontainers"><code>Selector Containers</code></a>.
-    There is also a category of selectors that allow
-    user-defined extensions, called
-    <a href="#customselect"><code>Custom Selectors</code></a>.
-    The ones built in to Apache Ant are called
-    <a href="#coreselect"><code>Core Selectors</code></a>.
-    </p>
+    <p>A selector is an element of FileSet, and appears within it. It can also be defined
+    outside of any target by using the <code>&lt;selector&gt;</code> tag and then using it as a
+    reference.</p>
+
+    <p>Different selectors have different attributes. Some selectors can contain other
+    selectors, and these are called <a href="#selectcontainers"><code>Selector
+    Containers</code></a>.  There is also a category of selectors that allow user-defined
+    extensions, called <a href="#customselect"><code>Custom Selectors</code></a>.  The ones
+    built in to Apache Ant are called <a href="#coreselect"><code>Core Selectors</code></a>.</p>
 
     <h3 id="coreselect">Core Selectors</h3>
 
-    <p>Core selectors are the ones that come standard
-    with Ant. They can be used within a fileset and can be contained
-    within Selector Containers.</p>
+    <p>Core selectors are the ones that come standard with Ant. They can be used within a
+    fileset and can be contained within Selector Containers.</p>
 
     <p>The core selectors are:</p>
 
     <ul>
-      <li><a href="#containsselect"><code>&lt;contains&gt;</code></a> - Select
-        files that contain a particular text string</li>
-      <li><a href="#dateselect"><code>&lt;date&gt;</code></a> - Select files
-        that have been modified either before or after a particular date
-        and time</li>
-      <li><a href="#dependselect"><code>&lt;depend&gt;</code></a> - Select files
-        that have been modified more recently than equivalent files
-        elsewhere</li>
-      <li><a href="#depthselect"><code>&lt;depth&gt;</code></a> - Select files
-        that appear so many directories down in a directory tree</li>
-      <li><a href="#differentselect"><code>&lt;different&gt;</code></a> - Select files
-        that are different from those elsewhere</li>
-      <li><a href="#filenameselect"><code>&lt;filename&gt;</code></a> - Select
-        files whose name matches a particular pattern. Equivalent to
-        the include and exclude elements of a patternset.</li>
-      <li><a href="#presentselect"><code>&lt;present&gt;</code></a> - Select
-        files that either do or do not exist in some other location</li>
-      <li><a href="#regexpselect"><code>&lt;containsregexp&gt;</code></a> - Select
-        files that match a regular expression</li>
-      <li><a href="#sizeselect"><code>&lt;size&gt;</code></a> - Select files
-        that are larger or smaller than a particular number of bytes.</li>
-      <li><a href="#typeselect"><code>&lt;type&gt;</code></a> - Select files
-        that are either regular files or directories.</li>
-      <li><a href="#modified"><code>&lt;modified&gt;</code></a> - Select files if
-        the return value of the configured algorithm is different from that
-        stored in a cache.</li>
-      <li><a href="#signedselector"><code>&lt;signedselector&gt;</code></a> - Select files if
-        they are signed, and optionally if they have a signature of a certain name.</li>
-      <li><a href="#scriptselector"><code>&lt;scriptselector&gt;</code></a> -
-        Use a BSF or JSR 223 scripting language to create
-        your own selector</li>
-      <li><a href="#readable"><code>&lt;readable&gt;</code></a> -
-        Select files if they are readable.</li>
-      <li><a href="#writable"><code>&lt;writable&gt;</code></a> -
-        Select files if they are writable.</li>
-      <li><a href="#executable"><code>&lt;executable&gt;</code></a> -
-        Select files if they are executable.</li>
-      <li><a href="#symlink"><code>&lt;symlink&gt;</code></a> -
-        Select files if they are symlink.</li>
-      <li><a href="#ownedBy"><code>&lt;ownedBy&gt;</code></a> -
-        Select files if they are owned by a given user.</li>
+      <li><a href="#containsselect"><code>&lt;contains&gt;</code></a>&mdash;Select files that
+        contain a particular text string</li>
+      <li><a href="#dateselect"><code>&lt;date&gt;</code></a>&mdash;Select files that have been
+        modified either before or after a particular date and time</li>
+      <li><a href="#dependselect"><code>&lt;depend&gt;</code></a>&mdash;Select files that have
+        been modified more recently than equivalent files elsewhere</li>
+      <li><a href="#depthselect"><code>&lt;depth&gt;</code></a>&mdash;Select files that appear
+        so many directories down in a directory tree</li>
+      <li><a href="#differentselect"><code>&lt;different&gt;</code></a>&mdash;Select files that
+        are different from those elsewhere</li>
+      <li><a href="#filenameselect"><code>&lt;filename&gt;</code></a>&mdash;Select files whose
+        name matches a particular pattern. Equivalent to the include and exclude elements of a
+        patternset.</li>
+      <li><a href="#presentselect"><code>&lt;present&gt;</code></a>&mdash;Select files that
+        either do or do not exist in some other location</li>
+      <li><a href="#regexpselect"><code>&lt;containsregexp&gt;</code></a>&mdash;Select files
+        that match a regular expression</li>
+      <li><a href="#sizeselect"><code>&lt;size&gt;</code></a>&mdash;Select files that are larger
+        or smaller than a particular number of bytes.</li>
+      <li><a href="#typeselect"><code>&lt;type&gt;</code></a>&mdash;Select files that are either
+        regular files or directories.</li>
+      <li><a href="#modified"><code>&lt;modified&gt;</code></a>&mdash;Select files if the return
+        value of the configured algorithm is different from that stored in a cache.</li>
+      <li><a href="#signedselector"><code>&lt;signedselector&gt;</code></a>&mdash;Select files
+        if they are signed, and optionally if they have a signature of a certain name.</li>
+      <li><a href="#scriptselector"><code>&lt;scriptselector&gt;</code></a>&mdash;Use a BSF or
+        JSR 223 scripting language to create your own selector</li>
+      <li><a href="#readable"><code>&lt;readable&gt;</code></a>&mdash;Select files if they are
+        readable.</li>
+      <li><a href="#writable"><code>&lt;writable&gt;</code></a>&mdash;Select files if they are
+        writable.</li>
+      <li><a href="#executable"><code>&lt;executable&gt;</code></a>&mdash;Select files if they
+        are executable.</li>
+      <li><a href="#symlink"><code>&lt;symlink&gt;</code></a>&mdash;Select files if they are
+        symlink.</li>
+      <li><a href="#ownedBy"><code>&lt;ownedBy&gt;</code></a>&mdash;Select files if they are
+        owned by a given user.</li>
     </ul>
 
     <h4 id="containsselect">Contains Selector</h4>
 
-    <p>The <code>&lt;contains&gt;</code> tag in a FileSet limits
-    the files defined by that fileset to only those which contain the
-    string specified by the <code>text</code> attribute.
-    .</p>
-    <p>The <code>&lt;contains&gt;</code> selector can be used as a
-      ResourceSelector (see the
-      <a href="resources.html#restrict">&lt;restrict&gt;</a>
-      ResourceCollection).</p>
+    <p>The <code>&lt;contains&gt;</code> tag in a FileSet limits the files defined by that
+    fileset to only those which contain the string specified by the <code>text</code>
+    attribute.</p>
+    <p>The <code>&lt;contains&gt;</code> selector can be used as a ResourceSelector (see
+    the <a href="resources.html#restrict">&lt;restrict&gt;</a> ResourceCollection).</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">text</td>
-        <td valign="top">Specifies the text that every file must contain
+        <td>text</td>
+        <td>Specifies the text that every file must contain
         </td>
-        <td valign="top" align="center">Yes</td>
+        <td>Yes</td>
       </tr>
       <tr>
-        <td valign="top">casesensitive</td>
-        <td valign="top">Whether to pay attention to case when looking
-          for the string in the <code>text</code> attribute. Default is
-          true.
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>casesensitive</td>
+        <td>Whether to pay attention to case when looking for the string in the <var>text</var>
+          attribute.</td>
+        <td>No; default is <q>true</q></td>
+      </tr>
+      <tr>
+        <td>ignorewhitespace</td>
+        <td>Whether to eliminate whitespace before checking for the string in
+          the <var>text</var> attribute.</td>
+        <td>No; default is <q>false</q></td>
       </tr>
       <tr>
-        <td valign="top">ignorewhitespace</td>
-        <td valign="top">Whether to eliminate whitespace before checking
-          for the string in the <code>text</code> attribute. Default is
-          false.
+        <td>encoding</td>
+        <td>Encoding of the resources being selected.
+          <em>Since Ant 1.9.0</em>
         </td>
-        <td valign="top" align="center">No</td>
-      </tr>
-        <tr>
-            <td valign="top">encoding</td>
-            <td valign="top">Encoding of the resources being selected.
-                Required in practice if the encoding of the files being
-                selected is different from the default encoding of the JVM
-                where Ant is running.
-                <em>Since Ant 1.9.0</em>
-            </td>
-            <td valign="top" align="center">No</td>
-        </tr>
+        <td>No; defaults to default JVM character encoding</td>
+      </tr>
     </table>
 
     <p>Here is an example of how to use the Contains Selector:</p>
@@ -154,79 +133,66 @@
     <pre>
 &lt;fileset dir=&quot;${doc.path}&quot; includes=&quot;**/*.html&quot;&gt;
     &lt;contains text=&quot;script&quot; casesensitive=&quot;no&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all the HTML files that contain the string
-    <code>script</code>.</p>
+    <p>Selects all the HTML files that contain the string <code>script</code>.</p>
 
     <h4 id="dateselect">Date Selector</h4>
 
-    <p>The <code>&lt;date&gt;</code> tag in a FileSet will put
-    a limit on the files specified by the include tag, so that tags
-    whose last modified date does not meet the date limits specified
-    by the selector will not end up being selected.</p>
+    <p>The <code>&lt;date&gt;</code> tag in a FileSet will put a limit on the files specified by
+    the include tag, so that tags whose last modified date does not meet the date limits
+    specified by the selector will not end up being selected.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">datetime</td>
-        <td valign="top">Specifies the date and time to test for.
-          Should be in the format "MM/dd/yyyy hh:mm a" using the US
-          locale, or an alternative pattern specified via
-          the <i>pattern</i> attribute.
+        <td>datetime</td>
+        <td>Specifies the date and time to test for.  Should be in the format <q>MM/dd/yyyy
+          hh:mm a</q> using the US locale, or an alternative pattern specified via
+          the <var>pattern</var> attribute.
         </td>
-        <td valign="top" align="center" rowspan="2">At least one of the two.</td>
+        <td rowspan="2">At least one of the two</td>
       </tr>
       <tr>
-        <td valign="top">millis</td>
-        <td valign="top">The number of milliseconds since 1970 that should
-          be tested for. It is usually much easier to use the datetime
-          attribute.
+        <td>millis</td>
+        <td class="left">The number of milliseconds since 1970 that should be tested for. It is
+          usually much easier to use the <var>datetime</var> attribute.
         </td>
       </tr>
       <tr>
-        <td valign="top">when</td>
-        <td valign="top">Indicates how to interpret the date, whether
-          the files to be selected are those whose last modified times should
-          be before, after, or equal to the specified value. Acceptable
-          values for this attribute are:
+        <td>when</td>
+        <td>Indicates how to interpret the date, whether the files to be selected are those
+          whose last modified times should be before, after, or equal to the specified
+          value. Acceptable values for this attribute are:
           <ul>
-            <li>before - select files whose last modified date is before the indicated date
-            <li>after - select files whose last modified date is after the indicated date
-            <li>equal - select files  whose last modified date is this exact date
-          </ul>
-          The default is equal.
-        <td valign="top" align="center">No</td>
+            <li><q>before</q>&mdash;select files whose last modified date is before the indicated date</li>
+            <li><q>after</q>&mdash;select files whose last modified date is after the indicated date</li>
+            <li><q>equal</q>&mdash;select files  whose last modified date is this exact date</li>
+          </ul></td>
+        <td>No; default is <q>equal</q></td>
       </tr>
       <tr>
-        <td valign="top">granularity</td>
-        <td valign="top">The number of milliseconds leeway to use when
-          comparing file modification times. This is needed because not every
-          file system supports tracking the last modified time to the
-          millisecond level. Default is 0 milliseconds, or 2 seconds on DOS systems.
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>granularity</td>
+        <td>The number of milliseconds leeway to use when comparing file modification
+          times. This is needed because not every file system supports tracking the last
+          modified time to the millisecond level.</td>
+        <td>No; default is 0 milliseconds, or 2 seconds on DOS systems</td>
       </tr>
       <tr>
-        <td valign="top">pattern</td>
-        <td valign="top">The <CODE>SimpleDateFormat</CODE>-compatible pattern
-          to use when interpreting the <i>datetime</i> attribute using
-          the current locale.
-          <em>Since Ant 1.6.2</em>
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>pattern</td>
+        <td>The <code>SimpleDateFormat</code>-compatible pattern to use when interpreting
+          the <var>datetime</var> attribute using the current locale.
+          <em>Since Ant 1.6.2</em></td>
+        <td>No</td>
       </tr>
       <tr>
-        <td valign="top">checkdirs</td>
-        <td valign="top">
-          Indicates whether or not to check dates on directories.
-        </td>
-        <td valign="top" align="center">No, defaults to <i>false</i></td>
+        <td>checkdirs</td>
+        <td>Indicates whether or not to check dates on directories.</td>
+        <td>No; defaults to <q>false</q></td>
       </tr>
     </table>
 
@@ -235,48 +201,41 @@
     <pre>
 &lt;fileset dir=&quot;${jar.path}&quot; includes=&quot;**/*.jar&quot;&gt;
     &lt;date datetime=&quot;01/01/2001 12:00 AM&quot; when=&quot;before&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all JAR files which were last modified before midnight
-    January 1, 2001.</p>
+    <p>Selects all JAR files which were last modified before midnight January 1, 2001.</p>
 
     <h4 id="dependselect">Depend Selector</h4>
 
-    <p>The <code>&lt;depend&gt;</code> tag selects files
-    whose last modified date is later than another, equivalent file in
-    another location.</p>
+    <p>The <code>&lt;depend&gt;</code> tag selects files whose last modified date is later than
+    another, equivalent file in another location.</p>
 
     <p>The <code>&lt;depend&gt;</code> tag supports the use of a
-    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element
-    to define the location of the file to be compared against. If no
-    <code>&lt;mapper&gt;</code> element is specified, the
-    <code>identity</code> type mapper is used.</p>
+    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element to define the
+    location of the file to be compared against. If no <code>&lt;mapper&gt;</code> element is
+    specified, the <code>identity</code> type mapper is used.</p>
 
     <p>The <code>&lt;depend&gt;</code> selector is case-sensitive.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">targetdir</td>
-        <td valign="top">The base directory to look for the files to compare
-          against. The precise location depends on a combination of this
-          attribute and the <code>&lt;mapper&gt;</code> element, if any.
-        </td>
-        <td valign="top" align="center">Yes</td>
+        <td>targetdir</td>
+        <td>The base directory to look for the files to compare against. The precise location
+          depends on a combination of this attribute and the <code>&lt;mapper&gt;</code>
+          element, if any.</td>
+        <td>Yes</td>
       </tr>
       <tr>
-        <td valign="top">granularity</td>
-        <td valign="top">The number of milliseconds leeway to give before
-          deciding a file is out of date. This is needed because not every
-          file system supports tracking the last modified time to the
-          millisecond level. Default is 0 milliseconds, or 2 seconds on DOS systems.
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>granularity</td>
+        <td>The number of milliseconds leeway to give before deciding a file is out of
+          date. This is needed because not every file system supports tracking the last modified
+          time to the millisecond level.</td>
+        <td>No; default is 0 milliseconds, or 2 seconds on DOS systems</td>
       </tr>
     </table>
 
@@ -285,40 +244,31 @@
     <pre>
 &lt;fileset dir=&quot;${ant.1.5}/src/main&quot; includes=&quot;**/*.java&quot;&gt;
     &lt;depend targetdir=&quot;${ant.1.4.1}/src/main&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all the Java source files which were modified in the
-      1.5 release.
-    </p>
+    <p>Selects all the Java source files which were modified in the 1.5 release.</p>
 
     <h4 id="depthselect">Depth Selector</h4>
 
-    <p>The <code>&lt;depth&gt;</code> tag selects files based on
-    how many directory levels deep they are in relation to the base
-    directory of the fileset.
-    </p>
+    <p>The <code>&lt;depth&gt;</code> tag selects files based on how many directory levels deep
+    they are in relation to the base directory of the fileset.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">min</td>
-        <td valign="top">The minimum number of directory levels below
-          the base directory that a file must be in order to be selected.
-          Default is no limit.
-        </td>
-        <td valign="top" align="center" rowspan="2">At least one of the two.</td>
+        <td>min</td>
+        <td>The minimum number of directory levels below the base directory that a file must be
+          in order to be selected.</td>
+        <td rowspan="2">At least one of the two; default is no limit</td>
       </tr>
       <tr>
-        <td valign="top">max</td>
-        <td valign="top">The maximum number of directory levels below
-          the base directory that a file can be and still be selected.
-          Default is no limit.
-        </td>
+        <td>max</td>
+        <td class="left">The maximum number of directory levels below the base directory that a
+          file can be and still be selected.</td>
       </tr>
     </table>
 
@@ -327,84 +277,71 @@
     <pre>
 &lt;fileset dir=&quot;${doc.path}&quot; includes=&quot;**/*&quot;&gt;
     &lt;depth max=&quot;1&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
     <p>Selects all files in the base directory and one directory below
     that.</p>
 
     <h4 id="differentselect">Different Selector</h4>
 
-    <p>The <code>&lt;different&gt;</code> selector will select a file
-    if it is deemed to be 'different' from an equivalent file in
-    another location. The rules for determining difference between
-    the two files are as follows:
+    <p>The <code>&lt;different&gt;</code> selector will select a file if it is deemed to be
+    'different' from an equivalent file in another location. The rules for determining
+    difference between the two files are as follows:<p>
     <ol>
-    <li>If a file is only present in the resource collection you apply
-      the selector to but not in targetdir (or after applying the
-      mapper) the file is selected.
-    <li>If a file is only present in targetdir (or after applying the
-      mapper) it is ignored.
-    <li>Files with different lengths are different.
-    <li>If <tt>ignoreFileTimes</tt> is turned off, then differing file
-    timestamps will cause files to be regarded as different.
-    <li>Unless <tt>ignoreContents</tt> is set to true,
-         a byte-for-byte check is run against the two files.
+    <li>If a file is only present in the resource collection you apply the selector to but not
+      in <var>targetdir</var> (or after applying the mapper) the file is selected.</li>
+    <li>If a file is only present in <var>targetdir</var> (or after applying the mapper) it is
+      ignored.</li>
+    <li>Files with different lengths are different.</li>
+    <li>If <var>ignoreFileTimes</var> is turned <q>off</q>, then differing file timestamps will
+      cause files to be regarded as different.</li>
+    <li>Unless <var>ignoreContents</var> is set to <q>true</q>, a byte-for-byte check is run
+      against the two files.</li>
     </ol>
+    <p>This is a useful selector to work with programs and tasks that don't handle dependency
+    checking properly; even if a predecessor task always creates its output files, followup
+    tasks can be driven off copies made with a different selector, so their dependencies are
+    driven on the absolute state of the files, not just a timestamp. For example: anything
+    fetched from a web site, or the output of some program. To reduce the amount of checking,
+    when using this task inside a <code>&lt;copy&gt;</code> task,
+    set <var>preservelastmodified</var> to <q>true</q> to propagate the timestamp from the
+    source file to the destination file.</p>
 
-    This is a useful selector to work with programs and tasks that don't handle
-    dependency checking properly; even if a predecessor task always creates its
-    output files, followup tasks can be driven off copies made with a different
-    selector, so their dependencies are driven on the absolute state of the
-    files, not just a timestamp. For example: anything fetched from a web site,
-    or the output of some program. To reduce the amount of checking, when using
-    this task inside a <code>&lt;copy&gt;</code> task, set
-    <tt>preservelastmodified</tt> to <i>true</i> to propagate the timestamp
-    from the source file to the destination file.<p>
-
-    The <code>&lt;different&gt;</code> selector supports the use of a
-    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element
-    to define the location of the file to be compared against. If no
-    <code>&lt;mapper&gt;</code> element is specified, the
-    <code>identity</code> type mapper is used.</p>
+    <p>The <code>&lt;different&gt;</code> selector supports the use of a
+    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element to define the
+    location of the file to be compared against. If no <code>&lt;mapper&gt;</code> element is
+    specified, the <code>identity</code> type mapper is used.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">targetdir</td>
-        <td valign="top">The base directory to look for the files to compare
-          against. The precise location depends on a combination of this
-          attribute and the <code>&lt;mapper&gt;</code> element, if any.
-        </td>
-        <td valign="top" align="center">Yes</td>
+        <td>targetdir</td>
+        <td>The base directory to look for the files to compare against. The precise location
+          depends on a combination of this attribute and the <code>&lt;mapper&gt;</code>
+          element, if any.</td>
+        <td>Yes</td>
       </tr>
       <tr>
-        <td valign="top">ignoreFileTimes</td>
-        <td valign="top">Whether to use file times in the comparison or not.
-          Default is true (time differences are ignored).
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>ignoreFileTimes</td>
+        <td>Whether to use file times in the comparison or not.</td>
+        <td>No; default is <q>true</q> (time differences are ignored)</td>
       </tr>
       <tr>
-        <td valign="top">ignoreContents</td>
-        <td valign="top">Whether to do a byte per byte compare.
-          Default is false (contents are compared).
-            <em>Since Ant 1.6.3</em>
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>ignoreContents</td>
+        <td>Whether to do a byte per byte compare.
+          <em>Since Ant 1.6.3</em></td>
+        <td>No; default is <q>false</q> (contents are compared)</td>
       </tr>
       <tr>
-        <td valign="top">granularity</td>
-        <td valign="top">The number of milliseconds leeway to give before
-          deciding a file is out of date. This is needed because not every
-          file system supports tracking the last modified time to the
-          millisecond level. Default is 0 milliseconds, or 2 seconds on DOS systems.
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>granularity</td>
+        <td>The number of milliseconds leeway to give before deciding a file is out of
+          date. This is needed because not every file system supports tracking the last modified
+          time to the millisecond level.</td>
+        <td>No; default is 0 milliseconds, or 2 seconds on DOS systems</td>
       </tr>
     </table>
 
@@ -414,57 +351,46 @@
 &lt;fileset dir=&quot;${ant.1.5}/src/main&quot; includes=&quot;**/*.java&quot;&gt;
     &lt;different targetdir=&quot;${ant.1.4.1}/src/main&quot;
         ignoreFileTimes="true"/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Compares all the Java source files between the 1.4.1 and the 1.5 release
-    and selects those who are different, disregarding file times.
-    </p>
+    <p>Compares all the Java source files between the 1.4.1 and the 1.5 release and selects
+    those who are different, disregarding file times.</p>
 
     <h4 id="filenameselect">Filename Selector</h4>
 
-    <p>The <code>&lt;filename&gt;</code> tag acts like the
-    <code>&lt;include&gt;</code> and <code>&lt;exclude&gt;</code>
-    tags within a fileset. By using a selector instead, however,
-    one can combine it with all the other selectors using whatever
-    <a href="#selectcontainers">selector container</a> is desired.
-    </p>
+    <p>The <code>&lt;filename&gt;</code> tag acts like the <code>&lt;include&gt;</code>
+    and <code>&lt;exclude&gt;</code> tags within a fileset. By using a selector instead,
+    however, one can combine it with all the other selectors using
+    whatever <a href="#selectcontainers">selector container</a> is desired.</p>
 
-    <p>The <code>&lt;filename&gt;</code> selector is
-    case-sensitive.</p>
+    <p>The <code>&lt;filename&gt;</code> selector is case-sensitive.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">name</td>
-        <td valign="top">The name of files to select. The name parameter
-          can contain the standard Ant wildcard characters.
-        </td>
-        <td valign="top" align="center" rowspan="2">Exactly one of
-          the two</td>
+        <td>name</td>
+        <td>The name of files to select. The name parameter can contain the standard Ant
+          wildcard characters.</td>
+        <td rowspan="2">Exactly one of the two</td>
       </tr>
       <tr>
-        <td valign="top">regex</td>
-        <td valign="top">The regular expression matching files to select.</td>
+        <td>regex</td>
+        <td class="left">The regular expression matching files to select.</td>
       </tr>
       <tr>
-        <td valign="top">casesensitive</td>
-        <td valign="top">Whether to pay attention to case when looking
-          at file names. Default is "true".
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>casesensitive</td>
+        <td>Whether to pay attention to case when looking at file names.</td>
+        <td>No; default is <q>true</q></td>
       </tr>
       <tr>
-        <td valign="top">negate</td>
-        <td valign="top">Whether to reverse the effects of this filename
-          selection, therefore emulating an exclude rather than include
-          tag. Default is "false".
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>negate</td>
+        <td>Whether to reverse the effects of this filename selection, therefore emulating an
+          <code>exclude</code> rather than <code>include</code> tag.</td>
+        <td>No; default is <q>false</q></td>
       </tr>
     </table>
 
@@ -473,54 +399,48 @@
     <pre>
 &lt;fileset dir=&quot;${doc.path}&quot; includes=&quot;**/*&quot;&gt;
     &lt;filename name=&quot;**/*.css&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
     <p>Selects all the cascading style sheet files.</p>
 
     <h4 id="presentselect">Present Selector</h4>
 
-    <p>The <code>&lt;present&gt;</code> tag selects files
-    that have an equivalent file in another directory tree.</p>
+    <p>The <code>&lt;present&gt;</code> tag selects files that have an equivalent file in
+    another directory tree.</p>
 
     <p>The <code>&lt;present&gt;</code> tag supports the use of a
-    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element
-    to define the location of the file to be tested against. If no
-    <code>&lt;mapper&gt;</code> element is specified, the
-    <code>identity</code> type mapper is used.</p>
+    contained <a href="mapper.html"><code>&lt;mapper&gt;</code></a> element to define the
+    location of the file to be tested against. If no <code>&lt;mapper&gt;</code> element is
+    specified, the <code>identity</code> type mapper is used.</p>
 
     <p>The <code>&lt;present&gt;</code> selector is case-sensitive.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">targetdir</td>
-        <td valign="top">The base directory to look for the files to compare
-          against. The precise location depends on a combination of this
-          attribute and the <code>&lt;mapper&gt;</code> element, if any.
-        </td>
-        <td valign="top" align="center">Yes</td>
+        <td>targetdir</td>
+        <td>The base directory to look for the files to compare against. The precise location
+          depends on a combination of this attribute and the <code>&lt;mapper&gt;</code>
+          element, if any.</td>
+        <td>Yes</td>
       </tr>
       <tr>
-        <td valign="top">present</td>
-        <td valign="top">Whether we are requiring that a file is present in
-          the src directory tree only, or in both the src and the target
-          directory tree. Valid values are:
+        <td>present</td>
+        <td>Whether we are requiring that a file is present in the source directory tree only,
+          or in both the source and the target directory tree. Valid values are:
           <ul>
-            <li>srconly - select files only if they are in the src
-              directory tree but not in the target directory tree
-            <li>both - select files only if they are present both in the
-              src and target directory trees
+            <li><q>srconly</q>&mdash;select files only if they are in the source directory tree
+              but not in the target directory tree</li>
+            <li><q>both</q >-- select files only if they are present both in the source and
+              target directory trees</li>
           </ul>
-          Default is both. Setting this attribute to &quot;srconly&quot;
-          is equivalent to wrapping the selector in the <code>&lt;not&gt;</code>
-          selector container.
-        </td>
-        <td valign="top" align="center">No</td>
+          Setting this attribute to <q>srconly</q> is equivalent to wrapping the selector in
+          the <code>&lt;not&gt;</code> selector container.</td>
+        <td>No; default is <q>both</q></td>
       </tr>
     </table>
 
@@ -529,57 +449,46 @@
     <pre>
 &lt;fileset dir=&quot;${ant.1.5}/src/main&quot; includes=&quot;**/*.java&quot;&gt;
     &lt;present present=&quot;srconly&quot; targetdir=&quot;${ant.1.4.1}/src/main&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all the Java source files which are new in the
-      1.5 release.
-    </p>
+    <p>Selects all the Java source files which are new in the 1.5 release.</p>
 
     <h4 id="regexpselect">Regular Expression Selector</h4>
 
-    <p>The <code>&lt;containsregexp&gt;</code> tag in a FileSet limits
-    the files defined by that fileset to only those which contents contain a
-    match to the regular expression specified by the <code>expression</code> attribute.
-    </p>
-    <p>The <code>&lt;containsregexp&gt;</code> selector can be used as a
-      ResourceSelector (see the
-      <a href="resources.html#restrict">&lt;restrict&gt;</a>
-      ResourceCollection).</p>
+    <p>The <code>&lt;containsregexp&gt;</code> tag in a FileSet limits the files defined by that
+    fileset to only those which contents contain a match to the regular expression specified by
+    the <code>expression</code> attribute.</p>
 
-    <table>
+    <p>The <code>&lt;containsregexp&gt;</code> selector can be used as a ResourceSelector (see
+    the <a href="resources.html#restrict">&lt;restrict&gt;</a> ResourceCollection).</p>
+
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">expression</td>
-        <td valign="top">Specifies the regular expression that must
-        match true in every file</td>
-        <td valign="top" align="center">Yes</td>
+        <td>expression</td>
+        <td>Specifies the regular expression that must match true in every file</td>
+        <td>Yes</td>
       </tr>
       <tr>
-        <td valign="top">casesensitive</td>
-        <td valign="top">Perform a case sensitive match.  Default is
-          true. <em>Since Ant 1.8.2</em></td>
-        <td valign="top" align="center">No</td>
+        <td>casesensitive</td>
+        <td>Perform a case sensitive match. <em>Since Ant 1.8.2</em></td>
+        <td>No; default is <q>true</q></td>
       </tr>
       <tr>
-        <td valign="top">multiline</td>
-        <td valign="top">
-          Perform a multi line match.
-          Default is false. <em>Since Ant 1.8.2</em></td>
-        <td valign="top" align="center">No</td>
+        <td>multiline</td>
+        <td>Perform a multi line match. <em>Since Ant 1.8.2</em></td>
+        <td>No; default is <q>false</q></td>
       </tr>
       <tr>
-        <td valign="top">singleline</td>
-        <td valign="top">
-          This allows '.' to match new lines.
-          SingleLine is not to be confused with multiline, SingleLine is a perl
-          regex term, it corresponds to dotall in java regex.
-          Default is false. <em>Since Ant 1.8.2</em></td>
-        <td valign="top" align="center">No</td>
+        <td>singleline</td>
+        <td>This allows <q>.</q> to match new lines.  SingleLine is not to be confused with
+          multiline, SingleLine is a perl regex term, it corresponds to dotall in Java regex.
+          <em>Since Ant 1.8.2</em></td>
+        <td>No; default is <q>false</q></td>
       </tr>
     </table>
 
@@ -588,56 +497,48 @@
     <pre>
 &lt;fileset dir=&quot;${doc.path}&quot; includes=&quot;*.txt&quot;&gt;
     &lt;containsregexp expression=&quot;[4-6]\.[0-9]&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all the text files that match the regular expression
-    (have a 4,5 or 6 followed by a period and a number from 0 to 9).
+    <p>Selects all the text files that match the regular expression (have a 4, 5 or 6 followed
+    by a period and a number from 0 to 9).
 
     <h4 id="sizeselect">Size Selector</h4>
 
-    <p>The <code>&lt;size&gt;</code> tag in a FileSet will put
-    a limit on the files specified by the include tag, so that tags
-    which do not meet the size limits specified by the selector will not
-    end up being selected.</p>
+    <p>The <code>&lt;size&gt;</code> tag in a FileSet will put a limit on the files specified by
+    the include tag, so that tags which do not meet the size limits specified by the selector
+    will not end up being selected.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">value</td>
-        <td valign="top">The size of the file which should be tested for.
-        </td>
-        <td valign="top" align="center">Yes</td>
-      </tr>
-      <tr>
-        <td valign="top">units</td>
-        <td valign="top">The units that the <code>value</code> attribute
-          is expressed in. When using the standard single letter SI
-          designations, such as &quot;k&quot;,&quot;M&quot;, or
-          &quot;G&quot;, multiples of 1000 are used. If you want to use
-          power of 2 units, use the IEC standard: &quot;Ki&quot; for 1024,
-          &quot;Mi&quot; for 1048576, and so on. The default is no units,
-          which means the <code>value</code> attribute expresses the exact
-          number of bytes.
+        <td>value</td>
+        <td>The size of the file which should be tested for.
         </td>
-        <td valign="top" align="center">No</td>
+        <td>Yes</td>
+      </tr>
+      <tr>
+        <td>units</td>
+        <td>The units that the <code>value</code> attribute is expressed in. When using the
+        standard single letter SI designations, such as <q>k</q>, <q>M</q>, or <q>G</q>,
+        multiples of 1000 are used. If you want to use power of 2 units, use the IEC
+        standard: <q>Ki</q> for 1024, <q>Mi</q> for 1048576, and so on. The default is no units,
+        which means the <var>value</var> attribute expresses the exact number of bytes.</td>
+        <td>No</td>
       </tr>
       <tr>
-        <td valign="top">when</td>
-        <td valign="top">Indicates how to interpret the size, whether
-          the files to be selected should be larger, smaller, or equal to
-          that value. Acceptable values for this attribute are:
+        <td>when</td>
+        <td>Indicates how to interpret the size, whether the files to be selected should be
+          larger, smaller, or equal to that value. Acceptable values for this attribute are:
           <ul>
-            <li>less - select files less than the indicated size
-            <li>more - select files greater than the indicated size
-            <li>equal - select files this exact size
-          </ul>
-          The default is equal.
-        <td valign="top" align="center">No</td>
+            <li><q>less</q>&mdash;select files less than the indicated size</li>
+            <li><q>more</q>&mdash;select files greater than the indicated size</li>
+            <li><q>equal</q>&mdash;select files this exact size</li>
+          </ul></td>
+        <td>No; default is <q>equal</q></td>
       </tr>
     </table>
 
@@ -649,606 +550,549 @@
     &lt;include name=&quot;**/*.jar&quot;/&gt;
   &lt;/patternset&gt;
   &lt;size value=&quot;4&quot; units=&quot;Ki&quot; when=&quot;more&quot;/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
     <p>Selects all JAR files that are larger than 4096 bytes.</p>
 
     <h4 id="typeselect">Type Selector</h4>
 
-    <p>The <code>&lt;type&gt;</code> tag selects files of a certain type:
-    directory or regular.</p>
+    <p>The <code>&lt;type&gt;</code> tag selects files of a certain type: directory or
+    regular.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">type</td>
-        <td valign="top">The type of file which should be tested for.
-            Acceptable values are:
-            <ul>
-                <li>file - regular files</li>
-                <li>dir - directories</li>
-            </ul>
-        </td>
-        <td valign="top" align="center">Yes</td>
+        <td>type</td>
+        <td>The type of file which should be tested for.  Acceptable values are:
+          <ul>
+            <li><q>file</q>&mdash;regular files</li>
+            <li><q>dir</q>&mdash;directories</li>
+          </ul></td>
+        <td>Yes</td>
       </tr>
     </table>
 
-    <p>Here is an example of how to use the Type Selector to select only
-    directories in <code>${src}</code></p>
+    <p>Here is an example of how to use the Type Selector to select only directories
+    in <code>${src}</code></p>
 
     <pre>
 &lt;fileset dir=&quot;${src}&quot;&gt;
   &lt;type type="dir"/&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>The Type Selector is often used in conjunction with other selectors.
-    For example, to select files that also exist in a <code>template</code>
-    directory, but avoid selecting empty directories, use:
+    <p>The Type Selector is often used in conjunction with other selectors.  For example, to
+    select files that also exist in a <samp>template</samp> directory, but avoid selecting empty
+    directories, use:</p>
 
-<pre>
+    <pre>
 &lt;fileset dir="${src}"&gt;
     &lt;and&gt;
         &lt;present targetdir="template"/&gt;
         &lt;type type="file"/&gt;
     &lt;/and&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
     <h4 id="modified">Modified Selector</h4>
-    <p>The <code>&lt;modified&gt;</code> selector computes a value for a file, compares that
-    to the value stored in a cache and select the file, if these two values
-    differ.</p>
+    <p>The <code>&lt;modified&gt;</code> selector computes a value for a file, compares that to
+    the value stored in a cache and select the file, if these two values differ.</p>
     <p>Because this selector is highly configurable the order in which the selection is done
-    is: <ol>
-        <li>get the absolute path for the file</li>
-        <li>get the cached value from the configured cache (absolute path as key)</li>
-        <li>get the new value from the configured algorithm</li>
-        <li>compare these two values with the configured comparator</li>
-        <li>update the cache if needed and requested</li>
-        <li>do the selection according to the comparison result</li>
-        </ol>
-    <p>The comparison, computing of the hashvalue and the store is done by implementation
-    of special interfaces. Therefore they may provide additional parameters.</p>
-
-    <p>The <code>&lt;modified&gt;</code> selector can be used as a
-      ResourceSelector (see the
-      <a href="resources.html#restrict">&lt;restrict&gt;</a>
-      ResourceCollection).
-    In that case it maps simple file resources to files and does its job. If the
-    resource is from another type, the <code>&lt;modified&gt;</code> selector tries
-    to (<b>attention!</b>) copy the content into a local file for computing the
+    is:</p>
+    <ol>
+      <li>get the absolute path for the file</li>
+      <li>get the cached value from the configured cache (absolute path as key)</li>
+      <li>get the new value from the configured algorithm</li>
+      <li>compare these two values with the configured comparator</li>
+      <li>update the cache if needed and requested</li>
+      <li>do the selection according to the comparison result</li>
+    </ol>
+    <p>The comparison, computing of the hashvalue and the store is done by implementation of
+    special interfaces. Therefore they may provide additional parameters.</p>
+
+    <p>The <code>&lt;modified&gt;</code> selector can be used as a ResourceSelector (see
+    the <a href="resources.html#restrict">&lt;restrict&gt;</a> ResourceCollection).  In that
+    case it maps simple file resources to files and does its job. If the resource is from
+    another type, the <code>&lt;modified&gt;</code> selector tries to
+    (<strong>attention!</strong>) copy the content into a local file for computing the
     hashvalue.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">algorithm</td>
-        <td valign="top">The type of algorithm should be used.
-            Acceptable values are (further information see later):
-            <ul>
-                <li>hashvalue - HashvalueAlgorithm</li>
-                <li>digest - DigestAlgorithm</li>
-                <li>checksum - ChecksumAlgorithm</li>
-            </ul>
+        <td>algorithm</td>
+        <td>The type of algorithm should be used.  Acceptable values are (further information
+          see later):
+          <ul>
+            <li><q>hashvalue</q>&mdash;HashvalueAlgorithm</li>
+            <li><q>digest</q>&mdash;DigestAlgorithm</li>
+            <li><q>checksum</q>&mdash;ChecksumAlgorithm</li>
+          </ul>
         </td>
-        <td valign="top" align="center">No, defaults to <i>digest</i></td>
+        <td>No; defaults to <q>digest</q></td>
       </tr>
       <tr>
-        <td valign="top">cache</td>
-        <td valign="top">The type of cache should be used.
-            Acceptable values are (further information see later):
-            <ul>
-                <li>propertyfile - PropertyfileCache</li>
-            </ul>
+        <td>cache</td>
+        <td>The type of cache should be used.  Acceptable values are (further information see
+          later):
+          <ul>
+            <li><q>propertyfile</q>&mdash;PropertyfileCache</li>
+          </ul>
         </td>
-        <td valign="top" align="center">No, defaults to <i>propertyfile</i></td>
-      </tr>
-      <tr>
-        <td valign="top">comparator</td>
-        <td valign="top">The type of comparator should be used.
-            Acceptable values are (further information see later):
-            <ul>
-                <li>equal - EqualComparator</li>
-                <li>rule - java.text.RuleBasedCollator
-                  <!-- NOTE -->
-                  <i>(see <a href="#ModSelNote">note</a> for restrictions)</i></li>
-            </ul>
+        <td>No; defaults to <q>propertyfile</q></td>
+      </tr>
+      <tr>
+        <td>comparator</td>
+        <td>The type of comparator should be used.  Acceptable values are:
+          <ul>
+            <li><q>equal</q>&mdash;EqualComparator</li>
+            <li><q>rule</q>&mdash;java.text.RuleBasedCollator
+              <!-- NOTE -->
+              <em>(see <a href="#ModSelNote">note</a> for restrictions)</em></li>
+          </ul>
         </td>
-        <td valign="top" align="center">No, defaults to <i>equal</i></td>
+        <td>No; defaults to <q>equal</q></td>
       </tr>
       <tr>
-        <td valign="top">algorithmclass</td>
-        <td valign="top">Classname of custom algorithm implementation. Lower
-          priority than <i>algorithm</i>.</td>
-        <td valign="top" align="center">No</td>
+        <td>algorithmclass</td>
+        <td>Classname of custom algorithm implementation. Lower priority
+          than <var>algorithm</var>.</td>
+        <td>No</td>
       </tr>
       <tr>
-        <td valign="top">cacheclass</td>
-        <td valign="top">Classname of custom cache implementation. Lower
-          priority than <i>cache</i>.</td>
-        <td valign="top" align="center"> No</td>
+        <td>cacheclass</td>
+        <td>Classname of custom cache implementation. Lower priority than <var>cache</var>.</td>
+        <td>No</td>
       </tr>
       <tr>
-        <td valign="top">comparatorclass</td>
-        <td valign="top">Classname of custom comparator implementation. Lower
-          priority than <i>comparator</i>.</td>
-        <td valign="top" align="center"> No</td>
+        <td>comparatorclass</td>
+        <td>Classname of custom comparator implementation. Lower priority
+          than <var>comparator</var>.</td>
+        <td>No</td>
       </tr>
       <tr>
-        <td valign="top">update</td>
-        <td valign="top">Should the cache be updated when values differ? (boolean)</td>
-        <td valign="top" align="center"> No, defaults to <i>true</i></td>
+        <td>update</td>
+        <td>Should the cache be updated when values differ? (boolean)</td>
+        <td>No; defaults to <q>true</q></td>
       </tr>
       <tr>
-        <td valign="top">seldirs</td>
-        <td valign="top">Should directories be selected? (boolean)</td>
-        <td valign="top" align="center"> No, defaults to <i>true</i></td>
+        <td>seldirs</td>
+        <td>Should directories be selected? (boolean)</td>
+        <td>No; defaults to <q>true</q></td>
       </tr>
       <tr>
-        <td valign="top">selres</td>
-        <td valign="top">Should Resources without an InputStream, and
-           therefore without checking, be selected?  (boolean)</td>
-        <td valign="top" align="center"> No, defaults to <i>true</i>. Only relevant
-           when used as ResourceSelector.</td>
+        <td>selres</td>
+        <td>Should Resources without an InputStream, and therefore without checking, be
+           selected?  (boolean)</td>
+        <td>No; defaults to <q>true</q>. Only relevant when used as ResourceSelector.</td>
       </tr>
       <tr>
-        <td valign="top">delayupdate</td>
-        <td valign="top">If set to <i>true</i>, the storage of the cache will be delayed until the
-             next finished BuildEvent; task finished, target finished or build finished,
-             whichever comes first.  This is provided for increased performance.  If set
-             to <i>false</i>, the storage of the cache will happen with each change.  This
-             attribute depends upon the <i>update</i> attribute. (boolean)</td>
-        <td valign="top" align="center"> No, defaults to <i>true</i></td>
+        <td>delayupdate</td>
+        <td>If set to <q>true</q>, the storage of the cache will be delayed until the next
+          finished BuildEvent; task finished, target finished or build finished, whichever comes
+          first.  This is provided for increased performance.  If set to <q>false</q>, the
+          storage of the cache will happen with each change.  This attribute depends upon
+          the <var>update</var> attribute. (boolean)</td>
+        <td>No; defaults to <q>true</q></td>
       </tr>
     </table>
 
     <h5>Parameters specified as nested elements</h5>
 
-    <p>The <code>&lt;modified&gt;</code> selector supports a nested
-    <code>&lt;classpath&gt;</code> element that represents a <a href="../using.html#path">
-    PATH like structure</a> for finding custom interface implementations.</p>
+    <p>The <code>&lt;modified&gt;</code> selector supports a
+    nested <code>&lt;classpath&gt;</code> element that represents
+    a <a href="../using.html#path">path-like structure</a> for finding custom interface
+    implementations.</p>
 
     <p>All attributes of a <code>&lt;modified&gt;</code> selector an be set with
     nested <code>&lt;param/&gt;</code> tags. Additional values can be set
     with <code>&lt;param/&gt;</code> tags according to the rules below.</p>
 
     <h6>algorithm</h6>
-    Same as algorithm attribute, with the following additional values:
+    <p>Same as <var>algorithm</var> attribute, with the following additional values:</p>
     <table>
      <tr>
-        <td valign="top"><b>Name</b></td>
-        <td valign="top"><b>Description</b></td>
+        <th>Name</th>
+        <th>Description</th>
       </tr>
       <tr>
-        <td valign="top">hashvalue</td>
-        <td valign="top">Reads the content of a file into a java.lang.String
-          and use that hashValue(). No additional configuration required.</td>
-      </tr>
-      <tr>
-        <td valign="top">digest</td>
-        <td valign="top">Uses java.security.MessageDigest. This Algorithm supports
-          the following attributes:
-          <ul>
-            <li><i>algorithm.algorithm</i> (optional): Name of the Digest algorithm
-                (e.g. 'MD5' or 'SHA', default = <i>MD5</i>)</li>
-            <li><i>algorithm.provider</i> (optional): Name of the Digest provider
-                (default = <i>null</i>)</li>
-          </ul>
-        </td>
+        <td>hashvalue</td>
+        <td>Reads the content of a file into a <code>java.lang.String</code> and uses
+          that <code>hashValue()</code>. No additional configuration required.</td>
       </tr>
       <tr>
-        <td valign="top">checksum</td>
-        <td valign="top">Uses java.util.zip.Checksum. This Algorithm supports
-          the following attributes:
+        <td>digest</td>
+        <td>Uses <code>java.security.MessageDigest</code>. This Algorithm supports the following
+          attributes:
           <ul>
-            <li><i>algorithm.algorithm</i> (optional): Name of the algorithm
-                (e.g. 'CRC' or 'ADLER', default = <i>CRC</i>)</li>
+            <li><var>algorithm.algorithm</var> (optional): Name of the Digest algorithm
+              (e.g. <q>MD5</q> or <q>SHA</q>); default is <q>MD5</q></li>
+            <li><var>algorithm.provider</var> (optional): Name of the Digest provider; default
+              is <q>null</q></li>
           </ul>
         </td>
       </tr>
+     <tr>
+       <td>checksum</td>
+       <td>Uses <code>java.util.zip.Checksum</code>. This Algorithm supports the following
+         attributes:
+         <ul>
+           <li><var>algorithm.algorithm</var> (optional): Name of the algorithm (e.g. <q>CRC</q>
+             or <q>ADLER</q>); default is <q>CRC</q>)</li>
+         </ul>
+       </td>
+     </tr>
     </table>
     <h6>cache</h6>
-    Same as cache attribute, with the following additional values:
+    <p>Same as <var>cache</var> attribute, with the following additional values:</p>
     <table>
      <tr>
-        <td valign="top"><b>Name</b></td>
-        <td valign="top"><b>Description</b></td>
-      </tr>
-      <tr>
-        <td valign="top">propertyfile</td>
-        <td valign="top">Use the java.util.Properties class and its possibility
-          to load and store to file.
-          This Cache implementation supports the following attributes:
-          <ul>
-            <li><i>cache.cachefile</i> (optional): Name of the properties-file
-                (default = <i>cache.properties</i>)</li>
-          </ul>
-        </td>
-      </tr>
+       <th>Name</th>
+       <th>Description</th>
+     </tr>
+     <tr>
+       <td>propertyfile</td>
+       <td>Use the <code>java.util.Properties</code> class and its possibility to load and store
+         to file.  This Cache implementation supports the following attributes:
+         <ul>
+           <li><var>cache.cachefile</var> (optional): Name of the properties file; default
+             is <q>cache.properties</q></li>
+         </ul>
+       </td>
+     </tr>
     </table>
     <h6>comparator</h6>
-    Same as comparator attribute.
+    <p>Same as <var>comparator</var> attribute.</p>
     <h6>algorithmclass</h6>
-    Same as algorithmclass attribute.
+    <p>Same as <var>algorithmclass</var> attribute.</p>
     <h6>comparatorclass</h6>
-    Same as comparatorclass attribute.
+    <p>Same as <var>comparatorclass</var> attribute.</p>
     <h6>cacheclass</h6>
-    Same as cacheclass attribute.
+    <p>Same as <var>cacheclass</var> attribute.</p>
     <h6>update</h6>
-    Same as update attribute.
+    <p>Same as <var>update</var> attribute.</p>
     <h6>seldirs</h6>
-    Same as comparatorclass attribute.
+    <p>Same as <var>comparatorclass</var> attribute.</p>
 
     <h5>Examples</h5>
     <p>Here are some examples of how to use the Modified Selector:</p>
 
     <pre>
-    &lt;copy todir="dest"&gt;
-        &lt;fileset dir="src"&gt;
-            &lt;modified/&gt;
-        &lt;/fileset&gt;
-    &lt;/copy&gt;
-    </pre>
-    <p>This will copy all files from <i>src</i> to <i>dest</i> which content has changed.
-    Using an updating PropertyfileCache with cache.properties and
+&lt;copy todir="dest"&gt;
+    &lt;fileset dir="src"&gt;
+        &lt;modified/&gt;
+    &lt;/fileset&gt;
+&lt;/copy&gt;</pre>
+
+    <p>This will copy all files from <samp>src</samp> to <samp>dest</samp> which content has
+    changed.  Using an updating PropertyfileCache with <samp>cache.properties</samp> and
     MD5-DigestAlgorithm.</p>
 
     <pre>
-    &lt;copy todir="dest"&gt;
-        &lt;fileset dir="src"&gt;
-            &lt;modified update="true"
-                      seldirs="true"
-                      cache="propertyfile"
-                      algorithm="digest"
-                      comparator="equal"&gt;
-                &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
-                &lt;param name="algorithm.algorithm" value="MD5"/&gt;
-            &lt;/modified&gt;
-        &lt;/fileset&gt;
-    &lt;/copy&gt;
-    </pre>
-  <p>This is the same example rewritten as CoreSelector with setting the all the values
-  (same as defaults are).</p>
+&lt;copy todir="dest"&gt;
+    &lt;fileset dir="src"&gt;
+        &lt;modified update="true"
+                  seldirs="true"
+                  cache="propertyfile"
+                  algorithm="digest"
+                  comparator="equal"&gt;
+            &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
+            &lt;param name="algorithm.algorithm" value="MD5"/&gt;
+        &lt;/modified&gt;
+    &lt;/fileset&gt;
+&lt;/copy&gt;</pre>
+
+    <p>This is the same example rewritten as CoreSelector with setting the all the values (same
+    as defaults are).</p>
+
+    <pre>
+&lt;copy todir="dest"&gt;
+    &lt;fileset dir="src"&gt;
+        &lt;custom class="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"&gt;
+            &lt;param name="update"     value="true"/&gt;
+            &lt;param name="seldirs"    value="true"/&gt;
+            &lt;param name="cache"      value="propertyfile"/&gt;
+            &lt;param name="algorithm"  value="digest"/&gt;
+            &lt;param name="comparator" value="equal"/&gt;
+            &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
+            &lt;param name="algorithm.algorithm" value="MD5"/&gt;
+        &lt;/custom&gt;
+    &lt;/fileset&gt;
+&lt;/copy&gt;</pre>
+
+    <p>And this is the same rewritten as CustomSelector.</p>
 
     <pre>
-    &lt;copy todir="dest"&gt;
-        &lt;fileset dir="src"&gt;
-            &lt;custom class="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"&gt;
-                &lt;param name="update"     value="true"/&gt;
-                &lt;param name="seldirs"    value="true"/&gt;
-                &lt;param name="cache"      value="propertyfile"/&gt;
-                &lt;param name="algorithm"  value="digest"/&gt;
-                &lt;param name="comparator" value="equal"/&gt;
-                &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
-                &lt;param name="algorithm.algorithm" value="MD5"/&gt;
-            &lt;/custom&gt;
+&lt;target name="generate-and-upload-site"&gt;
+    &lt;echo&gt; generate the site using forrest &lt;/echo&gt;
+    &lt;antcall target="site"/&gt;
+
+    &lt;echo&gt; upload the changed file &lt;/echo&gt;
+    &lt;ftp server="${ftp.server}" userid="${ftp.user}" password="${ftp.pwd}"&gt;
+        &lt;fileset dir="htdocs/manual"&gt;
+            &lt;modified/&gt;
         &lt;/fileset&gt;
-    &lt;/copy&gt;
-    </pre>
-  <p>And this is the same rewritten as CustomSelector.</p>
+    &lt;/ftp&gt;
+&lt;/target&gt;</pre>
+
+    <p>A useful scenario for this selector inside a build environment for homepage generation
+    (e.g. with <a href="https://forrest.apache.org/">Apache Forrest</a>). Here
+    all <strong>changed</strong> files are uploaded to the server. The CacheSelector saves
+    therefore much upload time.</p>
+
+    <pre>
+&lt;modified cacheclassname="com.mycompany.MyCache"&gt;
+    &lt;classpath&gt;
+        &lt;pathelement location="lib/mycompany-antutil.jar"/&gt;
+    &lt;/classpath&gt;
+&lt;/modified&gt;</pre>
+
+    <p>Uses <code>com.mycompany.MyCache</code> from a jar outside of Ant's own classpath as
+    cache implementation</p>
+
+    <h4 id="ModSelNote">Note on RuleBasedCollator</h4>
+    <p>The RuleBasedCollator needs a format for its work, but its needed while
+    instantiation. There is a problem in the initialization algorithm for this case. Therefore
+    you should not use this (or tell me the workaround :-).</p>
+
+    <h4 id="signedselector">Signed Selector</h4>
+
+    <p>The <code>&lt;signedselector&gt;</code> tag selects signed files and optionally signed
+    with a certain name.</p>
+    <p><em>Since Apache Ant 1.7</em></p>
+    <table class="attr">
+      <tr>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The signature name to check for.</td>
+        <td>No</td>
+      </tr>
+    </table>
+
+    <h4 id="readable">Readable Selector</h4>
+
+    <p>The <code>&lt;readable&gt;</code> selector selects only files that are readable.  Ant
+    only invokes <code>java.io.File#canRead</code> so if a file is unreadable but JVM cannot
+    detect this state, this selector will still select the file.</p>
+
+    <h4 id="writable">Writable Selector</h4>
+
+    <p>The <code>&lt;writable&gt;</code> selector selects only files that are writable.  Ant
+    only invokes <code>java.io.File#canWrite</code> so if a file is nonwritable but JVM cannot
+    detect this state, this selector will still select the file.</p>
+
+    <h4 id="executable">Executable Selector</h4>
+
+    <p>The <code>&lt;executable&gt;</code> selector selects only files that are executable.  Ant
+    only invokes <code>java.nio.file.Files#isExecutable</code> so if a file is not executable
+    but JVM cannot detect this state, this selector will still select the file.</p>
+
+    <p><em>Since Ant 1.10.0</em></p>
+
+    <h4 id="symlink">Symlink Selector</h4>
+
+    <p>The <code>&lt;symlink&gt;</code> selector selects only files that are symbolic links.
+    Ant only invokes <code>java.nio.file.Files#isSymbolicLink</code> so if a file is a symbolic
+    link but JVM cannot detect this state, this selector will not select the file.</p>
+
+    <p><em>Since Ant 1.10.0</em></p>
+
+    <h4 id="ownedBy">OwnedBy Selector</h4>
+
+    <p>The <code>&lt;ownedBy&gt;</code> selector selects only files that are owned by the given
+    user.  Ant only invokes <code>java.nio.file.Files#getOwner</code> so if a file system
+    doesn't support the operation this selector will not select the file.</p>
+
+    <p><em>Since Ant 1.10.0</em></p>
+
+    <table class="attr">
+      <tr>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
+      </tr>
+      <tr>
+        <td>owner</td>
+        <td>Username of the expected owner</td>
+        <td>Yes</td>
+      </tr>
+    </table>
+
+    <h4 id="scriptselector">Script Selector</h4>
+
+    <p>The <code>&lt;scriptselector&gt;</code> element enables you to write a complex selection
+    algorithm in any <a href="https://jakarta.apache.org/bsf" target="_top">Apache BSF</a>
+    or <a href="https://jcp.org/aboutJava/communityprocess/maintenance/jsr223/223ChangeLog.html">JSR
+    223</a> supported language.  See the <a href="../Tasks/script.html">Script</a> task for an
+    explanation of scripts and dependencies.</p>
+    <p><em>Since Apache Ant 1.7</em></p>
+    <table class="attr">
+      <tr>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
+      </tr>
+      <tr>
+        <td>language</td>
+        <td>language of the script.</td>
+        <td>Yes</td>
+      </tr>
+      <tr>
+        <td>manager</td>
+        <td>The script engine manager to use.  See the <a href="../Tasks/script.html">script</a>
+        task for using this attribute.</td>
+        <td>No; default is <q>auto</q></td>
+      </tr>
+      <tr>
+        <td>src</td>
+        <td>filename of the script</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>encoding</td>
+        <td>The encoding of the script as a file. <em>since Ant 1.10.2</em></td>
+        <td>No; defaults to default JVM character encoding</td>
+      </tr>
+      <tr>
+        <td>setbeans</td>
+        <td>Whether to have all properties, references and targets as global variables in the
+        script.</td>
+        <td>No; default is <q>true</q></td>
+      </tr>
+      <tr>
+        <td>classpath</td>
+        <td>The classpath to pass into the script.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>classpathref</td>
+        <td>The classpath to use, given as a <a href="../using.html#references">reference</a> to
+        a path defined elsewhere.
+        <td>No</td>
+      </tr>
+    </table>
+    <p>This selector can take a nested <code>&lt;classpath&gt;</code> element.  See
+    the <a href="../Tasks/script.html">script</a> task on how to use this element.</p>
+    <p>If no <var>src</var> attribute is supplied, the script must be nested inside the selector
+    declaration.</p>
+    <p>The embedded script is invoked for every test, with the bean <code>self</code> is bound
+    to the selector. It has an attribute <var>selected</var> which can be set
+    using <code>setSelected(boolean)</code> to select a file.</p>
+
+    <p>The following beans are configured for every script, alongside the classic set of
+    project, properties, and targets.</p>
+
+    <table>
+      <tr>
+        <th>Bean</th>
+        <th>Description</th>
+        <th>Type</th>
+      </tr>
+      <tr>
+        <td>self</td>
+        <td>selector instance</td>
+        <td>org.apache.tools.ant.types.optional</td>
+      </tr>
+      <tr>
+        <td>filename</td>
+        <td>filename of the selection</td>
+        <td>String</td>
+      </tr>
+      <tr>
+        <td>file</td>
+        <td>file of the selection</td>
+        <td>java.io.File</td>
+      </tr>
+      <tr>
+        <td>basedir</td>
+        <td>Fileset base directory</td>
+        <td>java.io.File</td>
+      </tr>
+    </table>
 
+    <p>The <code>self</code> bean maps to the selector, which has the following attributes. Only
+    the <var>selected</var> flag is writable, the rest are read only via their getter methods.</p>
+    <table class="attr">
+      <tr>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Type</th>
+      </tr>
+      <tr>
+        <td>selected</td>
+        <td>writeable flag to select this file</td>
+        <td>boolean</td>
+      </tr>
+      <tr>
+        <td>filename</td>
+        <td>filename of the selection</td>
+        <td>String</td>
+      </tr>
+      <tr>
+        <td>file</td>
+        <td>file of the selection</td>
+        <td>java.io.File</td>
+      </tr>
+      <tr>
+        <td>basedir</td>
+        <td>Fileset base directory</td>
+        <td>java.io.File</td>
+      </tr>
+    </table>
+
+    <p>Example</p>
     <pre>
-  &lt;target name="generate-and-upload-site"&gt;
-      &lt;echo&gt; generate the site using forrest &lt;/echo&gt;
-      &lt;antcall target="site"/&gt;
-
-      &lt;echo&gt; upload the changed file &lt;/echo&gt;
-      &lt;ftp server="${ftp.server}" userid="${ftp.user}" password="${ftp.pwd}"&gt;
-          &lt;fileset dir="htdocs/manual"&gt;
-              &lt;modified/&gt;
-          &lt;/fileset&gt;
-      &lt;/ftp&gt;
-  &lt;/target&gt;
-    </pre>
-  <p>A useful scenario for this selector inside a build environment
-  for homepage generation (e.g. with <a href="http://xml.apache.org/forrest/">
-  Apache Forrest</a>). Here all <b>changed</b> files are uploaded to the server. The
-  CacheSelector saves therefore much upload time.</p>
+&lt;scriptselector language=&quot;javascript&quot;&gt;
+  self.setSelected(true);
+&lt;/scriptselector&gt;</pre>
+    <p>Selects every file.</p>
 
     <pre>
-  &lt;modified cacheclassname="com.mycompany.MyCache"&gt;
-      &lt;classpath&gt;
-          &lt;pathelement location="lib/mycompany-antutil.jar"/&gt;
-      &lt;/classpath&gt;
-  &lt;/modified&gt;
-    </pre>
-    <p>Uses <tt>com.mycompany.MyCache</tt> from a jar outside of Ants own classpath
-    as cache implementation</p>
-
-  <h4 id="ModSelNote">Note on RuleBasedCollator</h4>
-  <p>The RuleBasedCollator needs a format for its work, but its needed while
-  instantiation. There is a problem in the initialization algorithm for this
-  case. Therefore you should not use this (or tell me the workaround :-).</p>
-
-      <h4 id="signedselector">Signed Selector</h4>
-
-      <p>
-        The <code>&lt;signedselector&gt;</code> tag selects signed files and optionally
-        signed with a certain name.
-      </p>
-      <p>
-        This selector has been added in Apache Ant 1.7.
-      </p>
-      <table>
-        <tr>
-          <td valign="top"><b>Attribute</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td align="center" valign="top"><b>Required</b></td>
-        </tr>
-        <tr>
-          <td valign="top">name</td>
-          <td valign="top">The signature name to check for.</td>
-          <td valign="top" align="center">no</td>
-        </tr>
-      </table>
-
-      <h4 id="readable">Readable Selector</h4>
-
-      <p>The <code>&lt;readable&gt;</code> selector selects only files
-        that are readable.  Ant only invokes
-        <code>java.io.File#canRead</code> so if a file is unreadable
-        but the Java VM cannot detect this state, this selector will
-        still select the file.</p>
-
-      <h4 id="writable">Writable Selector</h4>
-
-      <p>The <code>&lt;writable&gt;</code> selector selects only files
-        that are writable.  Ant only invokes
-        <code>java.io.File#canWrite</code> so if a file is nonwritable
-        but the Java VM cannot detect this state, this selector will
-        still select the file.</p>
-
-      <h4 id="executable">Executable Selector</h4>
-
-      <p>The <code>&lt;executable&gt;</code> selector selects only files
-        that are executable.  Ant only invokes
-        <code>java.nio.file.Files#isExecutable</code> so if a file is not executable
-        but the Java VM cannot detect this state, this selector will
-        still select the file.</p>
-
-      <p><em>Since Ant 1.10.0</em></p>
-
-      <h4 id="symlink">Symlink Selector</h4>
-
-      <p>The <code>&lt;symlink&gt;</code> selector selects only files
-        that are symbolic links.  Ant only invokes
-        <code>java.nio.file.Files#isSymbolicLink</code> so if a file
-        is a symbolic link but the Java VM cannot detect this state,
-        this selector will not select the file.</p>
-
-      <p><em>Since Ant 1.10.0</em></p>
-
-      <h4 id="ownedBy">OwnedBy Selector</h4>
-
-      <p>The <code>&lt;ownedBy&gt;</code> selector selects only files
-        that are owned by the given user.  Ant only invokes
-        <code>java.nio.file.Files#getOwner</code> so if a file system
-        doesn't support the operation this selector will not select
-        the file.</p>
-
-      <p><em>Since Ant 1.10.0</em></p>
-
-      <table>
-        <tr>
-          <td valign="top"><b>Attribute</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td align="center" valign="top"><b>Required</b></td>
-        </tr>
-        <tr>
-          <td valign="top">owner</td>
-          <td valign="top">Username of the expected owner</td>
-          <td valign="top" align="center">yes</td>
-        </tr>
-      </table>
-
-      <h4 id="scriptselector">Script Selector</h4>
-
-      <p>
-        The <code>&lt;scriptselector&gt;</code> element enables you
-        to write a complex selection algorithm in any
-        <a href="http://jakarta.apache.org/bsf" target="_top">Apache BSF</a>
-        or
-        <a href="https://scripting.dev.java.net">JSR 223</a>
-        supported language.
-        See the <a href="../Tasks/script.html">Script</a> task for
-        an explanation of scripts and dependencies.
-      </p>
-      <p>
-        This selector was added in Apache Ant 1.7.
-      </p>
-      <table>
-        <tr>
-          <td valign="top"><b>Attribute</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td align="center" valign="top"><b>Required</b></td>
-        </tr>
-        <tr>
-          <td valign="top">language</td>
-          <td valign="top">language of the script.</td>
-          <td valign="top" align="center">yes</td>
-        </tr>
-        <tr>
-          <td valign="top">manager</td>
-          <td valign="top">
-            The script engine manager to use.
-            See the <a href="../Tasks/script.html">script</a> task
-            for using this attribute.
-          </td>
-          <td valign="top" align="center">No - default is "auto"</td>
-        </tr>
-        <tr>
-          <td valign="top">src</td>
-          <td valign="top">filename of the script</td>
-          <td valign="top" align="center">no</td>
-        </tr>
-        <tr>
-          <td valign="top">encoding</td>
-          <td valign="top">The encoding of the script as a file. <em>since Ant 1.10.2</em></td>
-          <td valign="top" align="center">No - defaults to default JVM encoding</td>
-        </tr>
-        <tr>
-          <td valign="top">setbeans</td>
-          <td valign="top">whether to have all properties, references and targets as
-            global variables in the script.</td>
-          <td valign="top" align="center">No, default is "true".</td>
-        </tr>
-        <tr>
-          <td valign="top">classpath</td>
-          <td valign="top">
-            The classpath to pass into the script.
-          </td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">classpathref</td>
-          <td valign="top">The classpath to use, given as a
-            <a href="../using.html#references">reference</a> to a path defined elsewhere.
-            <td align="center" valign="top">No</td>
-          </tr>
-      </table>
-  <p>
-    This selector can take a nested &lt;classpath&gt; element.
-    See the <a href="../Tasks/script.html">script</a> task
-    on how to use this element.
-  </p>
-      <p>
-      If no <code>src</code> attribute is supplied, the script must be nested
-      inside the selector declaration.
-      </p>
-      <p>The embedded script is invoked for every test, with
-         the bean <code>self</code>
-        is bound to the selector. It has an attribute <code>selected</code>
-        must can be set using <code>setSelected(boolean)</code> to select that
-        file.
-
-      <p>
-
-      The following beans are configured for every script, alongside
-      the classic set of project, properties, and targets.
-
-      <table>
-        <tr>
-          <td valign="top"><b>Bean</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td valign="top"><b>Type</b></td>
-        </tr>
-        <tr>
-          <td valign="top">self</td>
-          <td valign="top">selector instance</td>
-          <td valign="top">org.apache.tools.ant.types.optional</td>
-        </tr>
-        <tr>
-          <td valign="top">filename</td>
-          <td valign="top">filename of the selection</td>
-          <td valign="top" >String</td>
-        </tr>
-        <tr>
-          <td valign="top">file</td>
-          <td valign="top">file of the selection</td>
-          <td valign="top" >java.io.File</td>
-        </tr>
-        <tr>
-          <td valign="top">basedir</td>
-          <td valign="top">Fileset base directory</td>
-          <td valign="top" >java.io.File</td>
-        </tr>
-
-      </table>
-      <p>
-      The <code>self</code> bean maps to the selector, which has the following
-      attributes. Only the <code>selected</code> flag is writable, the rest
-      are read only via their getter methods.
-
-            <table>
-        <tr>
-          <td valign="top"><b>Attribute</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td align="center" valign="top"><b>Type</b></td>
-        </tr>
-        <tr>
-          <td valign="top">selected</td>
-          <td valign="top">writeable flag to select this file</td>
-          <td valign="top" align="center">boolean</td>
-        </tr>
-        <tr>
-          <td valign="top">filename</td>
-          <td valign="top">filename of the selection</td>
-          <td valign="top" >String</td>
-        </tr>
-        <tr>
-          <td valign="top">file</td>
-          <td valign="top">file of the selection</td>
-          <td valign="top" >java.io.File</td>
-        </tr>
-        <tr>
-          <td valign="top">basedir</td>
-          <td valign="top">Fileset base directory</td>
-          <td valign="top" >java.io.File</td>
-        </tr>
-      </table>
-
-      <p>
-      Example
-      </p>
-<pre>
-    &lt;scriptselector language=&quot;javascript&quot;&gt;
-      self.setSelected(true);
-    &lt;/scriptselector&gt;
-</pre>
-    <p>
-    Selects every file.
-    </p>
-
-<pre>
-    &lt;scriptselector language=&quot;javascript&quot;&gt;
-      self.setSelected((filename.length%2)==0);
-    &lt;/scriptselector&gt;
-</pre>
-Select files whose filename length is even.
+&lt;scriptselector language=&quot;javascript&quot;&gt;
+  self.setSelected((filename.length%2)==0);
+&lt;/scriptselector&gt;</pre>
+    <p>Select files whose filename length is even.</p>
 
     <h3 id="selectcontainers">Selector Containers</h3>
 
-    <p>To create more complex selections, a variety of selectors that
-    contain other selectors are available for your use. They combine the
-    selections of their child selectors in various ways.</p>
+    <p>To create more complex selections, a variety of selectors that contain other selectors
+    are available for your use. They combine the selections of their child selectors in various
+    ways.</p>
 
     <p>The selector containers are:</p>
 
     <ul>
-      <li><a href="#andselect"><code>&lt;and&gt;</code></a> - select a file only if all
-        the contained selectors select it.
-      <li><a href="#majorityselect"><code>&lt;majority&gt;</code></a> - select a file
-        if a majority of its selectors select it.
-      <li><a href="#noneselect"><code>&lt;none&gt;</code></a> - select a file only if
-        none of the contained selectors select it.
-      <li><a href="#notselect"><code>&lt;not&gt;</code></a> - can contain only one
-        selector, and reverses what it selects and doesn't select.
-      <li><a href="#orselect"><code>&lt;or&gt;</code></a> - selects a file if any one
-        of the contained selectors selects it.
-      <li><a href="#selectorselect"><code>&lt;selector&gt;</code></a> - contains only one
-        selector and forwards all requests to it without alteration, provided
-        that any <code>&quot;if&quot;</code> or
-        <code>&quot;unless&quot;</code> conditions are met. This
-        is the selector to use if you want to define a reference. It is
-        usable as an element of <code>&lt;project&gt;</code>. It is also
-        the one to use if you want selection of files to be dependent on
-        Ant property settings.
+      <li><a href="#andselect"><code>&lt;and&gt;</code></a>&mdash;select a file only if all the
+        contained selectors select it.</li>
+      <li><a href="#majorityselect"><code>&lt;majority&gt;</code></a>&mdash;select a file if a
+        majority of its selectors select it.</li>
+      <li><a href="#noneselect"><code>&lt;none&gt;</code></a>&mdash;select a file only if none
+        of the contained selectors select it.</li>
+      <li><a href="#notselect"><code>&lt;not&gt;</code></a>&mdash;can contain only one
+        selector, and reverses what it selects and doesn't select.</li>
+      <li><a href="#orselect"><code>&lt;or&gt;</code></a>&mdash;selects a file if any one of the
+        contained selectors selects it.</li>
+      <li><a href="#selectorselect"><code>&lt;selector&gt;</code></a>&mdash;contains only one
+        selector and forwards all requests to it without alteration, provided that
+        any <code>&quot;if&quot;</code> or <code>&quot;unless&quot;</code> conditions are
+        met. This is the selector to use if you want to define a reference. It is usable as an
+        element of <code>&lt;project&gt;</code>. It is also the one to use if you want selection
+        of files to be dependent on Ant property settings.</li>
     </ul>
 
-    <p>All selector containers can contain any other selector, including
-    other containers, as an element. Using containers, the selector tags
-    can be arbitrarily deep. Here is a complete list of allowable
-    selector elements within a container:</p>
+    <p>All selector containers can contain any other selector, including other containers, as an
+    element. Using containers, the selector tags can be arbitrarily deep. Here is a complete
+    list of allowable selector elements within a container:</p>
 
     <ul>
       <li><code>&lt;and&gt;</code></li>
@@ -1269,11 +1113,9 @@ Select files whose filename length is even.
 
     <h4 id="andselect">And Selector</h4>
 
-    <p>The <code>&lt;and&gt;</code> tag selects files that are
-    selected by all of the elements it contains. It returns as
-    soon as it finds a selector that does not select the file,
-    so it is not guaranteed to check every selector.
-    </p>
+    <p>The <code>&lt;and&gt;</code> tag selects files that are selected by all of the elements
+    it contains. It returns as soon as it finds a selector that does not select the file, so it
+    is not guaranteed to check every selector.</p>
 
     <p>Here is an example of how to use the And Selector:</p>
 
@@ -1283,33 +1125,28 @@ Select files whose filename length is even.
         &lt;size value=&quot;4&quot; units=&quot;Ki&quot; when=&quot;more&quot;/&gt;
         &lt;date datetime=&quot;01/01/2001 12:00 AM&quot; when=&quot;before&quot;/&gt;
     &lt;/and&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
-    <p>Selects all the JAR file larger than 4096 bytes which haven't been update
-      since the last millennium.
-    </p>
+    <p>Selects all the JAR file larger than 4096 bytes which haven't been update since the last
+    millennium.</p>
 
     <h4 id="majorityselect">Majority Selector</h4>
 
-    <p>The <code>&lt;majority&gt;</code> tag selects files provided
-    that a majority of the contained elements also select it. Ties are
-    dealt with as specified by the <code>allowtie</code> attribute.
-    </p>
+    <p>The <code>&lt;majority&gt;</code> tag selects files provided that a majority of the
+    contained elements also select it. Ties are dealt with as specified by
+    the <var>allowtie</var> attribute.</p>
 
-    <table>
+    <table class="attr">
       <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
+        <th>Attribute</th>
+        <th>Description</th>
+        <th>Required</th>
       </tr>
       <tr>
-        <td valign="top">allowtie</td>
-        <td valign="top">Whether files should be selected if there
-          are an even number of selectors selecting them as are
-          not selecting them. Default is true.
-        </td>
-        <td valign="top" align="center">No</td>
+        <td>allowtie</td>
+        <td>Whether files should be selected if there are an even number of selectors selecting
+          them as are not selecting them.</td>
+        <td>No; default is <q>true</q></td>
       </tr>
     </table>
 
@@ -1322,21 +1159,17 @@ Select files whose filename length is even.
         &lt;contains text=&quot;taskdef&quot; casesensitive="false"/&gt;
         &lt;contains text=&quot;IntrospectionHelper&quot; casesensitive="true"/&gt;
     &lt;/majority&gt;
-&lt;/fileset&gt;
-</pre>
+&lt;/fileset&gt;</pre>
 
     <p>Selects all the HTML files which contain at least two of the three
-    phrases "project", "taskdef", and "IntrospectionHelper" (this last phrase must
-    match case exactly).
-    </p>
+    phrases <q>project</q>, <q>taskdef</q>, and <q>IntrospectionHelper</q> (this last phrase
+    must match case exactly).</p>
 
     <h4 id="noneselect">None Selector</h4>
 
-    <p>The <code>&lt;none&gt;</code> tag selects files that are
-    not selected by any of the elements it contains. It returns as
-    so

<TRUNCATED>