sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject [sis] 02/02: Fix HTML errors.
Date Wed, 11 Sep 2019 16:36:39 GMT
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 97bbd5c21dbae178e9c30d39874df6ee94ecf0ab
Author: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
AuthorDate: Wed Sep 11 18:36:07 2019 +0200

    Fix HTML errors.
---
 .../main/java/org/apache/sis/console/Command.java  |   6 +-
 .../org/apache/sis/internal/doclet/Include.java    |   2 +-
 .../java/org/apache/sis/filter/ST_Transform.java   |   2 +-
 .../apache/sis/internal/jaxb/gco/PropertyType.java |   2 +-
 .../apache/sis/internal/metadata/Identifiers.java  |   4 +-
 .../main/java/org/apache/sis/util/iso/Names.java   |  20 +-
 .../java/org/apache/sis/util/iso/package-info.java |   3 +-
 .../java/org/apache/sis/xml/ValueConverter.java    |   6 +-
 .../src/main/java/org/apache/sis/xml/XLink.java    |  20 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |   7 +-
 .../java/org/apache/sis/geometry/Envelope2D.java   |   7 +-
 .../java/org/apache/sis/geometry/Envelopes.java    |   4 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |   7 +-
 .../java/org/apache/sis/geometry/package-info.java |   4 +-
 .../referencing/PositionalAccuracyConstant.java    |   3 +
 .../internal/referencing/SignReversalComment.java  |   3 +
 .../java/org/apache/sis/io/wkt/Convention.java     |   7 +-
 .../main/java/org/apache/sis/io/wkt/Symbols.java   |  10 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |  16 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |  12 +-
 .../java/org/apache/sis/referencing/CommonCRS.java |  33 ++-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |  14 +-
 .../sis/referencing/datum/BursaWolfParameters.java |  18 +-
 .../factory/GeodeticAuthorityFactory.java          |  69 +++--
 .../referencing/factory/sql/EPSGDataAccess.java    |  33 ++-
 .../operation/AbstractCoordinateOperation.java     |   2 +-
 .../referencing/operation/matrix/MatrixSIS.java    |   3 +-
 .../referencing/operation/matrix/package-info.java |   4 +-
 .../operation/projection/NormalizedProjection.java |  24 +-
 .../operation/transform/ContextualParameters.java  |  28 +-
 .../operation/transform/DatumShiftTransform.java   |  33 +--
 .../transform/DefaultMathTransformFactory.java     |   2 +-
 .../operation/transform/LinearTransform.java       |   6 +-
 .../referencing/operation/transform/formulas.html  |  12 +-
 .../sis/internal/converter/SystemConverter.java    |   3 +
 .../src/main/java/org/apache/sis/math/Plane.java   |   3 +-
 .../main/java/org/apache/sis/math/Statistics.java  |   3 +-
 .../main/java/org/apache/sis/measure/Units.java    | 287 ++++++++++++---------
 .../org/apache/sis/util/LenientComparable.java     |   3 +-
 .../org/apache/sis/util/collection/TreeTable.java  |   3 +-
 .../apache/sis/util/logging/MonolineFormatter.java |   3 +-
 pom.xml                                            |   4 +-
 src/main/javadoc/sis.css                           |  22 ++
 .../org/apache/sis/internal/netcdf/Convention.java |   2 +-
 .../apache/sis/storage/netcdf/AttributeNames.java  |   3 +-
 .../org/apache/sis/storage/WritableAggregate.java  |   2 +-
 46 files changed, 453 insertions(+), 311 deletions(-)

diff --git a/application/sis-console/src/main/java/org/apache/sis/console/Command.java b/application/sis-console/src/main/java/org/apache/sis/console/Command.java
index 113a721..5fc9aa0 100644
--- a/application/sis-console/src/main/java/org/apache/sis/console/Command.java
+++ b/application/sis-console/src/main/java/org/apache/sis/console/Command.java
@@ -34,7 +34,8 @@ import org.apache.sis.util.logging.MonolineFormatter;
 /**
  * Command line interface for Apache SIS. The {@link #main(String[])} method accepts the following actions:
  *
- * <blockquote><table class="compact" summary="Supported command-line actions.">
+ * <blockquote><table class="compact">
+ * <caption>Supported command-line actions</caption>
  * <tr><td>{@code help}       </td><td>Show a help overview.</td></tr>
  * <tr><td>{@code about}      </td><td>Show information about Apache SIS and system configuration.</td></tr>
  * <tr><td>{@code mime-type}  </td><td>Show MIME type for the given file.</td></tr>
@@ -46,7 +47,8 @@ import org.apache.sis.util.logging.MonolineFormatter;
  *
  * Each command can accepts some of the following options:
  *
- * <blockquote><table class="compact" summary="Supported command-line options.">
+ * <blockquote><table class="compact">
+ * <caption>Supported command-line options</caption>
  * <tr><td>{@code --sourceCRS} </td><td>The Coordinate Reference System of input data.</td></tr>
  * <tr><td>{@code --targetCRS} </td><td>The Coordinate Reference System of output data.</td></tr>
  * <tr><td>{@code --format}    </td><td>The output format: {@code xml}, {@code wkt}, {@code wkt1} or {@code text}.</td></tr>
diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java
index b6a865f..5c8c2f7 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java
@@ -30,7 +30,7 @@ import com.sun.source.doctree.DocTree;
  * HTML tags (e.g. JDK 8 javac). Fragment of the external files are inserted in the Javadoc
  * by the following tag:
  *
- * <blockquote><pre>{@include formulas.html#<var>title</var>}</pre></blockquote>
+ * <blockquote><pre>{&#64;include formulas.html#<var>title</var>}</pre></blockquote>
  *
  * where <var>title</var> is the text inside <code>&lt;h2&gt;…&lt;/h2&gt;</code> elements
  * just before the parts to copy in the javadoc.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java b/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java
index 9f9724c..8802534 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java
@@ -50,7 +50,7 @@ import org.apache.sis.util.resources.Errors;
  *     <ul>
  *       <li>As a {@link CoordinateReferenceSystem} instance.</li>
  *       <li>As a {@link String} instance of the form {@code "EPSG:xxxx"}, a URL or a URN.</li>
- *       <li>As an {@linl Integer} instance specifying an EPSG code.</li>
+ *       <li>As an {@link Integer} instance specifying an EPSG code.</li>
  *     </ul>
  *   </li>
  * </ol>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java
index 8c6d289..be1c147 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java
@@ -306,7 +306,7 @@ public abstract class PropertyType<ValueType extends PropertyType<ValueType,Boun
 
     /**
      * Sets the {@code nilReason} attribute value. This method does nothing if a
-     * non-null {@linkplaih #reference} exists, since in such case the object can
+     * non-null {@linkplain #reference} exists, since in such case the object can
      * not be nil.
      *
      * @param nilReason the new attribute value.
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java
index 6678f99..46f7f1f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java
@@ -34,8 +34,8 @@ import org.apache.sis.util.Static;
  * Methods working on {@link Identifier} instances.
  *
  * @author Martin Desruisseaux (Geomatys)
- * @since  1.0
- * @versio 1.0
+ * @since   1.0
+ * @version 1.0
  * @module
  */
 public final class Identifiers extends Static {
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
index 3d130c9..2981457 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
@@ -193,16 +193,16 @@ public final class Names extends Static {
      *
      * <div class="note"><b>Example:</b>
      * for a name created by {@code createLocalName("http://www.opengis.net/gml/srs/epsg.xml", "#", "4326")}:
-     * <blockquote><table class="compact" summary="Examples of return values for a name built by this method.">
-     *   <tr><td>• <code>name.{@linkplain DefaultLocalName#toString() toString()}</code></td>
-     *       <td>returns the {@code "4326"} string.</td></tr>
-     *   <tr><td>• <code>name.{@linkplain DefaultLocalName#scope() scope()}</code></td>
-     *       <td>returns the {@code "http://www.opengis.net/gml/srs/epsg.xml"} namespace.</td></tr>
-     *   <tr><td>• <code>name.{@linkplain DefaultLocalName#toFullyQualifiedName() toFullyQualifiedName()}</code></td>
-     *       <td>returns the {@code "http://www.opengis.net/gml/srs/epsg.xml#4326"} name.
-     *   <tr><td>• <code>{@linkplain #toExpandedString(GenericName) toExpandedString}(name)</code></td>
-     *       <td>returns the {@code "{http://www.opengis.net/gml/srs/epsg.xml}4326"} string.</td></tr>
-     * </table></blockquote></div>
+     * <ul>
+     *   <li><code>name.{@linkplain DefaultLocalName#toString() toString()}</code>
+     *       returns the {@code "4326"} string.</li>
+     *   <li><code>name.{@linkplain DefaultLocalName#scope() scope()}</code>
+     *       returns the {@code "http://www.opengis.net/gml/srs/epsg.xml"} namespace.</li>
+     *   <li><code>name.{@linkplain DefaultLocalName#toFullyQualifiedName() toFullyQualifiedName()}</code>
+     *       returns the {@code "http://www.opengis.net/gml/srs/epsg.xml#4326"} name.</li>
+     *   <li><code>{@linkplain #toExpandedString(GenericName) toExpandedString}(name)</code>
+     *       returns the {@code "{http://www.opengis.net/gml/srs/epsg.xml}4326"} string.</li>
+     * </ul></div>
      *
      * <div class="note"><b>Performance note:</b> this method is okay for <em>casual</em> use. If many names need
      * to be created in the same namespace, then {@link DefaultNameFactory#createLocalName(NameSpace, CharSequence)}
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
index de10783..4e0eae5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
@@ -71,7 +71,8 @@
  *       {@linkplain org.apache.sis.util.iso.AbstractName#getParsedNames() list of parsed names}.</li>
  * </ul>
  *
- * <table class="compact" style="border-spacing:21pt 0; white-space: nowrap" summary="Anatomy of a name">
+ * <table class="compact" style="border-spacing:21pt 0; white-space: nowrap">
+ *   <caption>Components in scope, head, tail, path and tip</caption>
  *   <tr>
  *     <th>{@linkplain org.apache.sis.util.iso.AbstractName#scope() scope}.name</th>
  *     <th>{@linkplain org.apache.sis.util.iso.AbstractName#head() head}.{@linkplain org.apache.sis.util.iso.DefaultScopedName#tail() tail}</th>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java
index 9a1a779..94d925e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java
@@ -192,7 +192,8 @@ public class ValueConverter {
      * <table class="sis">
      *   <caption>IANA to ISO 19115:2003 character set code</caption>
      *   <tr>
-     *     <td><table class="compact" summary="IANA to ISO 19115:2003">
+     *     <td><table class="compact">
+     *       <caption>From ISO codes</caption>
      *       <tr><td style="width: 90px"><b>IANA</b></td><td><b>ISO 19115:2003</b></td></tr>
      *       <tr><td>{@code ISO-8859-1}</td>  <td>{@code 8859part1}</td></tr>
      *       <tr><td>{@code ISO-8859-2}</td>  <td>{@code 8859part2}</td></tr>
@@ -211,7 +212,8 @@ public class ValueConverter {
      *       <tr><td>{@code ISO-8859-15}</td> <td>{@code 8859part15}</td></tr>
      *       <tr><td>{@code ISO-8859-16}</td> <td>{@code 8859part16}</td></tr>
      *     </table></td>
-     *     <td class="sep"><table class="compact" summary="IANA to ISO 19115:2003">
+     *     <td class="sep"><table class="compact">
+     *       <caption>Others</caption>
      *       <tr><td style="width: 90px"><b>IANA</b></td><td><b>ISO 19115:2003</b></td></tr>
      *       <tr><td>{@code UCS-2}</td>     <td>{@code ucs2}</td></tr>
      *       <tr><td>{@code UCS-4}</td>     <td>{@code ucs4}</td></tr>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
index c27cd27..03bce5d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
@@ -53,16 +53,16 @@ import org.apache.sis.internal.system.Loggers;
  *   <th style="width: 14%">{@link XLink.Type#RESOURCE resource}</th>
  *   <th style="width: 14%">{@link XLink.Type#TITLE title}</th>
  * </tr>
- *   <tr align="center"><td align="left"><b>{@link #getType() type}</b></td>       <td>R</td><td>R</td><td>R</td><td>R</td><td>R</td><td>R</td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getHRef() href}</b></td>       <td>O</td><td> </td><td>R</td><td> </td><td> </td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getRole() role}</b></td>       <td>O</td><td>O</td><td>O</td><td> </td><td>O</td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getArcRole() arcrole}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getTitle() title}</b></td>     <td>O</td><td>O</td><td>O</td><td>O</td><td>O</td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getShow() show}</b></td>       <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getActuate() actuate}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getLabel() label}</b></td>     <td> </td><td> </td><td>O</td><td> </td><td>O</td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getFrom() from}</b></td>       <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
- *   <tr align="center"><td align="left"><b>{@link #getTo() to}</b></td>           <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getType() type}</b></td>       <td>R</td><td>R</td><td>R</td><td>R</td><td>R</td><td>R</td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getHRef() href}</b></td>       <td>O</td><td> </td><td>R</td><td> </td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getRole() role}</b></td>       <td>O</td><td>O</td><td>O</td><td> </td><td>O</td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getArcRole() arcrole}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getTitle() title}</b></td>     <td>O</td><td>O</td><td>O</td><td>O</td><td>O</td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getShow() show}</b></td>       <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getActuate() actuate}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getLabel() label}</b></td>     <td> </td><td> </td><td>O</td><td> </td><td>O</td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getFrom() from}</b></td>       <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
+ *   <tr style="text-align:center"><td style="text-align:left"><b>{@link #getTo() to}</b></td>           <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr>
  * </table>
  *
  * When {@code xlink} attributes are found at unmarshalling time instead of an object definition,
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
index 2abbbad..e7b02e1 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
@@ -78,9 +78,10 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero;
  * envelopes crossing the anti-meridian, like the red box below (the green box is the usual case).
  * The default implementation of methods listed in the right column can handle such cases.
  *
- * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td>
+ * <div class="horizontal-flow">
+ * <div>
  *   <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian">
- * </td><td style="vertical-align: middle">
+ * </div><div>
  * Supported methods:
  * <ul>
  *   <li>{@link #getMinimum(int)}</li>
@@ -92,7 +93,7 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero;
  *   <li>{@link #contains(Envelope)}</li>
  *   <li>{@link #intersects(Envelope)}</li>
  * </ul>
- * </td></tr></table></center>
+ * </div></div>
  *
  * <div class="section">Choosing the range of longitude values</div>
  * Geographic CRS typically have longitude values in the [-180 … +180]° range, but the [0 … 360]°
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
index dc0ac1d..e85727c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
@@ -69,9 +69,10 @@ import static org.apache.sis.geometry.AbstractEnvelope.isNegativeUnsafe;
  * {@linkplain #height height} field values. The default implementation of methods listed in the
  * right column can handle such cases.
  *
- * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td>
+ * <div class="horizontal-flow">
+ * <div>
  *   <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian">
- * </td><td style="vertical-align: middle">
+ * </div><div>
  * Supported methods:
  * <ul>
  *   <li>{@link #getMinimum(int)}</li>
@@ -88,7 +89,7 @@ import static org.apache.sis.geometry.AbstractEnvelope.isNegativeUnsafe;
  *   <li>{@link #add(Rectangle2D)}</li>
  *   <li>{@link #add(double,double)}</li>
  * </ul>
- * </td></tr></table></center>
+ * </div></div>
  *
  * The {@link #getMinX()}, {@link #getMinY()}, {@link #getMaxX()}, {@link #getMaxY()},
  * {@link #getCenterX()}, {@link #getCenterY()}, {@link #getWidth()} and {@link #getHeight()}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
index 13d5f86..fb82e82 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
@@ -66,7 +66,7 @@ import static org.apache.sis.util.StringBuilders.trimFractionalPart;
  * rectangle, projecting the four corners of the geographic envelope is not sufficient since we would miss
  * the southerner part.
  *
- * <center><table class="sis">
+ * <table class="sis">
  *   <caption>Example of curvature induced by a map projection</caption>
  *   <tr>
  *     <th>Envelope before map projection</th>
@@ -75,7 +75,7 @@ import static org.apache.sis.util.StringBuilders.trimFractionalPart;
  *     <td><img src="doc-files/GeographicArea.png" alt="Envelope in a geographic CRS"></td>
  *     <td><img src="doc-files/ConicArea.png" alt="Shape of the envelope transformed in a conic projection"></td>
  *   </tr>
- * </table></center>
+ * </table>
  *
  * Apache SIS tries to detect the curvature by transforming intermediate points in addition to the corners.
  * While optional, it is strongly recommended that all {@code MathTransform} implementations involved in the
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
index c786bfa..afcd2b6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
@@ -75,9 +75,10 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero;
  * envelopes crossing the anti-meridian, like the red box below (the green box is the usual case).
  * The default implementation of methods listed in the right column can handle such cases.
  *
- * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td>
+ * <div class="horizontal-flow">
+ * <div>
  *   <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian">
- * </td><td style="vertical-align: middle">
+ * </div><div>
  * Supported methods:
  * <ul>
  *   <li>{@link #getMinimum(int)}</li>
@@ -93,7 +94,7 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero;
  *   <li>{@link #add(Envelope)}</li>
  *   <li>{@link #add(DirectPosition)}</li>
  * </ul>
- * </td></tr></table></center>
+ * </div></div>
  *
  * <div class="section">Envelope validation</div>
  * If and only if this envelope is associated to a non-null CRS, then constructors and setter methods
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java
index 8bd3a8f..9d39b12 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java
@@ -66,7 +66,9 @@
  * longitude greater than the upper corner longitude, like the red box below (the green box is the
  * usual case):
  *
- * <center><img src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"></center>
+ * <div style="text-align:center">
+ * <img src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian">
+ * </div>
  *
  * In SIS, every envelopes defined in this package support the extended bounding box interpretation:
  * for any dimension, coordinate values such that <var>upper</var> &lt; <var>lower</var> are handled
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java
index 464c2f7..d3a1b04 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java
@@ -117,6 +117,9 @@ public final class PositionalAccuracyConstant extends DefaultAbsoluteExternalPos
 
     /**
      * Invoked on deserialization. Replace this instance by one of the constants, if applicable.
+     *
+     * @return the object to use after deserialization.
+     * @throws ObjectStreamException if the serialized object defines an unknown data type.
      */
     private Object readResolve() throws ObjectStreamException {
         if (equals(DATUM_SHIFT_APPLIED)) return DATUM_SHIFT_APPLIED;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java
index 8a9f3b4..8f68a91 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java
@@ -80,6 +80,9 @@ public final class SignReversalComment extends AbstractInternationalString imple
 
     /**
      * Invokes on deserialization for returning the canonical constant.
+     *
+     * @return the object to use after deserialization.
+     * @throws ObjectStreamException if the serialized object defines an unknown data type.
      */
     private Object readResolve() throws ObjectStreamException {
         return opposite ? OPPOSITE : SAME;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java
index 596e2f6..dc81cde 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java
@@ -122,7 +122,8 @@ public enum Convention {
      * For more uniform handling of CRS objects in client code, SIS parser replaces some WKT 1 conventions by
      * the ISO ones when possible.
      *
-     * <table class="compact" summary="Differences between current and legacy specifications"><tr><td>
+     * <div class="horizontal-flow">
+     * <div>
      * <table class="sis">
      *   <caption>Geocentric axis directions</caption>
      *   <tr><th>ISO 19111</th>    <th>OGC 01-009</th> <th>Description</th></tr>
@@ -130,7 +131,7 @@ public enum Convention {
      *   <tr><td>Geocentric Y</td> <td>Easting</td>    <td>Toward 90°E longitude</td></tr>
      *   <tr><td>Geocentric Z</td> <td>Northing</td>   <td>Toward north pole</td></tr>
      * </table>
-     * </td><td>
+     * </div><div>
      * <table class="sis">
      *   <caption>Coordinate system axis names</caption>
      *   <tr><th>CRS type</th>   <th>WKT1 names</th>                               <th>ISO abbreviations</th></tr>
@@ -139,7 +140,7 @@ public enum Convention {
      *   <tr><td>Projected</td>  <td><var>X</var>, <var>Y</var></td>               <td><var>E</var>, <var>N</var></td></tr>
      *   <tr><td>Geocentric</td> <td><var>X</var>, <var>Y</var>, <var>Z</var></td> <td><var>X</var>, <var>Y</var>, <var>Z</var></td></tr>
      * </table>
-     * </td></tr></table>
+     * </div></div>
      *
      * @see <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Legacy WKT 1</a>
      */
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java
index ec56c35..4ca8c07 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java
@@ -34,7 +34,13 @@ import static org.apache.sis.util.ArgumentChecks.*;
  * The two constants defined in this class, namely {@link #SQUARE_BRACKETS} and {@link #CURLY_BRACKETS},
  * define the symbols for ISO 19162 compliant WKT formatting. Their properties are:
  *
- * <blockquote><table class="compact" summary="Standard WKT symbols.">
+ * <table class="sis">
+ *   <caption>Standard WKT symbols</caption>
+ *   <tr>
+ *     <th>WKT aspect</th>
+ *     <th>Standard value</th>
+ *     <th>Comment</th>
+ *   </tr>
  *   <tr>
  *     <td>Locale for number format:</td>
  *     <td>{@link Locale#ROOT}</td>
@@ -62,7 +68,7 @@ import static org.apache.sis.util.ArgumentChecks.*;
  *     <td>{@code ,}</td>
  *     <td></td>
  *   </tr>
- * </table></blockquote>
+ * </table>
  *
  * Users can create their own {@code Symbols} instance for parsing or formatting a WKT with different symbols.
  *
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
index f501ddb..9c0f430 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
@@ -627,7 +627,9 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
      * The strictness level is controlled by the second argument,
      * from stricter to more permissive values:
      *
-     * <table class="compact" summary="Description of comparison modes.">
+     * <table class="sis">
+     *   <caption>Description of comparison modes</caption>
+     *   <tr><th>Mode</th><th>Description</th></tr>
      *   <tr><td>{@link ComparisonMode#STRICT STRICT}:</td>
      *        <td>Verifies if the two objects are of the same {@linkplain #getClass() class}
      *            and compares all public properties, including SIS-specific (non standard) properties.</td></tr>
@@ -837,23 +839,21 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
      * For example if this formattable element is for a {@code GeodeticCRS[…]} element,
      * then subclasses shall write the content starting at the insertion point shown below:
      *
-     * <table class="compact" summary="WKT and Java code example.">
-     * <tr>
-     *   <th>WKT example</th>
-     *   <th>Java code example</th>
-     * </tr><tr><td>
+     * <div class="horizontal-flow">
+     * <div><p><b>WKT example</b></p>
      * {@preformat text
      *   GeodeticCRS["WGS 84", ID["EPSG", 4326]]
      *                       ↑
      *               (insertion point)
      * }
-     * </td><td>
+     * </div><div>
+     * <p><b>Java code example</b></p>
      * {@preformat java
      *     super.formatTo(formatter);
      *     // ... write the elements at the insertion point ...
      *     return "GeodeticCRS";
      * }
-     * </td></tr></table>
+     * </div></div>
      *
      * <div class="section">Formatting non-standard WKT</div>
      * If the implementation can not represent this object without violating some WKT constraints,
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
index 7a7b564..d6bf977 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
@@ -1279,21 +1279,23 @@ public final class CRS extends Static {
      * Apache SIS allows 4-dimensional (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>)
      * coordinate reference system to be built in two different ways as shown below:
      *
-     * <table class="compact" summary="Illustration of a compound CRS.">
-     * <tr><th>Hierarchical structure</th><th>Flat list</th></tr>
-     * <tr><td><blockquote>
+     * <div class="horizontal-flow">
+     * <div><p><b>Hierarchical structure</b></p>
+     * <blockquote>
      *   <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br>
      *   <code>  ├─CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>)<br>
      *   <code>  │   ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br>
      *   <code>  │   └─VerticalCRS</code> — (<var>z</var>)<br>
      *   <code>  └─TemporalCRS</code> — (<var>t</var>)
-     * </blockquote></td><td><blockquote>
+     * </blockquote></div>
+     * <div><p><b>Flat list</b></p>
+     * <blockquote>
      *   <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br>
      *   <code>  ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br>
      *   <code>  ├─VerticalCRS</code> — (<var>z</var>)<br>
      *   <code>  └─TemporalCRS</code> — (<var>t</var>)
      * </blockquote>
-     * </td></tr></table>
+     * </div></div>
      *
      * This method guaranteed that the returned list is a flat one as shown on the right side.
      * Note that such flat lists are the only one allowed by ISO/OGC standards for compound CRS.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
index 3b8facd..578e2c9 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
@@ -138,7 +138,8 @@ public enum CommonCRS {
      * World Geodetic System 1984.
      * This is the default CRS for most {@code org.apache.sis} packages.
      *
-     * <blockquote><table class="compact" summary="WGS84 properties.">
+     * <blockquote><table class="compact">
+     * <caption>WGS84 properties</caption>
      *   <tr><th>WMS identifier:</th>          <td>CRS:84</td></tr>
      *   <tr><th>EPSG identifiers:</th>        <td>4326 &nbsp;(<i>datum:</i> 6326, &nbsp;<i>ellipsoid:</i> 7030)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"WGS 84" &nbsp;(<i>datum:</i> "World Geodetic System 1984")</td></tr>
@@ -157,7 +158,8 @@ public enum CommonCRS {
     /**
      * World Geodetic System 1972.
      *
-     * <blockquote><table class="compact" summary="WGS72 properties.">
+     * <blockquote><table class="compact">
+     * <caption>WGS72 properties</caption>
      *   <tr><th>EPSG identifiers:</th>        <td>4322 &nbsp;(<i>datum:</i> 6322, &nbsp;<i>ellipsoid:</i> 7043)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"WGS 72" &nbsp;(<i>datum:</i> "World Geodetic System 1972")</td></tr>
      *   <tr><th>Abbreviations or aliases:</th><td>(<i>datum:</i> "WGS 72", &nbsp;<i>ellipsoid:</i> "NWL 10D")</td></tr>
@@ -177,7 +179,8 @@ public enum CommonCRS {
      * The ellipsoid is <cite>"GRS 1980"</cite>, also known as <cite>"International 1979"</cite>.
      * This ellipsoid is very close, but not identical, to the {@linkplain #WGS84} one.
      *
-     * <blockquote><table class="compact" summary="NAD83 properties.">
+     * <blockquote><table class="compact">
+     * <caption>NAD83 properties</caption>
      *   <tr><th>WMS identifier:</th>          <td>CRS:83</td></tr>
      *   <tr><th>EPSG identifiers:</th>        <td>4269 &nbsp;(<i>datum:</i> 6269, &nbsp;<i>ellipsoid:</i> 7019)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"NAD83" &nbsp;(<i>datum:</i> "North American Datum 1983", &nbsp;<i>ellipsoid:</i> "GRS 1980")</td></tr>
@@ -201,7 +204,8 @@ public enum CommonCRS {
     /**
      * North American Datum 1927.
      *
-     * <blockquote><table class="compact" summary="NAD27 properties.">
+     * <blockquote><table class="compact">
+     * <caption>NAD27 properties</caption>
      *   <tr><th>WMS identifier:</th>          <td>CRS:27</td></tr>
      *   <tr><th>EPSG identifiers:</th>        <td>4267 &nbsp;(<i>datum:</i> 6267, &nbsp;<i>ellipsoid:</i> 7008)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"NAD27" &nbsp;(<i>datum:</i> "North American Datum 1927", &nbsp;<i>ellipsoid:</i> "Clarke 1866")</td></tr>
@@ -221,7 +225,8 @@ public enum CommonCRS {
      * The ellipsoid is <cite>"GRS 1980"</cite>, also known as <cite>"International 1979"</cite>.
      * This ellipsoid is very close, but not identical, to the {@linkplain #WGS84} one.
      *
-     * <blockquote><table class="compact" summary="ETRS89 properties.">
+     * <blockquote><table class="compact">
+     * <caption>ETRS89 properties</caption>
      *   <tr><th>EPSG identifiers:</th>        <td>4258 &nbsp;(<i>datum:</i> 6258, &nbsp;<i>ellipsoid:</i> 7019)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"ETRS89" &nbsp;(<i>datum:</i> "European Terrestrial Reference System 1989", &nbsp;<i>ellipsoid:</i> "GRS 1980")</td></tr>
      *   <tr><th>Abbreviations or aliases:</th><td>"ETRF89", "EUREF89", "ETRS89-GRS80" &nbsp;(<i>ellipsoid:</i> "International 1979")</td></tr>
@@ -244,7 +249,8 @@ public enum CommonCRS {
     /**
      * European Datum 1950.
      *
-     * <blockquote><table class="compact" summary="ED50 properties.">
+     * <blockquote><table class="compact">
+     * <caption>ED50 properties</caption>
      *   <tr><th>EPSG identifiers:</th>        <td>4230 &nbsp;(<i>datum:</i> 6230, &nbsp;<i>ellipsoid:</i> 7022)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"ED50" &nbsp;(<i>datum:</i> "European Datum 1950", &nbsp;<i>ellipsoid:</i> "International 1924")</td></tr>
      *   <tr><th>Abbreviations or aliases:</th><td>(<i>datum:</i> "ED50", <i>ellipsoid:</i> "Hayford 1909")</td></tr>
@@ -263,7 +269,8 @@ public enum CommonCRS {
      * Unknown datum based upon the GRS 1980 ellipsoid.
      * Use only in cases where geodetic datum is unknown.
      *
-     * <blockquote><table class="compact" summary="Sphere properties.">
+     * <blockquote><table class="compact">
+     * <caption>GRS1980 properties</caption>
      *   <tr><th>EPSG identifiers:</th>        <td>4019 &nbsp;(<i>datum:</i> 6019, &nbsp;<i>ellipsoid:</i> 7019)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"Unknown datum based upon the GRS 1980 ellipsoid."</td></tr>
      *   <tr><th>Prime meridian:</th>          <td>Greenwich</td></tr>
@@ -283,7 +290,8 @@ public enum CommonCRS {
      * {@linkplain org.apache.sis.referencing.datum.DefaultEllipsoid#orthodromicDistance
      * orthodromic distance computation}, which may be faster and more robust.
      *
-     * <blockquote><table class="compact" summary="Sphere properties.">
+     * <blockquote><table class="compact">
+     * <caption>Sphere properties</caption>
      *   <tr><th>EPSG identifiers:</th>        <td>4047 &nbsp;(<i>datum:</i> 6047, &nbsp;<i>ellipsoid:</i> 7048)</td></tr>
      *   <tr><th>Primary names:</th>           <td>"Unspecified datum based upon the GRS 1980 Authalic Sphere"</td></tr>
      *   <tr><th>Prime meridian:</th>          <td>Greenwich</td></tr>
@@ -1227,7 +1235,8 @@ public enum CommonCRS {
          * Height measured above the Mean Sea Level (MSL) in metres. Can be used as an approximation of geoidal heights
          * (height measured above an equipotential surface), except that MSL are not specific to any location or epoch.
          *
-         * <blockquote><table class="compact" summary="Mean Sea Level properties.">
+         * <blockquote><table class="compact">
+         * <caption>Mean Sea Level properties</caption>
          *   <tr><th>EPSG identifiers:</th>         <td>5714 &nbsp;(<i>datum:</i> 5100)</td></tr>
          *   <tr><th>Primary names:</th>            <td>"MSL height" &nbsp;(<i>datum:</i> "Mean Sea Level")</td></tr>
          *   <tr><th>Abbreviations or aliases:</th> <td>"mean sea level height" &nbsp;(<i>datum:</i> "MSL")</td></tr>
@@ -1242,7 +1251,8 @@ public enum CommonCRS {
         /**
          * Depth measured below the Mean Sea Level (MSL) in metres.
          *
-         * <blockquote><table class="compact" summary="Depth properties.">
+         * <blockquote><table class="compact">
+         * <caption>Depth properties</caption>
          *   <tr><th>EPSG identifiers:</th>         <td>5715 &nbsp;(<i>datum:</i> 5100)</td></tr>
          *   <tr><th>Primary names:</th>            <td>"MSL depth" &nbsp;(<i>datum:</i> "Mean Sea Level")</td></tr>
          *   <tr><th>Abbreviations or aliases:</th> <td>"mean sea level depth" &nbsp;(<i>datum:</i> "MSL")</td></tr>
@@ -1257,7 +1267,8 @@ public enum CommonCRS {
         /**
          * North American Vertical Datum 1988 height.
          *
-         * <blockquote><table class="compact" summary="Mean Sea Level properties.">
+         * <blockquote><table class="compact">
+         * <caption>NAVD88 properties</caption>
          *   <tr><th>WMS identifier:</th>           <td>CRS:88</td></tr>
          *   <tr><th>EPSG identifiers:</th>         <td>5703 &nbsp;(<i>datum:</i> 5103)</td></tr>
          *   <tr><th>Primary names:</th>            <td>"NAVD88 height" &nbsp;(<i>datum:</i> "North American Vertical Datum 1988")</td></tr>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
index 6e4b764..1379aa0 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
@@ -63,21 +63,23 @@ import org.apache.sis.io.wkt.Convention;
  * This class is often used for defining 4-dimensional (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>)
  * coordinate reference systems as an aggregation of simpler CRS. Below is two examples of such aggregations:
  *
- * <table class="compact" summary="Illustration of a compound CRS.">
- * <tr><th>Flat list</th><th>Hierarchical structure</th></tr>
- * <tr><td><blockquote>
+ * <div class="horizontal-flow">
+ * <div><p><b>Flat list</b></p>
+ * <blockquote>
  *   <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br>
  *   <code>  ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br>
  *   <code>  ├─VerticalCRS</code> — (<var>z</var>)<br>
  *   <code>  └─TemporalCRS</code> — (<var>t</var>)
- * </blockquote></td><td><blockquote>
+ * </blockquote></div>
+ * <div><p><b>Hierarchical structure</b></p>
+ * <blockquote>
  *   <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br>
  *   <code>  ├─CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>)<br>
  *   <code>  │   ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br>
  *   <code>  │   └─VerticalCRS</code> — (<var>z</var>)<br>
  *   <code>  └─TemporalCRS</code> — (<var>t</var>)
- * </blockquote></td></tr>
- * </table>
+ * </blockquote></div>
+ * </div>
  *
  * Strictly speaking, only the flat list on the left side is allowed by OGC/ISO specifications.
  * However Apache SIS relaxes this rule by allowing hierarchies as shown on the right side. This
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
index e8328a0..438a5a9 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
@@ -63,8 +63,8 @@ import java.util.Objects;
  * while the <cite>legacy</cite> column lists the identifiers used in the legacy OGC 01-009 specification
  * (still used in some <cite>Well Known Texts</cite>).
  *
- * <table summary="Parameters and formula"><tr><td>
- * <table class="sis">
+ * <div class="horizontal-flow">
+ * <div><table class="sis">
  *   <caption>Parameters defined by EPSG</caption>
  *   <tr><th>Code</th> <th>Name</th>               <th>Abbr.</th>       <th>Legacy</th></tr>
  *   <tr><td>8605</td> <td>X-axis translation</td> <td>{@link #tX}</td> <td>{@code dx}</td></tr>
@@ -74,16 +74,14 @@ import java.util.Objects;
  *   <tr><td>8609</td> <td>Y-axis rotation</td>    <td>{@link #rY}</td> <td>{@code ey}</td></tr>
  *   <tr><td>8610</td> <td>Z-axis rotation</td>    <td>{@link #rZ}</td> <td>{@code ez}</td></tr>
  *   <tr><td>8611</td> <td>Scale difference</td>   <td>{@link #dS}</td> <td>{@code ppm}</td></tr>
- * </table>
- *
- * </td><td style="padding-left: 40pt; white-space: nowrap">
- * <center><b>Geocentric coordinates transformation</b></center>
- * <center>from (<var>X</var><sub>s</sub>, <var>Y</var><sub>s</sub>, <var>Z</var><sub>s</sub>)
- *           to (<var>X</var><sub>t</sub>, <var>Y</var><sub>t</sub>, <var>Z</var><sub>t</sub>)
- * <br><span style="font-size:small">(ignoring unit conversions)</span></center>
+ * </table></div>
+ * <div><p><b>Geocentric coordinates transformation</b></p>
+ * <p>from (<var>X</var><sub>s</sub>, <var>Y</var><sub>s</sub>, <var>Z</var><sub>s</sub>)
+ *      to (<var>X</var><sub>t</sub>, <var>Y</var><sub>t</sub>, <var>Z</var><sub>t</sub>)
+ * <br><span style="font-size:small">(ignoring unit conversions)</span></p>
  *
  * <p>{@include formulas.html#Bursa-Wolf}</p>
- * </td></tr></table>
+ * </div></div>
  *
  * The numerical fields in this {@code BursaWolfParameters} class use the EPSG abbreviations
  * with 4 additional constraints compared to the EPSG definitions:
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
index 5422ff4..e904db4 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
@@ -201,7 +201,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * Two frequently used authorities are "CRS" and "EPSG", which include the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>       <th>Type</th>         <th>Description</th></tr>
      *   <tr><td>CRS:84</td>     <td>Geographic</td>   <td>Like EPSG:4326 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr>
      *   <tr><td>EPSG:4326</td> <td>Geographic</td>    <td>World Geodetic System 1984</td></tr>
@@ -241,7 +242,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * Two frequently used authorities are "CRS" and "EPSG", which include the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Type</th>          <th>Description</th></tr>
      *   <tr><td>CRS:27</td>    <td>Geographic</td>    <td>Like EPSG:4267 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr>
      *   <tr><td>CRS:83</td>    <td>Geographic</td>    <td>Like EPSG:4269 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr>
@@ -285,7 +287,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:4936</td> <td>European Terrestrial Reference Frame 1989</td></tr>
      *   <tr><td>EPSG:4978</td> <td>World Geodetic System 1984</td></tr>
@@ -320,7 +323,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * A frequently used authority is "EPSG", which contains more than 4000 codes for projected CRS.
      * Some of them are:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:3034</td> <td>ETRS89 / Lambert Conic Conformal Europe</td></tr>
      *   <tr><td>EPSG:3395</td> <td>WGS 84 / World Mercator</td></tr>
@@ -352,7 +356,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:5715</td> <td>Mean Sea Level depth</td></tr>
      *   <tr><td>EPSG:5714</td> <td>Mean Sea Level height</td></tr>
@@ -419,7 +424,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:6349</td> <td>NAD83(2011) + NAVD88 height</td></tr>
      *   <tr><td>EPSG:7423</td> <td>ETRS89 + EVRF2007 height</td></tr>
@@ -467,7 +473,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:5800</td> <td>Astra Minas Grid</td></tr>
      * </table></div>
@@ -517,7 +524,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which contains hundred of datum. Some of them are:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Type</th>        <th>Description</th></tr>
      *   <tr><td>EPSG:6326</td> <td>Geodetic</td>    <td>World Geodetic System 1984</td></tr>
      *   <tr><td>EPSG:6322</td> <td>Geodetic</td>    <td>World Geodetic System 1972</td></tr>
@@ -551,7 +559,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which contains hundred of datum. Some of them are:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:6326</td> <td>World Geodetic System 1984</td></tr>
      *   <tr><td>EPSG:6322</td> <td>World Geodetic System 1972</td></tr>
@@ -585,7 +594,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:5100</td> <td>Mean Sea Level</td></tr>
      *   <tr><td>EPSG:1027</td> <td>EGM2008 geoid</td></tr>
@@ -656,7 +666,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:9315</td> <td>Seismic bin grid datum</td></tr>
      *   <tr><td>EPSG:9300</td> <td>Astra Minas</td></tr>
@@ -706,7 +717,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:7030</td> <td>WGS 84</td></tr>
      *   <tr><td>EPSG:7034</td> <td>Clarke 1880</td></tr>
@@ -737,7 +749,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:8901</td> <td>Greenwich</td></tr>
      *   <tr><td>EPSG:8903</td> <td>Paris</td></tr>
@@ -770,7 +783,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:1262</td> <td>World</td></tr>
      *   <tr><td>EPSG:3391</td> <td>World - between 80°S and 84°N</td></tr>
@@ -802,7 +816,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Type</th>              <th>Axes</th>                                    <th>Orientations</th>    <th>Unit</th></tr>
      *   <tr><td>EPSG:4496</td> <td>Cartesian 2D CS</td>   <td>easting, northing (E,N)</td>                 <td>east, north</td>     <td>metre</td></tr>
      *   <tr><td>EPSG:6422</td> <td>Ellipsoidal 2D CS</td> <td>latitude, longitude</td>                     <td>north, east</td>     <td>degree</td></tr>
@@ -836,7 +851,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Axes</th>                                    <th>Orientations</th>    <th>Unit</th></tr>
      *   <tr><td>EPSG:6422</td> <td>latitude, longitude</td>                     <td>north, east</td>     <td>degree</td></tr>
      *   <tr><td>EPSG:6424</td> <td>longitude, latitude</td>                     <td>east, north</td>     <td>degree</td></tr>
@@ -867,7 +883,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Axes</th>       <th>Orientations</th> <th>Unit</th></tr>
      *   <tr><td>EPSG:6498</td> <td>depth (D)</td>  <td>down</td>         <td>metre</td></tr>
      *   <tr><td>EPSG:6499</td> <td>height (H)</td> <td>up</td>           <td>metre</td></tr>
@@ -934,7 +951,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Axes</th>                    <th>Orientations</th> <th>Unit</th></tr>
      *   <tr><td>EPSG:4406</td> <td>easting, northing (E,N)</td> <td>east, north</td>  <td>kilometre</td></tr>
      *   <tr><td>EPSG:4496</td> <td>easting, northing (E,N)</td> <td>east, north</td>  <td>metre</td></tr>
@@ -966,7 +984,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Axes</th>                        <th>Orientations</th>    <th>Unit</th></tr>
      *   <tr><td>EPSG:6404</td> <td>latitude, longitude, radius</td> <td>north, east, up</td> <td>degree, degree, metre</td></tr>
      * </table></div>
@@ -1032,7 +1051,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th>   <th>Unit</th></tr>
      *   <tr><td>EPSG:106</td>  <td>Latitude (φ)</td>  <td>degree</td></tr>
      *   <tr><td>EPSG:107</td>  <td>Longitude (λ)</td> <td>degree</td></tr>
@@ -1065,7 +1085,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="Authority codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:9002</td> <td>decimal degree</td></tr>
      *   <tr><td>EPSG:9001</td> <td>metre</td></tr>
@@ -1099,7 +1120,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:8801</td> <td>Latitude of natural origin</td></tr>
      *   <tr><td>EPSG:8802</td> <td>Longitude of natural origin</td></tr>
@@ -1162,7 +1184,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement
      * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use.
      * A frequently used authority is "EPSG", which includes the following codes:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>Authority codes examples</caption>
      *   <tr><th>Code</th>      <th>Description</th></tr>
      *   <tr><td>EPSG:1133</td> <td>ED50 to WGS 84 (1)</td></tr>
      *   <tr><td>EPSG:1241</td> <td>NAD27 to NAD83 (1)</td></tr>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
index 7285714..12fd713 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
@@ -1310,7 +1310,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for coordinate reference systems are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Type</th>          <th>Description</th></tr>
      *   <tr><td>4326</td> <td>Geographic</td>    <td>World Geodetic System 1984</td></tr>
      *   <tr><td>4979</td> <td>Geographic 3D</td> <td>World Geodetic System 1984</td></tr>
@@ -1591,7 +1592,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for datums are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Type</th>        <th>Description</th></tr>
      *   <tr><td>6326</td> <td>Geodetic</td>    <td>World Geodetic System 1984</td></tr>
      *   <tr><td>6322</td> <td>Geodetic</td>    <td>World Geodetic System 1972</td></tr>
@@ -1871,7 +1873,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for ellipsoids are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>7030</td> <td>WGS 84</td></tr>
      *   <tr><td>7034</td> <td>Clarke 1880</td></tr>
@@ -1959,7 +1962,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for prime meridians are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>8901</td> <td>Greenwich</td></tr>
      *   <tr><td>8903</td> <td>Paris</td></tr>
@@ -2019,7 +2023,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for extents are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>1262</td> <td>World</td></tr>
      *   <tr><td>3391</td> <td>World - between 80°S and 84°N</td></tr>
@@ -2093,7 +2098,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for coordinate systems are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Type</th>              <th>Axes</th>                                    <th>Orientations</th> <th>Unit</th></tr>
      *   <tr><td>4406</td> <td>Cartesian 2D CS</td>   <td>easting, northing (E,N)</td>                 <td>east, north</td>     <td>kilometre</td></tr>
      *   <tr><td>4496</td> <td>Cartesian 2D CS</td>   <td>easting, northing (E,N)</td>                 <td>east, north</td>     <td>metre</td></tr>
@@ -2298,7 +2304,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for axes are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th>   <th>Unit</th></tr>
      *   <tr><td>106</td>  <td>Latitude (φ)</td>  <td>degree</td></tr>
      *   <tr><td>107</td>  <td>Longitude (λ)</td> <td>degree</td></tr>
@@ -2400,7 +2407,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for units are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>9002</td> <td>decimal degree</td></tr>
      *   <tr><td>9001</td> <td>metre</td></tr>
@@ -2471,7 +2479,8 @@ codes:  for (int i=0; i<codes.length; i++) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for parameters are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>8801</td> <td>Latitude of natural origin</td></tr>
      *   <tr><td>8802</td> <td>Longitude of natural origin</td></tr>
@@ -2710,7 +2719,8 @@ next:               while (r.next()) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for operation methods are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>9804</td> <td>Mercator (variant A)</td></tr>
      *   <tr><td>9802</td> <td>Lambert Conic Conformal (2SP)</td></tr>
@@ -2766,7 +2776,8 @@ next:               while (r.next()) {
      * <div class="note"><b>Example:</b>
      * some EPSG codes for coordinate transformations are:
      *
-     * <table class="sis" summary="EPSG codes examples">
+     * <table class="sis">
+     * <caption>EPSG codes examples</caption>
      *   <tr><th>Code</th> <th>Description</th></tr>
      *   <tr><td>1133</td> <td>ED50 to WGS 84 (1)</td></tr>
      *   <tr><td>1241</td> <td>NAD27 to NAD83 (1)</td></tr>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
index e18254f..1b6183b 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
@@ -780,7 +780,7 @@ check:      for (int isTarget=0; ; isTarget++) {        // 0 == source check; 1
      * sometime the target dimensions returned by this method can be mapped directly to wraparound axes in source CRS,
      * but this is not always the case. For example consider the following operation chain:
      *
-     * <center>source projected CRS ⟶ base CRS ⟶ target geographic CRS</center>
+     * <div style="text-align:center">source projected CRS ⟶ base CRS ⟶ target geographic CRS</div>
      *
      * In this example, a wraparound axis in the target CRS (the longitude) can be mapped to a wraparound axis in
      * the {@linkplain org.apache.sis.referencing.crs.DefaultProjectedCRS#getBaseCRS() base CRS}. But there is no
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
index ac044c8..d79cb8d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
@@ -456,7 +456,8 @@ public abstract class MatrixSIS implements Matrix, LenientComparable, Cloneable,
      * If this matrix was an instance of Java2D {@link AffineTransform}, then invoking this method would
      * be equivalent to invoke the following {@code AffineTransform} methods in the order shown below:
      *
-     * <table class="sis" summary="Equivalence between this method and AffineTransform methods">
+     * <table class="sis">
+     * <caption>Equivalence between this method and AffineTransform methods</caption>
      *   <tr>
      *     <th>{@code MatrixSIS} method</th>
      *     <th class="sep">{@code AffineTransform} methods</th>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java
index 588ca24..56a7c53 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java
@@ -41,9 +41,9 @@
  * <p><b>Example:</b> in the two dimensional case, an affine transform from a map projection (units in metres)
  * to the screen (units in pixels) can be performed by the following matrix multiplication:</p>
  *
- * <center>
+ * <div style="text-align:center">
  * <img src="doc-files/AffineTransform.png" alt="Matrix representation of an affine transform">
- * </center>
+ * </div>
  *
  * <div class="section">Extended floating point precision</div>
  * This package uses extended floating point precision for most arithmetic operations like matrix multiplications and
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
index 47fd3e9..6fcc036 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
@@ -91,19 +91,15 @@ import static java.lang.Math.*;
  * sides of {@code NormalizedProjection} respectively. Those matrices show only the basic parameters common to most projections.
  * Some projections will put more elements in those matrices.
  *
- * <center>
- *   <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a map projection">
- *     <tr>
- *       <td>{@include ../transform/formulas.html#SwapAxes}</td>
- *       <td>→</td>
- *       <td>{@include ../transform/formulas.html#NormalizeGeographic}</td>
- *       <td>→</td>
- *       <td>{@code NormalizedProjection}</td>
- *       <td>→</td>
- *       <td>{@include ../transform/formulas.html#DenormalizeCartesian}</td>
- *     </tr>
- *   </table>
- * </center>
+ * <div class="horizontal-flow" style="align-items:center">
+ *   <div>{@include ../transform/formulas.html#SwapAxes}</div>
+ *   <div>→</div>
+ *   <div>{@include ../transform/formulas.html#NormalizeGeographic}</div>
+ *   <div>→</div>
+ *   <div>{@code NormalizedProjection}</div>
+ *   <div>→</div>
+ *   <div>{@include ../transform/formulas.html#DenormalizeCartesian}</div>
+ * </div>
  *
  * <div class="note"><b>Note:</b>
  * The first matrix on the left side is for {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes
@@ -277,7 +273,7 @@ public abstract class NormalizedProjection extends AbstractMathTransform2D imple
          * sphere at latitude φ will be used instead than the semi-major axis length in the denormalisation matrix.
          * In other words, if provided then <var>a</var> is replaced by <var>R</var><sub>c</sub> below:
          *
-         * <center>{@include ../transform/formulas.html#DenormalizeCartesian}</center>
+         * <div style="text-align:center">{@include ../transform/formulas.html#DenormalizeCartesian}</div>
          *
          * <p>This enumeration shall be used <strong>only</strong> when the user requested explicitly spherical
          * formulas, for example the <cite>"Mercator (Spherical)"</cite> projection (EPSG:1026), but the figure
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
index b4495ec..5180095 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
@@ -78,17 +78,13 @@ import org.apache.sis.util.ArgumentChecks;
  * (ignoring {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes changes of axis order})
  * is a chain of 3 transforms as shown below:
  *
- * <center>
- *   <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a map projection">
- *     <tr>
- *       <td>{@include formulas.html#NormalizeGeographic}</td>
- *       <td>→</td>
- *       <td>Map projection on a normalized ellipsoid</td>
- *       <td>→</td>
- *       <td>{@include formulas.html#DenormalizeCartesian}</td>
- *     </tr>
- *   </table>
- * </center>
+ * <div class="horizontal-flow" style="align-items:center">
+ *   <div>{@include formulas.html#NormalizeGeographic}</div>
+ *   <div>→</div>
+ *   <div>Map projection on a normalized ellipsoid</div>
+ *   <div>→</div>
+ *   <div>{@include formulas.html#DenormalizeCartesian}</div>
+ * </div>
  *
  * {@code ContextualParameters} is typically created and used as below:
  *
@@ -152,7 +148,7 @@ public class ContextualParameters extends Parameters implements Serializable {
          * before to apply a non-linear operation. For example in a map projection, this matrix is
          * typically (but not necessarily) as below:
          *
-         * <center>{@include formulas.html#NormalizeGeographic}</center>
+         * <div style="text-align:center">{@include formulas.html#NormalizeGeographic}</div>
          */
         NORMALIZATION,
 
@@ -160,7 +156,7 @@ public class ContextualParameters extends Parameters implements Serializable {
          * Inverse of the {@link #NORMALIZATION} matrix.
          * For example in a map projection, this matrix is typically (but not necessarily) as below:
          *
-         * <center>{@include formulas.html#DenormalizeGeographic}</center>
+         * <div style="text-align:center">{@include formulas.html#DenormalizeGeographic}</div>
          */
         INVERSE_NORMALIZATION,
 
@@ -169,7 +165,7 @@ public class ContextualParameters extends Parameters implements Serializable {
          * after execution of a non-linear operation. For example in a map projection, this matrix is typically
          * (but not necessarily) as below:
          *
-         * <center>{@include formulas.html#DenormalizeCartesian}</center>
+         * <div style="text-align:center">{@include formulas.html#DenormalizeCartesian}</div>
          */
         DENORMALIZATION,
 
@@ -437,7 +433,7 @@ public class ContextualParameters extends Parameters implements Serializable {
      * the normalization matrix with the following matrix. This will have the effect of applying the conversion
      * described above before any other operation:</p>
      *
-     * <center>{@include formulas.html#NormalizeGeographic}</center>
+     * <div style="text-align:center">{@include formulas.html#NormalizeGeographic}</div>
      *
      * @param  λ0  longitude of the central meridian, in degrees.
      * @return the normalization affine transform as a matrix.
@@ -471,7 +467,7 @@ public class ContextualParameters extends Parameters implements Serializable {
      * the denormalization matrix with the following matrix. This will have the effect of applying the conversion
      * described above after the non-linear kernel operation:</p>
      *
-     * <center>{@include formulas.html#DenormalizeGeographic}</center>
+     * <div style="text-align:center">{@include formulas.html#DenormalizeGeographic}</div>
      *
      * @param  λ0  longitude of the central meridian, in degrees.
      * @return the denormalization affine transform as a matrix.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
index c027c9c..1a978be 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
@@ -249,26 +249,19 @@ public abstract class DatumShiftTransform extends AbstractMathTransform implemen
      * It may be conversions between degrees and radians units, or conversions from geodetic coordinates to grid indices.
      *
      * <div class="note"><b>Example:</b>
-     * The chain of transforms of an {@link InterpolatedGeocentricTransform} is:
-     * <center>
-     *   <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a datum shift">
-     *     <tr style="text-align: center">
-     *       <th>Degrees to radians</th><th></th>
-     *       <th>{@code DatumShiftTransform} work</th><th></th>
-     *       <th>Radians to degrees</th>
-     *     </tr><tr>
-     *       <td>{@include formulas.html#NormalizeGeographic}</td>
-     *       <td>→</td>
-     *       <td style="vertical-align: top"><ol style="padding-left: 15px">
-     *         <li>Geographic to geocentric conversion</li>
-     *         <li>Geocentric interpolation</li>
-     *         <li>Geocentric to geographic conversion</li>
-     *       </ol></td>
-     *       <td>→</td>
-     *       <td>{@include formulas.html#DenormalizeGeographic}</td>
-     *     </tr>
-     *   </table>
-     * </center></div>
+     *   The chain of transforms of an {@link InterpolatedGeocentricTransform} is:
+     *   <div class="horizontal-flow" style="align-items:center">
+     *     <div>{@include formulas.html#NormalizeGeographic}</div>
+     *     <div>→</div>
+     *     <div><ol style="padding-left: 15px">
+     *       <li>Geographic to geocentric conversion</li>
+     *       <li>Geocentric interpolation</li>
+     *       <li>Geocentric to geographic conversion</li>
+     *     </ol></div>
+     *     <div>→</div>
+     *     <div>{@include formulas.html#DenormalizeGeographic}</div>
+     *   </div>
+     * </div>
      *
      * This method returns the parameters for the part in the middle of above example.
      * The content of this part is highly implementation-dependent and used mostly for
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
index 77225f8..daf6ce0 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
@@ -132,7 +132,7 @@ import org.apache.sis.util.resources.Errors;
  * files for example, which often use spherical models instead than ellipsoidal ones.</p>
  *
  *
- * <div class="section"><a name="Obligation">Mandatory and optional parameters</a></div>
+ * <div class="section"><a id="Obligation">Mandatory and optional parameters</a></div>
  * Parameters are flagged as either <cite>mandatory</cite> or <cite>optional</cite>.
  * A parameter may be mandatory and still have a default value. In the context of this package, "mandatory"
  * means that the parameter is an essential part of the projection defined by standards.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java
index deb3c93..9f5f1fd 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java
@@ -43,9 +43,9 @@ import org.opengis.referencing.operation.NoninvertibleTransformException;
  * except in the last column, which contains 1. For example a conversion from projected coordinates (metres)
  * to display coordinates (pixel) can be done as below:
  *
- * <center>
+ * <div style="text-align:center">
  * <img src="../matrix/doc-files/AffineTransform.png" alt="Matrix representation of an affine transform">
- * </center>
+ * </div>
  *
  * <div class="section">Projective transform</div>
  * If the last matrix row does not met the above constraints, then the transform is not affine.
@@ -55,7 +55,7 @@ import org.opengis.referencing.operation.NoninvertibleTransformException;
  * For example a square matrix of size 4×4 is used for transforming three-dimensional coordinates.
  * The transformed points {@code (x',y',z')} are computed as below:
  *
- * <center>{@include formulas.html#ProjectiveTransform}</center>
+ * <div style="text-align:center">{@include formulas.html#ProjectiveTransform}</div>
  *
  * <div class="section">Instantiation</div>
  * The easiest way to instantiate a {@code LinearTransform} is to use the {@link MathTransforms#linear(Matrix)}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html
index 7f554ba..fb7fff4 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html
@@ -39,8 +39,8 @@
     The <code>{@include}</code> taglet is defined in the <code>sis-build-helper</code> module.</div>
 
     <h2>ProjectiveTransform</h2>
-    <table class="compact" summary="Projective transform matrix">
-      <tr><td nowrap>
+    <div class="horizontal-flow">
+      <div>
         <math display="block" alttext="MathML capable browser required">
           <mfenced open="[" close="]">
             <mtable>
@@ -59,9 +59,9 @@
           </mfenced>
         </math>
 
-        </td><td style="vertical-align: middle" >
+        </div><div style="vertical-align: middle" >
           <blockquote>where <var>u</var>, <var>v</var>, <var>w</var> and <var>t</var> are obtained by</blockquote>
-        </td><td nowrap>
+        </div><div>
 
         <math display="block" alttext="MathML capable browser required">
           <mfenced open="[" close="]">
@@ -111,8 +111,8 @@
             </mtable>
           </mfenced>
         </math>
-      </td></tr>
-    </table>
+      </div>
+    </div>
 
 
 
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java
index 3e66457..e368ddc 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java
@@ -163,6 +163,9 @@ abstract class SystemConverter<S,T> extends ClassPair<S,T> implements ObjectConv
     /**
      * Returns the singleton instance on deserialization, if any. If no instance already exist
      * in the virtual machine, we do not cache the instance (for now) for security reasons.
+     *
+     * @return the object to use after deserialization.
+     * @throws ObjectStreamException if the serialized object defines an unknown data type.
      */
     protected final Object readResolve() throws ObjectStreamException {
         return unique();
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java b/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java
index de41015..2184324 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java
@@ -300,7 +300,8 @@ public class Plane implements DoubleBinaryOperator, Cloneable, Serializable {
      * the following content:
      *
      * <blockquote>
-     * <table class="compact" summary="x and y vector content">
+     * <table class="compact">
+     *   <caption><var>x</var> and <var>y</var> vectors content</caption>
      *   <tr>
      *     <th><var>x</var> vector</th>
      *     <th><var>y</var> vector</th>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
index 7e10ec3..5062949 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
@@ -456,7 +456,8 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri
      * assuming that the distribution is Gaussian (first column) or assuming that the
      * distribution is uniform (second column).</p>
      *
-     * <table class="sis" summary="Propability values for some standard deviations.">
+     * <table class="sis">
+     *   <caption>Probability values for some standard deviations</caption>
      *   <tr><th>n</th><th>Gaussian</th><th>uniform</th>
      *   <tr><td>0.5</td><td>69.1%</td><td>28.9%</td></tr>
      *   <tr><td>1.0</td><td>84.2%</td><td>57.7%</td></tr>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java b/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
index f51f206..2381eff 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
@@ -85,8 +85,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}
      * and the unlocalized name is "nanometre".
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI units:</td>         <td style="word-spacing:1em"><u>{@code NANOMETRE}</u>, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -103,8 +104,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “millimetre” and the identifier is EPSG:1025.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, <u>{@code MILLIMETRE}</u>, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -119,8 +121,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “centimetre” and the identifier is EPSG:1033.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, <u>{@code CENTIMETRE}</u>, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -135,8 +138,9 @@ public final class Units extends Static {
      * The unlocalized name is “metre” and the identifier is EPSG:9001.
      * This is the base of all other {@linkplain #isLinear(Unit) linear} units.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <u><b>{@code METRE}</b></u>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -151,8 +155,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “kilometre” and the identifier is EPSG:9036.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, <u>{@code KILOMETRE}</u>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
@@ -173,8 +178,9 @@ public final class Units extends Static {
      * International Hydrographic Organization (IHO) and the International Bureau of Weights and Measures (BIPM).
      * But “NM” and “nmi” are also in use.</p>
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, <u>{@code NAUTICAL_MILE}</u>.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
@@ -193,8 +199,9 @@ public final class Units extends Static {
      * for avoiding confusion with the US survey mile.
      * The identifier is EPSG:9093.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, <u>{@code STATUTE_MILE}</u>, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
@@ -210,8 +217,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “US survey foot” and the identifier is EPSG:9003.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, <u>{@code US_SURVEY_FOOT}</u>, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -226,8 +234,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “Clarke’s foot” and the identifier is EPSG:9005.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, <u>{@code CLARKE_FOOT}</u>, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -242,8 +251,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “foot” and the identifier is EPSG:9002.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, <u>{@code FOOT}</u>, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -258,8 +268,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}
      * and the unlocalized name is “inch”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, <u>{@code INCH}</u>, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -275,8 +286,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}
      * and the unlocalized name is “point”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code POINT}</u>, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
@@ -290,8 +302,9 @@ public final class Units extends Static {
      * The SI derived unit for area (m²).
      * The unlocalized name is “square metre”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI area units:</td> <td style="word-spacing:1em"><u><b>{@code SQUARE_METRE}</b></u>, {@link #HECTARE}.</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #CUBIC_METRE}.</td></tr>
      * </table></div>
@@ -306,8 +319,9 @@ public final class Units extends Static {
      * While not an SI unit, the hectare is often used in the measurement of land.
      * The unlocalized name is “hectare”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI area units:</td> <td style="word-spacing:1em"><b>{@link #SQUARE_METRE}</b>, <u>{@code HECTARE}</u>.</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #CUBIC_METRE}.</td></tr>
      * </table></div>
@@ -346,8 +360,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN},
      * the unlocalized name is “microradian” and the identifier is EPSG:9109.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em"><u>{@code MICRORADIAN}</u>, <b>{@link #RADIAN}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr>
@@ -363,8 +378,9 @@ public final class Units extends Static {
      * The unlocalized name is “radian” and the identifier is EPSG:9101.
      * This is the base of all other {@linkplain #isAngular(Unit) angular} units.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em">{@link #MICRORADIAN}, <u><b>{@code RADIAN}</b></u>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}, {@link #RADIANS_PER_SECOND}.</td></tr>
@@ -380,8 +396,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN},
      * the unlocalized name is “degree” and the identifier is EPSG:9102.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code DEGREE}</u>, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr>
@@ -398,8 +415,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN},
      * the unlocalized name is “arc-minute” and the identifier is EPSG:9103.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, <u>{@code ARC_MINUTE}</u>, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr>
@@ -417,8 +435,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN},
      * the unlocalized name is “arc-second” and the identifier is EPSG:9104.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, <u>{@code ARC_SECOND}</u>, {@link #GRAD}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr>
@@ -435,8 +454,9 @@ public final class Units extends Static {
      * the unlocalized name is “grad”, but the “gon” alias is also accepted.
      * The identifier is EPSG:9105.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI angle units:</td>   <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, <u>{@code GRAD}</u>.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr>
@@ -452,8 +472,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}
      * and the unlocalized name is “millisecond”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em"><u>{@code MILLISECOND}</u>, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr>
@@ -470,8 +491,9 @@ public final class Units extends Static {
      * The unlocalized name is “second” and the identifier is EPSG:1040.
      * This is the base of all other {@linkplain #isTemporal(Unit) temporal} units.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <u><b>{@link #SECOND}</b></u>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr>
@@ -486,8 +508,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}
      * and the unlocalized name is “minute”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code MINUTE}</u>, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr>
@@ -502,8 +525,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}
      * and the unlocalized name is “hour”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, <u>{@code HOUR}</u>, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr>
@@ -518,8 +542,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}
      * and the unlocalized name is “day”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, <u>{@code DAY}</u>, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr>
@@ -534,8 +559,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}
      * and the unlocalized name is “week”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, <u>{@link #WEEK}</u>, {@link #TROPICAL_YEAR}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr>
@@ -552,8 +578,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND},
      * the unlocalized name is “year” and the identifier is EPSG:1029.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI time units:</td>    <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, <u>{@code TROPICAL_YEAR}</u>.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr>
@@ -568,8 +595,9 @@ public final class Units extends Static {
      * One hertz is equal to one cycle per {@linkplain #SECOND second}.
      * The unlocalized name is “hertz”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td><td style="word-spacing:0.5em">{@link #SECOND}<sup>-1</sup></td></tr>
      * </table></div>
      *
@@ -581,8 +609,9 @@ public final class Units extends Static {
      * The unit for angular velocity (rad/s).
      * The identifier is EPSG:1035.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #RADIAN} ∕ {@link #SECOND}</td></tr>
      * </table></div>
      *
@@ -594,8 +623,9 @@ public final class Units extends Static {
      * The SI derived unit for speed (m/s).
      * The unlocalized name is “metres per second” and the identifier is EPSG:1026.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI speed units:</td>   <td style="word-spacing:1em"><u><b>{@code METRES_PER_SECOND}</b></u>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}.</td></tr>
      *   <tr><td>Components:</td>       <td style="word-spacing:0.5em">{@link #METRE} ∕ {@link #SECOND}</td></tr>
@@ -610,8 +640,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRES_PER_SECOND}
      * and the unlocalized name is “kilometres per hour”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI speed units:</td>   <td style="word-spacing:1em"><b>{@link #METRES_PER_SECOND}</b>.</td></tr>
      *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code KILOMETRES_PER_HOUR}</u>.</td></tr>
      *   <tr><td>Components:</td>       <td style="word-spacing:0.5em">{@link #KILOMETRE} ∕ {@link #HOUR}</td></tr>
@@ -628,8 +659,9 @@ public final class Units extends Static {
      * for height measurements on a vertical axis.
      * The unlocalized name is “pascal”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><u><b>{@code PASCAL}</b></u>, {@link #HECTOPASCAL}.</td></tr>
      *   <tr><td>In other systems:</td>  <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr>
      *   <tr><td>Components:</td>        <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr>
@@ -646,8 +678,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL}
      * and the unlocalized name is “hectopascal”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, <u>{@code HECTOPASCAL}</u>.</td></tr>
      *   <tr><td>In other systems:</td>  <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr>
      *   <tr><td>Components:</td>        <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr>
@@ -664,8 +697,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL}
      * and the unlocalized name is “decibar”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr>
      *   <tr><td>In other systems:</td>  <td style="word-spacing:1em"><u>{@code DECIBAR}</u>, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr>
      *   <tr><td>Components:</td>        <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr>
@@ -682,8 +716,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL}
      * and the unlocalized name is “bar”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr>
      *   <tr><td>In other systems:</td>  <td style="word-spacing:1em">{@link #DECIBAR}, <u>{@code BAR}</u>, {@link #ATMOSPHERE}.</td></tr>
      *   <tr><td>Components:</td>        <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr>
@@ -699,8 +734,9 @@ public final class Units extends Static {
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL}
      * and the unlocalized name is “atmosphere”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr>
      *   <tr><td>In other systems:</td>  <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, <u>{@code ATMOSPHERE}</u>.</td></tr>
      *   <tr><td>Components:</td>        <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr>
@@ -715,8 +751,9 @@ public final class Units extends Static {
      * One newton is the force required to give a mass of 1 kg an acceleration of 1 m/s².
      * The unlocalized name is “newton”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #KILOGRAM} ⋅ {@link #METRES_PER_SECOND} ∕ {@link #SECOND}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #PASCAL}, {@link #JOULE}, {@link #WATT}.</td></tr>
      * </table></div>
@@ -729,8 +766,9 @@ public final class Units extends Static {
      * The SI derived unit for energy (J).
      * The unlocalized name is “joule”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #NEWTON} ⋅ {@link #METRE}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #WATT}.</td></tr>
      * </table></div>
@@ -744,8 +782,9 @@ public final class Units extends Static {
      * One watt is equal to one joule per second.
      * The unlocalized name is “watt”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #JOULE} ∕ {@link #SECOND}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #VOLT}.</td></tr>
      * </table></div>
@@ -758,8 +797,9 @@ public final class Units extends Static {
      * The SI derived unit for electric potential difference (V).
      * The unlocalized name is “volt”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #WATT} ∕ {@link #AMPERE}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #FARAD}, {@link #OHM}, {@link #SIEMENS}, {@link #WEBER}.</td></tr>
      * </table></div>
@@ -772,8 +812,9 @@ public final class Units extends Static {
      * The SI base unit for electric current (A).
      * The unlocalized name is “ampere”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #COULOMB}, {@link #VOLT}, {@link #OHM}, {@link #SIEMENS}, {@link #HENRY}.</td></tr>
      * </table></div>
      *
@@ -786,8 +827,9 @@ public final class Units extends Static {
      * One coulomb is the charge transfered by a current of one ampere during one second.
      * The unlocalized name is “coulomb”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #AMPERE} ⋅ {@link #SECOND}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #FARAD}.</td></tr>
      * </table></div>
@@ -800,8 +842,9 @@ public final class Units extends Static {
      * The SI derived unit for electric capacitance (F).
      * The unlocalized name is “farad”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #COULOMB} ∕ {@link #VOLT}</td></tr>
      * </table></div>
      *
@@ -814,8 +857,9 @@ public final class Units extends Static {
      * This is the inverse of electric conductance.
      * The unlocalized name is “ohm”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #VOLT} ∕ {@link #AMPERE}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SIEMENS}.</td></tr>
      * </table></div>
@@ -829,8 +873,9 @@ public final class Units extends Static {
      * This is the inverse of electric resistance.
      * The unlocalized name is “siemens”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #AMPERE} ∕ {@link #VOLT}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #OHM}.</td></tr>
      * </table></div>
@@ -843,8 +888,9 @@ public final class Units extends Static {
      * The SI derived unit for magnetic flux (Wb).
      * The unlocalized name is “weber”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td>    <td style="word-spacing:0.5em">{@link #VOLT} ⋅ {@link #SECOND}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #TESLA}, {@link #HENRY}.</td></tr>
      * </table></div>
@@ -857,8 +903,9 @@ public final class Units extends Static {
      * The SI derived unit for magnetic flux density (T).
      * The unlocalized name is “tesla”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #WEBER} ∕ {@link #SQUARE_METRE}</td></tr>
      * </table></div>
      *
@@ -870,8 +917,9 @@ public final class Units extends Static {
      * The SI derived unit for inductance (H).
      * The unlocalized name is “henry”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #WEBER} ∕ {@link #AMPERE}</td></tr>
      * </table></div>
      *
@@ -883,8 +931,9 @@ public final class Units extends Static {
      * The SI base unit for thermodynamic temperature (K).
      * The unlocalized name is “kelvin”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><u><b>{@code KELVIN}</b></u>.</td></tr>
      *   <tr><td>In other systems:</td>     <td style="word-spacing:1em">{@link #CELSIUS}, {@link #FAHRENHEIT}.</td></tr>
      * </table></div>
@@ -898,8 +947,9 @@ public final class Units extends Static {
      * The symbol is °C and the unlocalized name is “Celsius”.
      * Note that this is the only SI unit with an upper-case letter in its name.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><b>{@link #KELVIN}</b>.</td></tr>
      *   <tr><td>In other systems:</td>     <td style="word-spacing:1em"><u>{@code CELSIUS}</u>, {@link #FAHRENHEIT}.</td></tr>
      * </table></div>
@@ -913,8 +963,9 @@ public final class Units extends Static {
      * The symbol is °F and the unlocalized name is “Fahrenheit”
      * (note the upper-case "F" letter).
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><b>{@link #KELVIN}</b>.</td></tr>
      *   <tr><td>In other systems:</td>     <td style="word-spacing:1em">{@link #CELSIUS}, <u>{@code FAHRENHEIT}</u>.</td></tr>
      * </table></div>
@@ -927,8 +978,9 @@ public final class Units extends Static {
      * The SI base unit for luminous intensity (cd).
      * The unlocalized name is “candela”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #LUMEN}, {@link #LUX}.</td></tr>
      * </table></div>
      *
@@ -940,8 +992,9 @@ public final class Units extends Static {
      * The SI derived unit for luminous flux (lm).
      * The unlocalized name is “lumen”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #CANDELA} ⋅ {@link #STERADIAN}</td></tr>
      *   <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #LUX}.</td></tr>
      * </table></div>
@@ -954,8 +1007,9 @@ public final class Units extends Static {
      * The SI derived unit for illuminance (lx).
      * The unlocalized name is “lux”.
      *
-     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
-     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     * <div class="note">
+     * <table class="compact" style="margin-left:30px; line-height:1.25">
+     *   <caption>Related units</caption>
      *   <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #LUX} ∕ {@link #SQUARE_METRE}</td></tr>
      * </table></div>
      *
@@ -1645,12 +1699,8 @@ public final class Units extends Static {
      * <table class="sis">
      *   <caption>EPSG codes for units</caption>
      *   <tr>
-     *     <th>Angular units</th>
-     *     <th class="sep">Linear units</th>
-     *     <th class="sep">Temporal units</th>
-     *     <th class="sep">Scale units</th>
-     *   </tr><tr>
-     *     <td><table class="compact" summary="Angular units">
+     *     <td><table class="compact">
+     *       <caption>Angular units</caption>
      *       <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr>
      *       <tr><td>9101</td><td>radian</td></tr>
      *       <tr><td>9102</td><td>decimal degree</td></tr>
@@ -1664,7 +1714,8 @@ public final class Units extends Static {
      *       <tr><td>9111</td><td>sexagesimal degree-minute</td></tr>
      *       <tr><td>9122</td><td>decimal degree</td></tr>
      *     </table></td>
-     *     <td class="sep"><table class="compact" summary="Linear units">
+     *     <td class="sep"><table class="compact">
+     *       <caption>Linear units</caption>
      *       <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr>
      *       <tr><td>1025</td><td>millimetre</td></tr>
      *       <tr><td>1033</td><td>centimetre</td></tr>
@@ -1675,12 +1726,14 @@ public final class Units extends Static {
      *       <tr><td>9036</td><td>kilometre</td></tr>
      *       <tr><td>9093</td><td>statute mile</td></tr>
      *     </table></td>
-     *     <td class="sep"><table class="compact" summary="Time units">
+     *     <td class="sep"><table class="compact">
+     *       <caption>Time units</caption>
      *       <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr>
      *       <tr><td>1029</td><td>year</td></tr>
      *       <tr><td>1040</td><td>second</td></tr>
      *     </table></td>
-     *     <td class="sep"><table class="compact" summary="Scale units">
+     *     <td class="sep"><table class="compact">
+     *       <caption>Scale units</caption>
      *       <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr>
      *       <tr><td>9201</td><td>unity</td></tr>
      *       <tr><td>9202</td><td>parts per million</td></tr>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java b/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
index 690a0e8..5c5534b 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
@@ -108,7 +108,8 @@ public interface LenientComparable {
      * The strictness level is controlled by the second argument,
      * from stricter to more permissive values:
      *
-     * <table class="compact" summary="Description of comparison modes.">
+     * <table class="compact">
+     *   <caption>Description of comparison modes</caption>
      *   <tr><td>{@link ComparisonMode#STRICT STRICT}:</td>
      *        <td>All attributes of the compared objects shall be strictly equal.</td></tr>
      *   <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</td>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java
index f482c78..06fde02 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java
@@ -257,7 +257,8 @@ public interface TreeTable {
          * and an instrument containing a reference to the platform on which the instrument is installed. In this example,
          * nodes 2 and 4 contain a reference to the same {@code Platform} instance, so we have a cyclic graph:
          *
-         * <table class="compact" summary="Metadata tree example">
+         * <table class="compact">
+         * <caption>Metadata tree example</caption>
          * <tr><th>Node 1:</th><td>{@code  }{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultAcquisitionInformation Acquisition information}</td></tr>
          * <tr><th>Node 2:</th><td>{@code   └─}{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultPlatform Platform}</td></tr>
          * <tr><th>Node 3:</th><td>{@code      └─}{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultInstrument Instrument}</td></tr>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java b/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java
index a69c3d5..78398e5 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java
@@ -52,7 +52,8 @@ import static org.apache.sis.internal.util.StandardDateFormat.UTC;
  * this formatter uses only one line per message instead of two. For example messages formatted by
  * {@code MonolineFormatter} may look like:
  *
- * <blockquote><table style="color:white; background:black" class="compact" summary="Logging example.">
+ * <blockquote><table style="color:white; background:black" class="compact">
+ * <caption style="color:black">Logging example</caption>
  * <tr><td><code>00:01</code></td><td style="background:blue"><code>CONFIG</code></td>
  *     <td><code><b>[MyApplication]</b> Read configuration from “my-application/setup.xml”.</code></td></tr>
  * <tr><td><code>00:03</code></td><td style="background:green"><code>INFO</code></td>
diff --git a/pom.xml b/pom.xml
index 0197a32..1790ea7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -863,7 +863,9 @@
           <keywords>true</keywords>                             <!-- Adds HTML meta keyword tags to the generated files. -->
           <breakiterator>true</breakiterator>                   <!-- Better boundary detection when determining the end of the first sentence. -->
           <validateLinks>true</validateLinks>                   <!-- Validates content of package-list resources. -->
+          <detectJavaApiLink>false</detectJavaApiLink>          <!-- Let us declare link to Java API. -->
           <links>
+            <link>https://docs.oracle.com/javase/8/docs/api</link>
             <link>http://unitsofmeasurement.github.io/unit-api/site/apidocs</link>
             <link>http://www.geoapi.org/snapshot/pending</link>
             <link>http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/javadoc</link>
@@ -914,7 +916,7 @@
           </groups>
 
           <!-- Internal packages to hide from javadoc. -->
-          <excludePackageNames>org.apache.sis.internal:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider:com</excludePackageNames>
+          <excludePackageNames>org.apache.sis.internal.*:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider</excludePackageNames>
 
           <!-- Custom taglets, some of them implemented in Java. -->
           <tags>
diff --git a/src/main/javadoc/sis.css b/src/main/javadoc/sis.css
index b9eb105..9323af4 100644
--- a/src/main/javadoc/sis.css
+++ b/src/main/javadoc/sis.css
@@ -95,6 +95,12 @@ table.sis tr td.sep {
  * Table without vertical space between rows and a little bit of space between columns.
  * This table has no border and text is left-aligned.
  */
+table.compact caption {
+  margin-top:    12px;
+  margin-bottom: 12px;
+  font-weight:   bold;
+}
+
 table.compact {
   margin:         6px 0px;
   width:          auto;
@@ -112,6 +118,22 @@ table.compact tr td {
 
 
 /*
+ * Layout two or more elements horizontally.
+ */
+div.horizontal-flow {
+  display:       flex;
+  margin-right:  40px;
+  margin-top:    12px;
+  margin-bottom: 12px;
+}
+
+div.horizontal-flow > div {
+  margin-left:  12px;
+  margin-right: 12px;
+}
+
+
+/*
  * Definition of <div class="note">
  *
  * Note or examples.
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java
index 7937f53..6310d20 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java
@@ -267,7 +267,7 @@ public class Convention {
      * <div class="note"><b>Example:</b>
      * consider the following netCDF file (simplified):
      *
-     * {@preformat netcdf
+     * {@preformat text
      *   dimensions:
      *     grid_y =  161 ;
      *     grid_x =  126 ;
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
index e4a3038..19a2d83 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
@@ -57,7 +57,8 @@ import org.opengis.metadata.extent.GeographicDescription;
  * Name of attributes used in the mapping from/to netCDF metadata to ISO 19115 metadata.
  * The attributes recognized by SIS are listed below:
  *
- * <blockquote><table class="compact" summary="List of all netCDF attributes.">
+ * <blockquote><table class="compact">
+ * <caption>List of all netCDF attributes</caption>
  * <tr valign="top"><td style="width: 25%">
  * {@value     #ACCESS_CONSTRAINT}<br>
  * {@value     #ACKNOWLEDGEMENT}<br>
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
index e8a4caf..3b435aa 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
@@ -19,7 +19,7 @@ package org.apache.sis.storage;
 
 /**
  * An {@link Aggregate} with writing capabilities. {@code WritableAggregate} inherits the reading capabilities from its
- * parent and adds the capabilities to {@linkplain #add(Resource) add} or {@linplain #remove(Resource) remove} resources.
+ * parent and adds the capabilities to {@linkplain #add(Resource) add} or {@linkplain #remove(Resource) remove} resources.
  *
  * @author  Johann Sorel (Geomatys)
  * @version 1.0


Mime
View raw message