You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2021/09/14 09:04:35 UTC

[sis] 01/04: (Javadoc only): Replace

tags by

or

, except when they are used for a note instead than a section.

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 7174503768c4d02765d697cc12fb9d720f1a9175
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Tue Sep 14 10:32:32 2021 +0200

    (Javadoc only): Replace <p><b> tags by <h2> or <h4>, except when they are used for a note instead than a section.
---
 .../main/java/org/apache/sis/internal/maven/Assembler.java   |  2 +-
 .../main/java/org/apache/sis/internal/maven/Filenames.java   |  2 +-
 .../main/java/org/apache/sis/coverage/grid/GridExtent.java   |  2 +-
 .../main/java/org/apache/sis/feature/DefaultFeatureType.java |  2 +-
 .../main/java/org/apache/sis/feature/EnvelopeOperation.java  |  6 +++---
 .../src/main/java/org/apache/sis/feature/FeatureFormat.java  |  2 +-
 .../main/java/org/apache/sis/feature/FeatureOperations.java  |  2 +-
 .../src/main/java/org/apache/sis/filter/package-info.java    |  2 +-
 .../src/main/java/org/apache/sis/index/tree/PointTree.java   |  2 +-
 .../apache/sis/coverage/grid/ResampledGridCoverageTest.java  |  5 +++--
 .../test/java/org/apache/sis/image/PixelIteratorTest.java    | 12 ++++++------
 .../java/org/apache/sis/internal/jaxb/lan/OtherLocales.java  |  4 ++--
 .../java/org/apache/sis/internal/metadata/Identifiers.java   |  3 ++-
 .../org/apache/sis/internal/metadata/NameToIdentifier.java   |  4 ++--
 .../main/java/org/apache/sis/metadata/PropertyAccessor.java  |  5 +++--
 .../main/java/org/apache/sis/metadata/TypeValuePolicy.java   |  2 +-
 .../java/org/apache/sis/metadata/ValueExistencePolicy.java   |  4 ++--
 .../metadata/iso/DefaultApplicationSchemaInformation.java    |  2 +-
 .../sis/metadata/iso/DefaultExtendedElementInformation.java  |  2 +-
 .../metadata/iso/DefaultMetadataExtensionInformation.java    |  2 +-
 .../org/apache/sis/metadata/iso/DefaultMetadataScope.java    |  2 +-
 .../sis/metadata/iso/DefaultPortrayalCatalogueReference.java |  2 +-
 .../main/java/org/apache/sis/metadata/iso/ISOMetadata.java   |  2 +-
 .../iso/acquisition/DefaultAcquisitionInformation.java       |  2 +-
 .../metadata/iso/acquisition/DefaultEnvironmentalRecord.java |  2 +-
 .../apache/sis/metadata/iso/acquisition/DefaultEvent.java    |  2 +-
 .../sis/metadata/iso/acquisition/DefaultInstrument.java      |  2 +-
 .../sis/metadata/iso/acquisition/DefaultObjective.java       |  2 +-
 .../sis/metadata/iso/acquisition/DefaultOperation.java       |  2 +-
 .../org/apache/sis/metadata/iso/acquisition/DefaultPlan.java |  2 +-
 .../apache/sis/metadata/iso/acquisition/DefaultPlatform.java |  2 +-
 .../sis/metadata/iso/acquisition/DefaultPlatformPass.java    |  2 +-
 .../sis/metadata/iso/acquisition/DefaultRequestedDate.java   |  2 +-
 .../sis/metadata/iso/acquisition/DefaultRequirement.java     |  2 +-
 .../org/apache/sis/metadata/iso/citation/AbstractParty.java  |  2 +-
 .../org/apache/sis/metadata/iso/citation/DefaultAddress.java |  2 +-
 .../sis/metadata/iso/citation/DefaultCitationDate.java       |  2 +-
 .../org/apache/sis/metadata/iso/citation/DefaultContact.java |  2 +-
 .../apache/sis/metadata/iso/citation/DefaultIndividual.java  |  2 +-
 .../sis/metadata/iso/citation/DefaultOnlineResource.java     |  2 +-
 .../sis/metadata/iso/citation/DefaultOrganisation.java       |  2 +-
 .../sis/metadata/iso/citation/DefaultResponsibility.java     |  2 +-
 .../org/apache/sis/metadata/iso/citation/DefaultSeries.java  |  2 +-
 .../sis/metadata/iso/constraint/DefaultConstraints.java      |  2 +-
 .../sis/metadata/iso/constraint/DefaultReleasability.java    |  2 +-
 .../metadata/iso/constraint/DefaultSecurityConstraints.java  |  2 +-
 .../sis/metadata/iso/content/AbstractContentInformation.java |  2 +-
 .../sis/metadata/iso/content/DefaultAttributeGroup.java      |  2 +-
 .../org/apache/sis/metadata/iso/content/DefaultBand.java     |  2 +-
 .../sis/metadata/iso/content/DefaultCoverageDescription.java |  2 +-
 .../iso/content/DefaultFeatureCatalogueDescription.java      |  2 +-
 .../sis/metadata/iso/content/DefaultFeatureTypeInfo.java     |  2 +-
 .../sis/metadata/iso/content/DefaultImageDescription.java    |  2 +-
 .../sis/metadata/iso/content/DefaultRangeDimension.java      |  2 +-
 .../metadata/iso/content/DefaultRangeElementDescription.java |  2 +-
 .../sis/metadata/iso/distribution/DefaultDataFile.java       |  2 +-
 .../iso/distribution/DefaultDigitalTransferOptions.java      |  2 +-
 .../sis/metadata/iso/distribution/DefaultDistribution.java   |  2 +-
 .../sis/metadata/iso/distribution/DefaultDistributor.java    |  2 +-
 .../apache/sis/metadata/iso/distribution/DefaultFormat.java  |  2 +-
 .../apache/sis/metadata/iso/distribution/DefaultMedium.java  |  2 +-
 .../iso/distribution/DefaultStandardOrderProcess.java        |  2 +-
 .../sis/metadata/iso/extent/AbstractGeographicExtent.java    |  2 +-
 .../sis/metadata/iso/extent/DefaultBoundingPolygon.java      |  2 +-
 .../metadata/iso/extent/DefaultGeographicDescription.java    |  9 +++++----
 .../metadata/iso/extent/DefaultSpatialTemporalExtent.java    |  2 +-
 .../metadata/iso/identification/AbstractIdentification.java  |  2 +-
 .../metadata/iso/identification/DefaultBrowseGraphic.java    |  2 +-
 .../metadata/iso/identification/DefaultCoupledResource.java  |  2 +-
 .../iso/identification/DefaultDataIdentification.java        |  2 +-
 .../sis/metadata/iso/identification/DefaultKeywordClass.java |  2 +-
 .../sis/metadata/iso/identification/DefaultKeywords.java     |  2 +-
 .../iso/identification/DefaultOperationChainMetadata.java    |  2 +-
 .../iso/identification/DefaultOperationMetadata.java         |  2 +-
 .../iso/identification/DefaultServiceIdentification.java     |  2 +-
 .../apache/sis/metadata/iso/identification/DefaultUsage.java |  2 +-
 .../apache/sis/metadata/iso/lineage/DefaultAlgorithm.java    |  2 +-
 .../sis/metadata/iso/lineage/DefaultNominalResolution.java   |  2 +-
 .../apache/sis/metadata/iso/lineage/DefaultProcessStep.java  |  2 +-
 .../sis/metadata/iso/lineage/DefaultProcessStepReport.java   |  2 +-
 .../apache/sis/metadata/iso/lineage/DefaultProcessing.java   |  2 +-
 .../iso/maintenance/DefaultMaintenanceInformation.java       |  2 +-
 .../apache/sis/metadata/iso/maintenance/DefaultScope.java    |  2 +-
 .../sis/metadata/iso/quality/AbstractCompleteness.java       |  2 +-
 .../org/apache/sis/metadata/iso/quality/AbstractElement.java |  2 +-
 .../sis/metadata/iso/quality/AbstractLogicalConsistency.java |  2 +-
 .../sis/metadata/iso/quality/AbstractPositionalAccuracy.java |  2 +-
 .../org/apache/sis/metadata/iso/quality/AbstractResult.java  |  2 +-
 .../sis/metadata/iso/quality/AbstractTemporalAccuracy.java   |  2 +-
 .../sis/metadata/iso/quality/AbstractThematicAccuracy.java   |  2 +-
 .../quality/DefaultAbsoluteExternalPositionalAccuracy.java   |  2 +-
 .../iso/quality/DefaultAccuracyOfATimeMeasurement.java       |  2 +-
 .../metadata/iso/quality/DefaultCompletenessCommission.java  |  2 +-
 .../metadata/iso/quality/DefaultCompletenessOmission.java    |  2 +-
 .../metadata/iso/quality/DefaultConceptualConsistency.java   |  2 +-
 .../sis/metadata/iso/quality/DefaultConformanceResult.java   |  2 +-
 .../sis/metadata/iso/quality/DefaultCoverageResult.java      |  2 +-
 .../sis/metadata/iso/quality/DefaultDomainConsistency.java   |  2 +-
 .../sis/metadata/iso/quality/DefaultFormatConsistency.java   |  2 +-
 .../iso/quality/DefaultGriddedDataPositionalAccuracy.java    |  2 +-
 .../iso/quality/DefaultNonQuantitativeAttributeAccuracy.java |  2 +-
 .../iso/quality/DefaultQuantitativeAttributeAccuracy.java    |  2 +-
 .../sis/metadata/iso/quality/DefaultQuantitativeResult.java  |  2 +-
 .../quality/DefaultRelativeInternalPositionalAccuracy.java   |  2 +-
 .../org/apache/sis/metadata/iso/quality/DefaultScope.java    |  2 +-
 .../sis/metadata/iso/quality/DefaultTemporalConsistency.java |  2 +-
 .../sis/metadata/iso/quality/DefaultTemporalValidity.java    |  2 +-
 .../quality/DefaultThematicClassificationCorrectness.java    |  2 +-
 .../metadata/iso/quality/DefaultTopologicalConsistency.java  |  2 +-
 .../apache/sis/metadata/iso/quality/DefaultUsability.java    |  2 +-
 .../metadata/iso/spatial/AbstractGeolocationInformation.java |  2 +-
 .../metadata/iso/spatial/AbstractSpatialRepresentation.java  |  2 +-
 .../apache/sis/metadata/iso/spatial/DefaultDimension.java    |  2 +-
 .../java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java |  2 +-
 .../sis/metadata/iso/spatial/DefaultGCPCollection.java       |  2 +-
 .../sis/metadata/iso/spatial/DefaultGeometricObjects.java    |  2 +-
 .../sis/metadata/iso/spatial/DefaultGeoreferenceable.java    |  2 +-
 .../iso/spatial/DefaultGridSpatialRepresentation.java        |  2 +-
 .../iso/spatial/DefaultVectorSpatialRepresentation.java      |  2 +-
 .../src/main/java/org/apache/sis/metadata/package-info.java  |  2 +-
 .../src/main/java/org/apache/sis/xml/NilReason.java          |  2 +-
 .../src/test/java/org/apache/sis/test/sql/TestDatabase.java  |  2 +-
 .../org/apache/sis/referencing/gazetteer/LocationFormat.java |  2 +-
 .../sis/internal/referencing/GeodeticObjectBuilder.java      |  2 +-
 .../internal/referencing/provider/DatumShiftGridFile.java    |  2 +-
 .../sis/internal/referencing/provider/MillerCylindrical.java |  2 +-
 .../org/apache/sis/parameter/DefaultParameterValueGroup.java |  7 ++++---
 .../main/java/org/apache/sis/parameter/ParameterFormat.java  |  2 +-
 .../org/apache/sis/referencing/GeodesicsOnEllipsoid.java     |  4 ++--
 .../java/org/apache/sis/referencing/GeodeticCalculator.java  |  6 +++---
 .../org/apache/sis/referencing/factory/sql/EPSGFactory.java  |  6 +++---
 .../referencing/operation/CoordinateOperationRegistry.java   |  6 +++---
 .../sis/referencing/operation/matrix/GeneralMatrix.java      |  2 +-
 .../sis/referencing/operation/projection/Polyconic.java      |  2 +-
 .../operation/transform/DefaultMathTransformFactory.java     |  2 +-
 .../sis/referencing/operation/transform/MathTransforms.java  |  8 +++++---
 .../operation/DefaultCoordinateOperationFactoryTest.java     |  2 +-
 .../sis/referencing/operation/projection/Benchmark.java      |  5 +++--
 .../java/org/apache/sis/internal/util/CheckedArrayList.java  |  5 +++--
 .../src/main/java/org/apache/sis/math/StatisticsFormat.java  |  2 +-
 .../org/apache/sis/util/collection/CheckedContainer.java     |  6 +++---
 .../sis/storage/earthobservation/LandsatReaderTest.java      |  2 +-
 .../src/main/java/org/apache/sis/storage/gdal/Proj4.java     |  2 +-
 .../main/java/org/apache/sis/storage/geotiff/DataSubset.java |  2 +-
 .../org/apache/sis/storage/geotiff/GridGeometryBuilder.java  |  2 +-
 .../org/apache/sis/internal/netcdf/impl/package-info.java    |  2 +-
 .../java/org/apache/sis/storage/netcdf/AttributeNames.java   |  2 +-
 .../org/apache/sis/internal/storage/MetadataBuilder.java     |  8 ++++----
 .../org/apache/sis/internal/storage/csv/FeatureIterator.java |  4 ++--
 .../java/org/apache/sis/internal/storage/folder/Store.java   |  2 +-
 150 files changed, 193 insertions(+), 184 deletions(-)

diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
index bb5a0d0..bf5bb1e 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
@@ -57,7 +57,7 @@ import static org.apache.sis.internal.maven.Filenames.*;
  *
  * <blockquote><code>mvn package org.apache.sis.core:sis-build-helper:dist</code></blockquote>
  *
- * <p><b>Current limitation:</b>
+ * <h2>Limitation</h2>
  * The current implementation uses some hard-coded paths and filenames.
  * See the <cite>Distribution file</cite> section in
  * <a href="http://sis.apache.org/build.html">Build from source</a> page
diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
index 3a68cec..4865256 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
@@ -24,7 +24,7 @@ import org.apache.maven.plugin.MojoExecutionException;
  * Hard-coded file and directory names used by this package.
  *
  * <p><b>Reminder:</b>
- * If the above constants are modified, please remind to edit the <cite>Distribution file</cite>
+ * if the above constants are modified, please remind to edit the <cite>Distribution file</cite>
  * section in the <code>site/content/build.mdtext</code> file.</p>
  *
  * @author  Martin Desruisseaux (Geomatys)
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
index 82bdb09..68abc85 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
@@ -374,7 +374,7 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
      * The envelope CRS is ignored, except for identifying dimension names for information purpose.
      * The way floating point values are rounded to integers may be adjusted in any future version.
      *
-     * <p><b>NOTE:</b> this constructor is not public because its contract is a bit approximate.</p>
+     * <p><b>API note:</b> this constructor is not public because its contract is a bit approximate.</p>
      *
      * @param  envelope            the envelope containing cell indices to store in a {@code GridExtent}.
      * @param  rounding            controls behavior of rounding from floating point values to integers.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
index aad374f..6101aa9 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
@@ -665,7 +665,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
      * However as a safety, this method also checks that all properties in this feature type is assignable
      * from a property of the same name in the given type.
      *
-     * <h4>Constraints:</h4>
+     * <h4>Constraints</h4>
      * <ul>
      *   <li>If <var>A</var> is assignable from <var>B</var> and <var>B</var> is assignable from <var>C</var>,
      *       then <var>A</var> is assignable from <var>C</var>.</li>
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
index 0d74c6e..d5e5526 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
@@ -107,13 +107,13 @@ final class EnvelopeOperation extends AbstractOperation {
      * identity operation, and may also be {@code null} if the property at index <var>i</var> does not declare
      * a default CRS.
      *
-     * <p><b>Performance note:</b>
-     * if this array is {@code null}, then {@link Feature#getProperty(String)} does not need to be invoked at all.
+     * <h4>Performance note</h4>
+     * If this array is {@code null}, then {@link Feature#getProperty(String)} does not need to be invoked at all.
      * A null array is a signal that invoking only the cheaper {@link Feature#getPropertyValue(String)} method is
      * sufficient. However this array become non-null as soon as there is at least one CRS characteristic to check.
      * We do not distinguish which particular property may have a CRS characteristic because as of Apache SIS 1.0,
      * implementations of {@link DenseFeature} and {@link SparseFeature} have a "all of nothing" behavior anyway.
-     * So there is no performance gain to expect from a fine-grained knowledge of which properties declare a CRS.</p>
+     * So there is no performance gain to expect from a fine-grained knowledge of which properties declare a CRS.
      */
     private final CoordinateOperation[] attributeToCRS;
 
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
index da555c0..2b33eb0 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
@@ -83,7 +83,7 @@ import org.opengis.feature.Operation;
  *   └────────────┴─────────┴──────────────┴───────────┘
  * }</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>The current implementation can only format features — parsing is not yet implemented.</li>
  *   <li>{@code FeatureFormat}, like most {@code java.text.Format} subclasses, is not thread-safe.</li>
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
index c3b481c..0d16889 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
@@ -176,7 +176,7 @@ public final class FeatureOperations extends Static {
      * the {@code '\'} escape character will be inserted before that sequence.
      * If the {@code '\'} character appears in a property value, it will be doubled.</p>
      *
-     * <p><b>Restrictions:</b></p>
+     * <h4>Restrictions</h4>
      * <ul>
      *   <li>The single properties can be either attributes or operations that produce attributes;
      *       feature associations are not allowed, unless they have an {@code "sis:identifier"} property.</li>
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/package-info.java b/core/sis-feature/src/main/java/org/apache/sis/filter/package-info.java
index 9004cfa..ccccc79 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/package-info.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/package-info.java
@@ -22,7 +22,7 @@
  * <a href="http://docs.opengeospatial.org/is/09-026r2/09-026r2.html">OGC® Filter Encoding</a> and
  * <a href="https://www.iso.org/standard/60343.html">ISO 13249-3 - SQLMM</a> standards.
  *
- * <h2>Coordinate reference system handling:</h2>
+ * <h2>Coordinate reference system handling</h2>
  * Filters and expressions may contain heterogeneous coordinate reference systems.
  * Apache SIS tries to handle differences in the following way:
  * <ul>
diff --git a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
index cc2eb4a..c1a672c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
@@ -65,7 +65,7 @@ import org.apache.sis.util.collection.CheckedContainer;
  * <h2>Limitations</h2>
  * Current implementation does not yet support removal of elements.
  *
- * <h2>References:</h2>
+ * <h2>References</h2>
  * Insertion algorithm is based on design of QuadTree index in H. Samet,
  * <u>The Design and Analysis of Spatial Data Structures</u>.
  * Massachusetts: Addison Wesley Publishing Company, 1989.
diff --git a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java
index fe7713c..ec5abab 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java
@@ -658,9 +658,10 @@ public final strictfp class ResampledGridCoverageTest extends TestCase {
      * This is an helper tools which can be invoked during debugging
      * session in IDE capable to display images.
      *
-     * <p><b>Usage:</b> Add a new watch calling this method on wanted image.</p>
+     * <h4>Usage</h4>
+     * Add a new watch calling this method on wanted image.
      *
-     * <p><b>Limitations:</b>
+     * <h4>Limitations</h4>
      * <ul>
      *   <li>If given image color-model is null, this method assumes 3 byte/RGB image.</li>
      *   <li>Works only with single-tile images.</li>
diff --git a/core/sis-feature/src/test/java/org/apache/sis/image/PixelIteratorTest.java b/core/sis-feature/src/test/java/org/apache/sis/image/PixelIteratorTest.java
index 5e2be98..af5e215 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/image/PixelIteratorTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/image/PixelIteratorTest.java
@@ -153,9 +153,9 @@ public strictfp class PixelIteratorTest extends TestCase {
      * Creates a {@code WritableRaster} to use as the source of test data.
      * The raster is filled with arbitrary sample values.
      *
-     * <p><b>Pre-conditions:</b>
-     * before invocation, the {@link #xmin}, {@link #ymin}, {@link #width}, {@link #height} and {@link #numBands}
-     * fields must be initialized.</p>
+     * <h4>Pre-conditions</h4>
+     * Before invocation, the {@link #xmin}, {@link #ymin}, {@link #width}, {@link #height} and {@link #numBands}
+     * fields must be initialized.
      *
      * @param  subArea  the raster subarea on which to perform iteration, or {@code null} for the whole area.
      * @return a raster filled with arbitrary sample values.
@@ -212,9 +212,9 @@ public strictfp class PixelIteratorTest extends TestCase {
      * Creates a {@code RenderedImage} to use as the source of test data.
      * The image is filled with arbitrary sample values.
      *
-     * <p><b>Pre-conditions:</b>
-     * before invocation, the {@link #xmin}, {@link #ymin}, {@link #width}, {@link #height},
-     * {@link #tileWidth}, {@link #tileHeight} and {@link #numBands} fields must be initialized.</p>
+     * <h4>Pre-conditions</h4>
+     * Before invocation, the {@link #xmin}, {@link #ymin}, {@link #width}, {@link #height},
+     * {@link #tileWidth}, {@link #tileHeight} and {@link #numBands} fields must be initialized.
      *
      * @param  subArea  the image subarea on which to perform iteration, or {@code null} for the whole area.
      * @return an image filled with arbitrary sample values.
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/OtherLocales.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/OtherLocales.java
index 815385b..0f77bf3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/OtherLocales.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/OtherLocales.java
@@ -57,11 +57,11 @@ public final class OtherLocales extends AbstractSet<PT_Locale> {
     /**
      * Returns a collection for all elements except the first one from the given collection.
      *
-     * <p><b>Null values and XML marshalling:</b>
+     * <h4>Null values and XML marshalling</h4>
      * The {@code locales} argument may be {@code null} at XML marshalling time. In such case, this method returns
      * {@code null} instead than an empty set in order to instruct JAXB to not marshal the {@code otherLocale} element
      * (an empty set would cause JAXB to marshal an empty element). Since the {@code locales} argument given to this
-     * method should never be null except at XML marshalling time, this rule should not be a violation of public API.</p>
+     * method should never be null except at XML marshalling time, this rule should not be a violation of public API.
      *
      * @param  locales  the collection containing the default locale followed by the other ones, or {@code null}.
      * @return a collection containing all {@code languages} elements except the first one, or {@code null}.
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 0a8ba40..925c378 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
@@ -86,7 +86,8 @@ public final class Identifiers extends Static {
      * This method removes leading and trailing {@linkplain Character#isWhitespace(int) whitespaces}.
      * See {@link Citations#getIdentifier(Citation)} for the public documentation of this method.
      *
-     * <p><b>Which method to use:</b></p>
+     * <h4>Which method to use</h4>
+     * Guidelines:
      * <ul>
      *   <li>For information purpose (e.g. some {@code toString()} methods), use {@code getIdentifier(…, false)}.</li>
      *   <li>For WKT formatting, use {@code getIdentifier(…, true)} in order to preserve formatting characters.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java
index 2d63626..b9d29fe 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java
@@ -38,8 +38,8 @@ import static org.apache.sis.util.Characters.Filter.LETTERS_AND_DIGITS;
  * This class also implements the {@link #isHeuristicMatchForName(Identifier, Collection, CharSequence, Simplifier)}
  * method since that method involves a mix of names and identifiers.
  *
- * <p><b>Limitation:</b>
- * Current version does not yet work with URN or HTTP syntax.</p>
+ * <h2>Limitations</h2>
+ * Current version does not yet work with URN or HTTP syntax.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.8
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
index 3170e21..18573b5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
@@ -1245,8 +1245,9 @@ class PropertyAccessor {
      * Invokes {@link MetadataVisitor#visit(Class, Object)} for all writable properties in the given metadata.
      * This method is not recursive, i.e. it does not traverse the children of the elements in the given metadata.
      *
-     * <p><b>Constraint:</b> in current implementation, if {@code source} and {@code target} are not the same,
-     * then {@code target} is assumed empty. The intent is to skip easily null or empty properties.</p>
+     * <h4>Constraint</h4>
+     * In current implementation, if {@code source} and {@code target} are not the same,
+     * then {@code target} is assumed empty. The intent is to skip easily null or empty properties.
      *
      * @param  visitor   the object on which to invoke {@link MetadataVisitor#visit(Class, Object)}.
      * @param  source    the metadata from which to read properties. May be the same than {@code target}.
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/TypeValuePolicy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/TypeValuePolicy.java
index afea3be..0bcf79d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/TypeValuePolicy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/TypeValuePolicy.java
@@ -36,7 +36,7 @@ public enum TypeValuePolicy {
      * {@linkplain java.lang.reflect.Method#getReturnType() return type} of the property method
      * defined in the interface.
      *
-     * <p><b>Notes:</b></p>
+     * <h4>Notes</h4>
      * <ul>
      *   <li>Collections are not handled in any special way: if the return type is a collection,
      *       then the property type is {@code Collection.class} or any other declared return type.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/ValueExistencePolicy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/ValueExistencePolicy.java
index 7acb6a1..41c6797 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/ValueExistencePolicy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/ValueExistencePolicy.java
@@ -192,9 +192,9 @@ public enum ValueExistencePolicy {
      * Returns {@code true} if {@link TreeNode} shall substitute the given collection by
      * a singleton containing only a null element.
      *
-     * <p><b>Purpose:</b>
+     * <h4>Purpose</h4>
      * When a collection is null or empty, while not excluded according this {@code ValueExistencePolicy},
-     * we need an empty space for making the metadata property visible in {@code TreeNode}.</p>
+     * we need an empty space for making the metadata property visible in {@code TreeNode}.
      */
     abstract boolean substituteByNullElement(Collection<?> values);
 
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
index 14bcb47..2621e3b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
@@ -39,7 +39,7 @@ import org.apache.sis.internal.jaxb.metadata.CI_OnlineResource;
  * {@code   ├─schemaLanguage…………………………………} Identification of the schema language used.
  * {@code   └─constraintLanguage………………………} Formal language used in Application Schema.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
index 4c40b20..33417a1 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
@@ -63,7 +63,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * {@code       │   └─name…………………………………} Name of the party.
  * {@code       └─role……………………………………………} Function performed by the responsible party.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
index b5b7366..c3dd686 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
@@ -29,7 +29,7 @@ import org.apache.sis.xml.Namespaces;
 /**
  * Information describing metadata extensions.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
index 1e0a4dd..55d169e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
@@ -32,7 +32,7 @@ import org.apache.sis.util.iso.Types;
  * <div class="preformat">{@code MD_MetadataScope}
  * {@code   └─resourceScope……} Resource scope</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
index c907810..e9c1a64 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
@@ -34,7 +34,7 @@ import org.apache.sis.xml.Namespaces;
  * {@code       ├─title…………………………………………………} Name by which the cited resource is known.
  * {@code       └─date……………………………………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
index 45fb40c..154a2a7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
@@ -49,7 +49,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * The base class of ISO 19115 implementation classes. Each sub-classes implements one
  * of the ISO Metadata interface provided by <a href="http://www.geoapi.org">GeoAPI</a>.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
index c260bd7..6c99e75 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
@@ -35,7 +35,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * Designations for the measuring instruments, the platform carrying them, and the mission to
  * which the data contributes.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
index 97b1cec..8057770 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
@@ -37,7 +37,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensureInRange;
  * {@code   ├─maxAltitude………………………………………} Maximum altitude during the photo flight.
  * {@code   └─meteorologicalConditions……} Meteorological conditions in the photo flight area, in particular clouds, snow and wind.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
index d75389d..50f2967 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
@@ -47,7 +47,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * {@code   ├─sequence…………} Relative time ordering of the event.
  * {@code   └─time……………………} Time the event occurred.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
index b9a49b6..09bf122 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
@@ -37,7 +37,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code   │   └─code…………} Alphanumeric value identifying an instance in the namespace.
  * {@code   └─type……………………} Name of the type of instrument.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
index 23299a8..c867a72 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
@@ -48,7 +48,7 @@ import org.apache.sis.internal.jaxb.NonMarshalledAuthority;
  * {@code       ├─sequence……………………} Relative time ordering of the event.
  * {@code       └─time………………………………} Time the event occurred.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
index 2800bc6..8aae238 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
@@ -43,7 +43,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code   ├─status……………………………} Status of the data acquisition.
  * {@code   └─parentOperation……} Heritage of the operation.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
index 23a4dd1..545b568 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
@@ -39,7 +39,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code       ├─title………………………} Name by which the cited resource is known.
  * {@code       └─date…………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
index 6fae5c8..4d75155 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
@@ -41,7 +41,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code       ├─identifier……} Unique identification of the instrument.
  * {@code       └─type……………………} Name of the type of instrument.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
index 8a05d43..1032961 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
@@ -35,7 +35,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code   └─identifier……} Unique name of the pass.
  * {@code       └─code…………} Alphanumeric value identifying an instance in the namespace.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java
index c6a6ede..16525f9 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java
@@ -35,7 +35,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * {@code   ├─requestedDateOfCollection……} Preferred date and time of collection.
  * {@code   └─latestAcceptableDate…………………} Latest date and time collection must be completed.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
index ed4edf6..1117a8d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
@@ -53,7 +53,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * {@code   │   └─latestAcceptableDate…………………} Latest date and time collection must be completed.
  * {@code   └─expiryDate………………………………………………………} Date and time after which collection is no longer valid.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
index 2bb73c7..f779b92 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
@@ -39,7 +39,7 @@ import org.apache.sis.util.iso.Types;
  * <div class="preformat">{@code CI_Party}
  * {@code   └─name……} Name of the party.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
index 98e3be8..6310f6c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
@@ -28,7 +28,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Location of the responsible individual or organization.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitationDate.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitationDate.java
index b832a11..95fa24f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitationDate.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitationDate.java
@@ -37,7 +37,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * {@code   ├─date………………} Reference date for the cited resource.
  * {@code   └─dateType……} Event used for reference date.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
index e3c7d70..2239ff5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
@@ -43,7 +43,7 @@ import org.apache.sis.internal.util.CollectionsExt;
 /**
  * Information required to enable contact with the responsible person and/or organization.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
index 14449fe..a38c9c3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
@@ -28,7 +28,7 @@ import org.apache.sis.util.iso.Types;
 /**
  * Information about the party if the party is an individual.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
index 6d8f04d..209038f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
@@ -37,7 +37,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * <div class="preformat">{@code CI_OnlineResource}
  * {@code   └─linkage………………} Location (address) for on-line access using a Uniform Resource Locator address or similar addressing scheme.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
index 2fe2a73..c8f65694 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
@@ -29,7 +29,7 @@ import org.opengis.metadata.identification.BrowseGraphic;
 /**
  * Information about the party if the party is an organization.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
index bb1fbf7..d680244 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
@@ -43,7 +43,7 @@ import org.opengis.metadata.citation.Responsibility;
  * {@code   │   └─name……………} Name of the party.
  * {@code   └─role………………………} Function performed by the responsible party.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
index 26bcde0..764d025 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
@@ -28,7 +28,7 @@ import org.apache.sis.util.iso.Types;
 /**
  * Information about the series, or aggregate dataset, to which a dataset belongs.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
index 10fe07a..39b7e9c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
@@ -41,7 +41,7 @@ import org.apache.sis.util.iso.Types;
 /**
  * Restrictions on the access and use of a resource or metadata.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
index 880d3e5..e18747d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
@@ -30,7 +30,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Information about resource release constraints.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
index dbf91c9..2f2a3a3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
@@ -31,7 +31,7 @@ import org.opengis.metadata.constraint.SecurityConstraints;
  * <div class="preformat">{@code MD_SecurityConstraints}
  * {@code   └─classification…………} Name of the handling restrictions on the resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/AbstractContentInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/AbstractContentInformation.java
index 3e3070c..5207b92 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/AbstractContentInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/AbstractContentInformation.java
@@ -28,7 +28,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Description of the content of a resource.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
index 327c54d..8e4def7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
@@ -34,7 +34,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * <div class="preformat">{@code MD_AttributeGroup}
  * {@code   └─contentType……} Content type</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
index fa1c342..c18c0b2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
@@ -42,7 +42,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * <div class="preformat">{@code MD_Band}
  * {@code   └─units……} Units of data in each dimension included in the resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
index b11a593..61abb0d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
@@ -48,7 +48,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * <div class="preformat">{@code MD_CoverageDescription}
  * {@code   └─attributeDescription……} Description of the attribute described by the measurement value.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
index 79e2382..8535856 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
@@ -47,7 +47,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * {@code       ├─title……………………………………………} Name by which the cited resource is known.
  * {@code       └─date………………………………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
index d772e84..b91babb 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
@@ -31,7 +31,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
 /**
  * Information about the occurring feature type.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
index 708679b..20b2d30 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
@@ -38,7 +38,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * <div class="preformat">{@code MD_ImageDescription}
  * {@code   └─attributeDescription……} Description of the attribute described by the measurement value.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
index 8a7c913..34bbcd3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
@@ -38,7 +38,7 @@ import org.apache.sis.internal.jaxb.gco.InternationalStringAdapter;
 /**
  * Information on the range of each dimension of a cell measurement value.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
index e03ca93..93d832e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
@@ -36,7 +36,7 @@ import org.apache.sis.metadata.TitleProperty;
  * {@code   ├─definition………………………………} Description of a set of specific range elements.
  * {@code   └─rangeElement…………………………} Specific range elements, i.e. range elements associated with a name and their definition.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
index fc8f91c..76df7e2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
@@ -42,7 +42,7 @@ import org.opengis.util.InternationalString;
  * {@code   ├─fileDescription…………………………………………} Text description of the data.
  * {@code   └─fileType……………………………………………………………} Format in which the data is encoded.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
index a0dc36a..28cfcbb 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
@@ -41,7 +41,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
 /**
  * Technical means and media by which a resource is obtained from the distributor.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
index 70af366..b57f0a7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
@@ -42,7 +42,7 @@ import org.apache.sis.internal.jaxb.gco.InternationalStringAdapter;
  * {@code           ├─title……………………………………………………} Name by which the cited resource is known.
  * {@code           └─date………………………………………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
index 3d47d7d..60f1d00 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
@@ -43,7 +43,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code           ├─title……………………………………………………} Name by which the cited resource is known.
  * {@code           └─date………………………………………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
index be5a51a..b3480fe 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
@@ -69,7 +69,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  *
  * Above list may be expanded in any future SIS version.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
index f3de62b..4f10fc0 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
@@ -52,7 +52,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * <div class="preformat">{@code MD_Medium}
  * {@code   └─densityUnits……} Units of measure for the recording density.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
index bbb05bb..be37b40 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
@@ -38,7 +38,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * Common ways in which the resource may be obtained or received, and related instructions
  * and fee information.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.java
index 0e7d1a5..064c24a 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.java
@@ -30,7 +30,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Base class for geographic area of the dataset.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
index 0fbcc73..c9043da 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
@@ -34,7 +34,7 @@ import org.opengis.metadata.extent.BoundingPolygon;
  * <div class="preformat">{@code EX_BoundingPolygon}
  * {@code   └─polygon…………………} The sets of points defining the bounding polygon.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
index e4aa216..69c3892 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
@@ -46,7 +46,7 @@ import org.apache.sis.util.iso.Types;
  * The natural language description for {@code EPSG:1731} can be <cite>“France – mainland north of 48.15°N”</cite>.
  * </div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
@@ -85,9 +85,10 @@ public class DefaultGeographicDescription extends AbstractGeographicExtent imple
      * Creates an inclusive geographic description initialized to the given identifier.
      * This constructor sets the {@linkplain #getInclusion() inclusion} property to {@code true}.
      *
-     * <p><b>Usage note:</b> if the description is a sentence like “Netherlands offshore”, it may not be suitable
-     * for the {@code code} argument. Callers may consider using the {@linkplain DefaultIdentifier#getDescription()
-     * identifier description} as an alternative and keep the code for a more compact string (often a primary key).</p>
+     * <h4>Usage note</h4>
+     * If the description is a sentence like “Netherlands offshore”, it may not be suitable for the {@code code} argument.
+     * Callers may consider using the {@linkplain DefaultIdentifier#getDescription() identifier description}
+     * as an alternative and keep the code for a more compact string (often a primary key).
      *
      * <div class="note"><b>Example:</b>
      * <code>new DefaultGeographicDescription({@link org.apache.sis.metadata.iso.citation.Citations#EPSG}, "1731")</code>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
index cde0054..e0b8410 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
@@ -40,7 +40,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * {@code   ├─extent……………………………………} The date and time for the content of the dataset.
  * {@code   └─spatialExtent…………………} The spatial extent component of composite spatial and temporal extent.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
index 5f2d88f..5937d16 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
@@ -69,7 +69,7 @@ import org.apache.sis.util.iso.Types;
  * {@code   │   └─verticalElement…………} Vertical component of the extent of the referring object.
  * {@code   └─topicCategory…………………………} Main theme(s) of the dataset.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
index b9e50ee..55c2784 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
@@ -39,7 +39,7 @@ import org.apache.sis.xml.Namespaces;
  * <div class="preformat">{@code MD_BrowseGraphic}
  * {@code   └─fileName…………} Name of the file that contains a graphic that provides an illustration of the dataset.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
index 58c9404..bda39dc 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
@@ -40,7 +40,7 @@ import org.apache.sis.xml.Namespaces;
 /**
  * Links a given operation name with a resource identified by an "identifier".
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
index b0e86b3..118fa33 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
@@ -55,7 +55,7 @@ import org.apache.sis.internal.metadata.Dependencies;
  * {@code       ├─temporalElement…………} Temporal component of the extent of the referring object.
  * {@code       └─verticalElement…………} Vertical component of the extent of the referring object.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
index 79dde2c..ae8f1bc 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
@@ -39,7 +39,7 @@ import org.apache.sis.util.iso.Types;
  * {@code       ├─title………………………} Name by which the cited resource is known.
  * {@code       └─date…………………………} Reference date for the cited resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
index a09af15..1d91bb6 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
@@ -38,7 +38,7 @@ import org.apache.sis.util.iso.Types;
  * <div class="preformat">{@code MD_Keywords}
  * {@code   └─keyword……} Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
index fe61784..d36a6f6 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
@@ -41,7 +41,7 @@ import org.apache.sis.xml.Namespaces;
  * {@code       └─connectPoint………………………………………………} Handle for accessing the service interface.
  * {@code           └─linkage…………………………………………………} Location for on-line access using a URL address or similar addressing scheme.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
index 67439a6..36b7fc1 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
@@ -41,7 +41,7 @@ import org.apache.sis.xml.Namespaces;
  * {@code   └─connectPoint………………………………………………} Handle for accessing the service interface.
  * {@code       └─linkage…………………………………………………} Location for on-line access using a URL address or similar addressing scheme.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
index 0a74b2b..288cc98 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
@@ -55,7 +55,7 @@ import org.apache.sis.xml.Namespaces;
  * {@code   │   └─verticalElement…………} Vertical component of the extent of the referring object.
  * {@code   └─topicCategory…………………………} Main theme(s) of the dataset.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
index 5f67e73..6a33e8f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
@@ -46,7 +46,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
  * {@code       │   └─name……………} Name of the party.
  * {@code       └─role………………………} Function performed by the responsible party.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
index 01c7cc7..d281ef5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
@@ -35,7 +35,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code   │   └─date…………………………} Reference date for the cited resource.
  * {@code   └─description…………………} Information describing the algorithm used to generate the data.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java
index 399f88e..a86807d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java
@@ -34,7 +34,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * {@code   ├─scanningResolution……} Distance between consistent parts of (centre, left side, right side) adjacent pixels in the scan plane.
  * {@code   └─groundResolution…………} Distance between consistent parts of (centre, left side, right side) adjacent pixels in the object space.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
index 2798e42..22ee8f8 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
@@ -50,7 +50,7 @@ import org.apache.sis.internal.util.TemporalUtilities;
  * <div class="preformat">{@code LI_ProcessStep}
  * {@code   └─description……} Description of the event, including related parameters or tolerances.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
index 676027f..972997c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
@@ -32,7 +32,7 @@ import org.apache.sis.metadata.TitleProperty;
  * <div class="preformat">{@code LE_ProcessStepReport}
  * {@code   └─name………………………………} Name of the processing report.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
index 9aab3ef..f036bc3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
@@ -36,7 +36,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * {@code   └─identifier……} Information to identify the processing package that produced the data.
  * {@code       └─code…………} Alphanumeric value identifying an instance in the namespace.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
index a434417..ddba30f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
@@ -51,7 +51,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * <div class="preformat">{@code MD_MaintenanceInformation}
  * {@code   └─maintenanceAndUpdateFrequency……} Frequency with which changes and additions are made to the resource.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
index 7aee4f8..753740e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
@@ -43,7 +43,7 @@ import org.apache.sis.xml.Namespaces;
  * {@code       ├─features………………………………} Features to which the information applies.
  * {@code       └─other………………………………………} Class of information that does not fall into the other categories.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java
index d545104..543c44a 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java
@@ -31,7 +31,7 @@ import org.opengis.metadata.quality.CompletenessCommission;
  * <div class="preformat">{@code DQ_Completeness}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
index 19bb488..4dd8586 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
@@ -56,7 +56,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.valueIfDefined;
  * <div class="preformat">{@code DQ_Element}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java
index ed812bd..0a68158 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java
@@ -34,7 +34,7 @@ import org.opengis.metadata.quality.ConceptualConsistency;
  * <div class="preformat">{@code DQ_LogicalConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java
index 6c16b73..0e1f8a7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java
@@ -33,7 +33,7 @@ import org.opengis.metadata.quality.RelativeInternalPositionalAccuracy;
  * <div class="preformat">{@code DQ_PositionalAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
index da9e41c..eb3f97f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
@@ -29,7 +29,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Type of test applied to the data specified by a data quality scope.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java
index 4545584..3c0e588 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java
@@ -33,7 +33,7 @@ import org.apache.sis.xml.Namespaces;
  * <div class="preformat">{@code DQ_TemporalAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java
index 46306e4..7bf8f7c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java
@@ -33,7 +33,7 @@ import org.opengis.metadata.quality.QuantitativeAttributeAccuracy;
  * <div class="preformat">{@code DQ_ThematicAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java
index 7298d84..c4d6101 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java
@@ -29,7 +29,7 @@ import org.opengis.metadata.quality.AbsoluteExternalPositionalAccuracy;
  * <div class="preformat">{@code DQ_AbsoluteExternalPositionalAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java
index 515dc80..c6391ca 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.AccuracyOfATimeMeasurement;
  * <div class="preformat">{@code DQ_AccuracyOfATimeMeasurement}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java
index 234c213..ba4d3fa 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.CompletenessCommission;
  * <div class="preformat">{@code DQ_CompletenessCommission}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java
index b323194..bcebfe3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.CompletenessOmission;
  * <div class="preformat">{@code DQ_CompletenessOmission}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java
index be1d377..a366d77 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.ConceptualConsistency;
  * <div class="preformat">{@code DQ_ConceptualConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
index bb15568..0c22c9b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
@@ -37,7 +37,7 @@ import org.apache.sis.util.iso.Types;
  * {@code   ├─explanation…………………} Explanation of the meaning of conformance for this result.
  * {@code   └─pass……………………………………} Indication of the conformance result.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
index e36d1a1..a09901d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
@@ -43,7 +43,7 @@ import org.opengis.metadata.spatial.SpatialRepresentationType;
  * {@code   └─resultFile……………………………………………………………} Information about the data file containing the result coverage data.
  * {@code       └─fileFormat…………………………………………………} Defines the format of the transfer data file.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java
index 5c8a4fe..1a92e18 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.DomainConsistency;
  * <div class="preformat">{@code DQ_DomainConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java
index be8b3a1..33b0b84 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.FormatConsistency;
  * <div class="preformat">{@code DQ_FormatConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java
index c3d7e6e..732ca78 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.GriddedDataPositionalAccuracy;
  * <div class="preformat">{@code DQ_GriddedDataPositionalAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java
index e5023db..78301d2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java
@@ -29,7 +29,7 @@ import org.apache.sis.xml.Namespaces;
  * <div class="preformat">{@code DQ_NonQuantitativeAttributeAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java
index b81c772..b08a743 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.QuantitativeAttributeAccuracy;
  * <div class="preformat">{@code DQ_QuantitativeAttributeAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
index 176519d..fdd0a00 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
@@ -37,7 +37,7 @@ import org.apache.sis.internal.xml.LegacyNamespaces;
  * {@code   ├─valueUnit……………………} Value unit for reporting a data quality result.
  * {@code   └─value………………………………} Quantitative value or values, content determined by the evaluation procedure used.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java
index 43b8714..b7bffe8 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java
@@ -29,7 +29,7 @@ import org.opengis.metadata.quality.RelativeInternalPositionalAccuracy;
  * <div class="preformat">{@code DQ_RelativeInternalPositionalAccuracy}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java
index 0be9e86..b7fe7ab 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java
@@ -29,7 +29,7 @@ import org.apache.sis.internal.util.CollectionsExt;
 /**
  * Description of the data specified by the scope.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java
index 0d133ee..5b1ce5c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.TemporalConsistency;
  * <div class="preformat">{@code DQ_TemporalConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java
index aa8b6be..eea7029 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.TemporalValidity;
  * <div class="preformat">{@code DQ_TemporalValidity}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java
index e1262c6..1213c70 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.ThematicClassificationCorrectness;
  * <div class="preformat">{@code DQ_ThematicClassificationCorrectness}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java
index 9917426..05ec8f8 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.quality.TopologicalConsistency;
  * <div class="preformat">{@code DQ_TopologicalConsistency}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java
index f8ba112..5b97a6d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java
@@ -29,7 +29,7 @@ import org.apache.sis.internal.xml.LegacyNamespaces;
  * <div class="preformat">{@code QE_Usability}
  * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
index bca05d6..33fd37c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
@@ -30,7 +30,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Information used to determine geographic location corresponding to image location.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java
index 23ee159..744b81c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java
@@ -28,7 +28,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
 /**
  * Method used to represent geographic information in the dataset.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
index 4d344a0..c44b351 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
@@ -41,7 +41,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * {@code   ├─dimensionName……} Name of the axis.
  * {@code   └─dimensionSize……} Number of elements along the axis.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
index 469a0e3..79615d6 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
@@ -35,7 +35,7 @@ import org.apache.sis.metadata.iso.ISOMetadata;
  * <div class="preformat">{@code MI_GCP}
  * {@code   └─geographicCoordinates……} Geographic or map position of the control point, in either two or three dimensions.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
index 22d7793..f7ca4cf 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
@@ -38,7 +38,7 @@ import org.apache.sis.metadata.TitleProperty;
  * {@code   └─gcp………………………………………………………………} Ground control point(s) used in the collection.
  * {@code       └─geographicCoordinates……} Geographic or map position of the control point, in either two or three dimensions.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java
index 0ed0d14..dd45fd6 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java
@@ -34,7 +34,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * <div class="preformat">{@code MD_GeometricObjects}
  * {@code   └─geometricObjectType……} Name of point and vector spatial objects used to locate zero-, one-, and two-dimensional spatial locations in the dataset.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
index fe3f168..f2e2f78 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
@@ -47,7 +47,7 @@ import org.opengis.metadata.spatial.GeolocationInformation;
  * {@code   ├─geolocationInformation………………………………………} Information that can be used to geolocate the data.
  * {@code   └─georeferencedParameters……………………………………} Terms which support grid data georeferencing.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
index 1d1a6d7..7c5a6b1 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
@@ -43,7 +43,7 @@ import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
  * {@code   ├─cellGeometry…………………………………………………………………} Identification of grid data as point or cell.
  * {@code   └─transformationParameterAvailability……} Indication of whether or not parameters for transformation exists.</div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
index 28071f1..c4b4021 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
@@ -28,7 +28,7 @@ import org.opengis.metadata.spatial.VectorSpatialRepresentation;
 /**
  * Information about the vector spatial objects in the dataset.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Instances of this class are not synchronized for multi-threading.
  *       Synchronization, if needed, is caller's responsibility.</li>
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java
index 68933fa..ca31242 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java
@@ -44,7 +44,7 @@
  * of implementation classes are the name of the implemented interfaces prefixed with {@code Abstract}
  * or {@code Default}.</p>
  *
- * <p><b>Notes:</b></p>
+ * <h3>Notes</h3>
  * <ul class="verbose">
  *   <li>The {@code Abstract} prefix means that the class is abstract in the sense of the implemented standard.
  *       It it not necessarily abstract in the sense of Java. Because incomplete metadata are common in practice,
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
index 91fdc53..f09aad3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
@@ -433,7 +433,7 @@ public final class NilReason implements Serializable {
      * {@link Float}, {@code Double} or {@code String} instance to be considered as a nil value.
      * The caller is responsible for registering the value in {@link PrimitiveTypeProperties}.
      *
-     * <p><b>REMINDER:</b> If more special cases are added, do not forget to update the {@link #mayBeNil(Object)}
+     * <p><b>Reminder:</b> If more special cases are added, do not forget to update the {@link #mayBeNil(Object)}
      * method and to update the {@link #createNilObject(Class)} and {@link #forObject(Object)} javadoc.</p>
      *
      * <div class="note"><b>Implementation note:</b>
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/test/sql/TestDatabase.java b/core/sis-metadata/src/test/java/org/apache/sis/test/sql/TestDatabase.java
index a0f78e8..dadf19e 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/test/sql/TestDatabase.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/test/sql/TestDatabase.java
@@ -59,7 +59,7 @@ import static org.junit.Assume.assumeTrue;
  * To connect to the in-memory database, use the {@code "jdbc:derby://localhost:1527/dbname"} URL
  * (replace {@code "dbname"} by the actual database name.
  *
- * <p><b>References:</b>
+ * <h2>References</h2>
  * <ul>
  *   <li><a href="http://db.apache.org/derby/docs/10.15/adminguide/radminembeddedserverex.html">Embedded server example</a></li>
  * </ul>
diff --git a/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/LocationFormat.java b/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/LocationFormat.java
index 39d3b6d..09c6396 100644
--- a/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/LocationFormat.java
+++ b/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/LocationFormat.java
@@ -89,7 +89,7 @@ import org.opengis.referencing.gazetteer.LocationType;
  * }
  * </div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>The current implementation can only format features — parsing is not yet implemented.</li>
  *   <li>{@code LocationFormat}, like most {@code java.text.Format} subclasses, is not thread-safe.</li>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
index 8dd8931..4105672 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
@@ -520,7 +520,7 @@ public final class GeodeticObjectBuilder extends Builder<GeodeticObjectBuilder>
      * to be created and a {@linkplain #addName(org.opengis.util.GenericName) name has been specified}, that name
      * will be used.
      *
-     * <p><b>Limitations:</b></p>
+     * <h4>Limitations</h4>
      * Current implementation can replace exactly one component of {@link CompoundCRS}.
      * If the given replacement spans more than one component, then this method will fail.
      *
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
index f32f1fb..ad56f69 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
@@ -84,7 +84,7 @@ abstract class DatumShiftGridFile<C extends Quantity<C>, T extends Quantity<T>>
      * Values are grids stored by hard references until the amount of data exceed 32768 (about 128 kilobytes
      * if the values use the {@code float} type), in which case the oldest grids will be replaced by soft references.
      *
-     * <h2>Memory consumption</h2>
+     * <h4>Memory consumption</h4>
      * The use of soft references instead than weak references is on the assumption that users typically use
      * the same few Coordinate Reference Systems for their work. Consequently we presume that users will not
      * load a lot of grids and are likely to reuse the already loaded grids.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
index 579da16..b19e353 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
@@ -36,7 +36,7 @@ import org.apache.sis.metadata.iso.citation.Citations;
  * supports also the ellipsoidal formulas. If spherical formulas are desired, then the parameters shall contains
  * semi-major and semi-minor axis lengths of equal length.
  *
- * <h2>Additional identifiers:</h2>
+ * <h2>Additional identifiers</h2>
  * This projection has the following identifiers from the French mapping agency (IGNF),
  * which have not yet been declared in this class:
  *
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java
index 05595ed..ac91b89 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java
@@ -134,9 +134,10 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
     /**
      * Creates a parameter group from the specified descriptor.
      *
-     * <p><b>Usage note:</b> {@code ParameterValueGroup} are usually not instantiated directly. Instead, consider
-     * invoking <code>descriptor.{@linkplain DefaultParameterDescriptorGroup#createValue() createValue()}</code>
-     * on a descriptor supplied by a map projection or process provider.</p>
+     * <h4>Usage note</h4>
+     * {@code ParameterValueGroup} are usually not instantiated directly. Instead, consider invoking
+     * <code>descriptor.{@linkplain DefaultParameterDescriptorGroup#createValue() createValue()}</code>
+     * on a descriptor supplied by a map projection or process provider.
      *
      * @param  descriptor  the descriptor for this group.
      */
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
index 841369a..15c32e6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
@@ -98,7 +98,7 @@ import static org.apache.sis.util.collection.Containers.hashMapCapacity;
  *   <tr><td><code>{@linkplain IdentifiedObject}[]</code></td><td>Accepted only for {@link ContentLevel#NAME_SUMMARY}.</td></tr>
  * </table>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>The current implementation can only format features — parsing is not yet implemented.</li>
  *   <li>{@code ParameterFormat}, like most {@code java.text.Format} subclasses, is not thread-safe.</li>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodesicsOnEllipsoid.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodesicsOnEllipsoid.java
index 8e1dd8d..3ae1ef2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodesicsOnEllipsoid.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodesicsOnEllipsoid.java
@@ -58,10 +58,10 @@ import static java.lang.Math.*;
  * while suffix 2 denotes values computed using ending point (P₂) and ending azimuth (α₂).
  * All angular values stored in this class are in radians.
  *
- * <p><b>Limitations:</b>
+ * <h2>Limitations</h2>
  * Current implementation is still unable to compute the geodesics in some cases.
  * In particular, calculation may fail for antipodal points.
- * See <a href="https://issues.apache.org/jira/browse/SIS-467">SIS-467</a>.</p>
+ * See <a href="https://issues.apache.org/jira/browse/SIS-467">SIS-467</a>.
  *
  * <p>If the following cases where more than one geodesics exist, current implementation returns an arbitrary one:</p>
  * <ul>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java
index cfa1e24..b2d670f 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java
@@ -293,9 +293,9 @@ public class GeodeticCalculator {
      * or return value will use that specified CRS.
      * That CRS is the value returned by {@link #getPositionCRS()}.
      *
-     * <p><b>Limitation:</b>
-     * current implementation uses only spherical formulas.
-     * Implementation using ellipsoidal formulas will be provided in a future Apache SIS release.</p>
+     * <h4>Limitations</h4>
+     * Current implementation uses only spherical formulas.
+     * Implementation using ellipsoidal formulas will be provided in a future Apache SIS release.
      *
      * @param  crs  the reference system for the {@link Position} objects.
      * @return a new geodetic calculator using the specified CRS.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java
index fecb9c1..4c590df 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java
@@ -368,11 +368,11 @@ public class EPSGFactory extends ConcurrentAuthorityFactory<EPSGDataAccess> impl
      *     provided that there is no ambiguity.</li>
      * </ul>
      *
-     * <p><b>Legal constraint:</b>
-     * the EPSG dataset can not be distributed with Apache SIS at this time for licensing reasons.
+     * <h4>Legal constraint</h4>
+     * The EPSG dataset can not be distributed with Apache SIS at this time for licensing reasons.
      * Users need to either install the dataset manually (for example with the help of this method),
      * or add on the classpath to a separated bundle like {@code org.apache.sis:non-free:sis-epsg.jar}.
-     * See <a href="http://sis.apache.org/epsg.html">How to use EPSG geodetic dataset</a> for more information.</p>
+     * See <a href="http://sis.apache.org/epsg.html">How to use EPSG geodetic dataset</a> for more information.
      *
      * @param  connection  connection to the database where to create the EPSG schema.
      * @throws UnavailableFactoryException if installation failed. The exception will have a
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
index 505f3ec..17b2970 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
@@ -689,11 +689,11 @@ class CoordinateOperationRegistry {
     /**
      * Creates the inverse of the given operation, which may be single or compound.
      *
-     * <p><b>Design note:</b>
-     * we do not provide a {@code AbstractCoordinateOperation.inverse()} method. If the user wants an inverse method,
+     * <h4>Design note</h4>
+     * We do not provide a {@code AbstractCoordinateOperation.inverse()} method. If the user wants an inverse method,
      * he should invoke {@code CRS.findOperation(targetCRS, sourceCRS, null)} or something equivalent. This is because
      * a new query of EPSG database may be necessary, and if no explicit definition is found there is too many arbitrary
-     * values to set in a default inverse operation for making that API public.</p>
+     * values to set in a default inverse operation for making that API public.
      *
      * @param  operation  the operation to invert, or {@code null}.
      * @return the inverse of {@code operation}, or {@code null} if none.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java
index 38e0300..9d113dd 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java
@@ -403,7 +403,7 @@ class GeneralMatrix extends MatrixSIS implements ExtendedPrecisionMatrix {
      * of {@code double}. The main purpose of this method is to fetch the {@link DoubleDouble#error} terms when
      * such instances are found.
      *
-     * <p><b>Restrictions:</b></p>
+     * <h4>Restrictions</h4>
      * <ul>
      *   <li>This matrix must use extended-precision elements as by {@link #createExtendedPrecision(int, int, boolean)}.</li>
      *   <li>If this method returns {@code false}, then error terms are <strong>not</strong> initialized - they
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Polyconic.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Polyconic.java
index 8f73785..800a270 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Polyconic.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Polyconic.java
@@ -45,7 +45,7 @@ import static org.apache.sis.internal.referencing.provider.Polyconic.*;
  *   <li>Free of distortion only along the central meridian.</li>
  * </ul>
  *
- * <p><b>References:</b></p>
+ * <h2>References</h2>
  * <ul>
  *   <li>John P. Snyder (Map Projections - A Working Manual,<br>
  *       U.S. Geological Survey Professional Paper 1395, 1987)</li>
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 8b5946c..baac159 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
@@ -291,7 +291,7 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
      * Note that by default, only operation methods that implement the {@link MathTransformProvider} interface can be
      * used by the {@code create(…)} methods in this class.
      *
-     * <p><b>Requirements:</b></p>
+     * <h4>Requirements</h4>
      * <ul>
      *   <li>The given iterable should not contain duplicated elements.</li>
      *   <li>The given iterable shall be stable: all elements returned by the first iteration must also be
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
index 89f8877..2760359 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
@@ -228,9 +228,11 @@ public final class MathTransforms extends Static {
      * Otherwise an approximation for the given position is created using the
      * {@linkplain MathTransform#derivative(DirectPosition) transform derivative} at that position.
      *
-     * <p><b>Invariant:</b> transforming the given {@code position} using the given {@code transform} produces the same result
-     * (ignoring rounding error) than transforming the same {@code position} using the returned transform. This invariant holds
-     * only for that particular position; the transformation of any other positions may produce different results.</p>
+     * <h4>Invariant</h4>
+     * Transforming the given {@code position} using the given {@code transform} produces the same result
+     * (ignoring rounding error) than transforming the same {@code position} using the returned transform.
+     * This invariant holds only for that particular position; the transformation of any other positions
+     * may produce different results.
      *
      * @param  transform  the transform to approximate by an affine transform.
      * @param  position   position in source CRS around which to get the an affine transform approximation.
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java
index 0658839..45f7d28 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java
@@ -48,7 +48,7 @@ import static org.apache.sis.test.ReferencingAssert.*;
 /**
  * Tests {@link DefaultCoordinateOperationFactory}, with or without EPSG geodetic dataset.
  *
- * <p><b>Relationship with other tests:</b></p>
+ * <h2>Relationship with other tests</h2>
  * <ul>
  *   <li>{@link CoordinateOperationRegistryTest} requires an EPSG geodetic dataset (otherwise tests are skipped).</li>
  *   <li>{@link CoordinateOperationFinderTest} do not use any EPSG geodetic dataset.</li>
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/Benchmark.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/Benchmark.java
index 0a76065..5dacbad 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/Benchmark.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/Benchmark.java
@@ -40,8 +40,9 @@ import org.apache.sis.referencing.operation.transform.MathTransformFactoryMock;
  * This class can be used for comparing different implementation alternatives,
  * for example with {@code ALLOW_TRIGONOMETRIC_IDENTITIES} flag on or off.
  *
- * <p><b>Usage:</b> modify the provider created in the {@code main} method if needed, and run. Change map projection
- * implementation (for example by changing a {@code ALLOW_TRIGONOMETRIC_IDENTITIES} flag value) and run again.</p>
+ * <h2>Usage</h2>
+ * Modify the provider created in the {@code main} method if needed, and run. Change map projection implementation
+ * (for example by changing a {@code ALLOW_TRIGONOMETRIC_IDENTITIES} flag value) and run again.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.8
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java
index 163b5e7..cc3ad0f 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java
@@ -320,8 +320,9 @@ public final class CheckedArrayList<E> extends ArrayList<E> implements CheckedCo
     /**
      * Returns a checked sublist.
      *
-     * <p><b>Limitation:</b> current implementation checks only the type.
-     * It does not prevent the insertion of {@code null} values.</p>
+     * <h4>Limitations</h4>
+     * Current implementation checks only the type.
+     * It does not prevent the insertion of {@code null} values.
      *
      * @param  fromIndex  index of the first element.
      * @param  toIndex    index after the last element.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java b/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java
index e785fc4..26211f9 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java
@@ -53,7 +53,7 @@ import org.apache.sis.internal.util.Numerics;
  * }
  * </div>
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>The current implementation can only format features — parsing is not yet implemented.</li>
  *   <li>{@code StatisticsFormat}, like most {@code java.text.Format} subclasses, is not thread-safe.</li>
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedContainer.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedContainer.java
index a87f20a..8459383 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedContainer.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedContainer.java
@@ -23,9 +23,9 @@ import java.util.Collection;
  * A container that ensures that all elements are assignable to a given base type.
  * Checked containers are usually {@link Collection}, but not always.
  *
- * <p><b>Constraint:</b>
- * if a class implements both {@code CheckedContainer} and {@code Collection},
- * then the parameterized type shall be the same type. Example:</p>
+ * <h2>Constraint</h2>
+ * If a class implements both {@code CheckedContainer} and {@code Collection},
+ * then the parameterized type shall be the same type. Example:
  *
  * {@preformat java
  *     class MyList<E> extends AbstractList<E> implements CheckedContainer<E> { ... }
diff --git a/storage/sis-earth-observation/src/test/java/org/apache/sis/storage/earthobservation/LandsatReaderTest.java b/storage/sis-earth-observation/src/test/java/org/apache/sis/storage/earthobservation/LandsatReaderTest.java
index bf26ac1..b7cffdf 100644
--- a/storage/sis-earth-observation/src/test/java/org/apache/sis/storage/earthobservation/LandsatReaderTest.java
+++ b/storage/sis-earth-observation/src/test/java/org/apache/sis/storage/earthobservation/LandsatReaderTest.java
@@ -65,7 +65,7 @@ public class LandsatReaderTest extends TestCase {
     /**
      * Tests {@link LandsatReader#read(BufferedReader)}.
      *
-     * <p><b>NOTE FOR MAINTAINER:</b> if the result of this test changes, consider updating
+     * <p><b>Note for maintainer:</b> if the result of this test changes, consider updating
      * <a href="./doc-files/LandsatMetadata.html">./doc-files/LandsatMetadata.html</a> accordingly.</p>
      *
      * @throws IOException if an error occurred while reading the test file.
diff --git a/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4.java b/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4.java
index 5ebbb37..c7ad868 100644
--- a/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4.java
+++ b/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4.java
@@ -342,7 +342,7 @@ public final class Proj4 extends Static {
      *       This method fails if it can not map the given CRS to Proj.4 data structures.</li>
      * </ul>
      *
-     * <p><b>Recommended alternative</b></p>
+     * <h4>Recommended alternative</h4>
      * Provided that an <a href="http://sis.apache.org/epsg.html">EPSG database is available</a>,
      * Apache SIS {@link CRS#findOperation CRS.findOperation(…)} method produces results that are closer
      * to the authoritative definitions of coordinate operations (technically, Apache SIS referencing
diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataSubset.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataSubset.java
index e0d4327..24f969c 100644
--- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataSubset.java
+++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataSubset.java
@@ -391,7 +391,7 @@ class DataSubset extends TiledGridCoverage implements Localized {
      *
      * <p>The length of {@code lower}, {@code upper} and {@code subsampling} arrays shall be 2.</p>
      *
-     * <h2>Default implementation</h2>
+     * <h4>Default implementation</h4>
      * The default implementation in this base class assumes uncompressed data without band subset.
      * Subsampling on the <var>X</var> axis is not supported if the image has interleaved pixels.
      * Packed pixels (é.g. bilevel images with 8 pixels per byte) are not supported.
diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GridGeometryBuilder.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GridGeometryBuilder.java
index 5c516df..c8cb55c 100644
--- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GridGeometryBuilder.java
+++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GridGeometryBuilder.java
@@ -354,7 +354,7 @@ final class GridGeometryBuilder {
     /**
      * Completes ISO 19115 metadata with some GeoTIFF values inferred from the geotags.
      *
-     * <p><b>Pre-requite:</b></p>
+     * <h4>Pre-requite</h4>
      * <ul>
      *   <li>{@link #build(long, long)} must have been invoked successfully before this method.</li>
      *   <li>{@link ImageFileDirectory} must have filled its part of metadata before to invoke this method.</li>
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/package-info.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/package-info.java
index 3110b67..2e3ec91 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/package-info.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/package-info.java
@@ -21,7 +21,7 @@
  * This package works with channels instead than files, which is a little bit easier to use
  * in some environments.
  *
- * <p><b>Reference:</b></p>
+ * <h2>Reference</h2>
  * <ul>
  *   <li><a href="https://www.ogc.org/standards/netcdf">NetCDF standards on OGC web site</a></li>
  *   <li><a href="https://portal.ogc.org/files/?artifact_id=43734">NetCDF Classic and 64-bit Offset Format (1.0)</a></li>
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 507e4f9..9310d27 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
@@ -133,7 +133,7 @@ import org.opengis.metadata.extent.GeographicDescription;
  * {@value     #TOPIC_CATEGORY}<br>
  * </td></tr></table></blockquote>
  *
- * <p><b>References:</b></p>
+ * <h2>References</h2>
  * <ul>
  *   <li><a href="http://wiki.esipfed.org/index.php/Category:Attribute_Conventions_Dataset_Discovery">NetCDF
  *       Attribute Convention for Dataset Discovery</a> wiki</li>
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
index bb76c79..a969c23 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
@@ -321,10 +321,10 @@ public class MetadataBuilder {
     /**
      * Creates the individual or organization information object if it does not already exists, then returns it.
      *
-     * <p><b>Limitation:</b> if the party type is unknown, then this method creates an {@code AbstractParty} instead
-     * than one of the subtypes. This is not valid, but we currently have no way to guess if a party is an individual
-     * or an organization. For now we prefer to let users know that the type is unknown rather than to pick a
-     * potentially wrong type.</p>
+     * <h4>Limitations</h4>
+     * If the party type is unknown, then this method creates an {@code AbstractParty} instead of one of the subtypes.
+     * This is not valid, but we currently have no way to guess if a party is an individual or an organization.
+     * For now we prefer to let users know that the type is unknown rather than to pick a potentially wrong type.
      *
      * @return the individual or organization information (never {@code null}).
      * @see #newParty(MetadataBuilder.PartyType)
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/FeatureIterator.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/FeatureIterator.java
index 3acd08f..33bc9dd 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/FeatureIterator.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/FeatureIterator.java
@@ -202,11 +202,11 @@ class FeatureIterator implements Spliterator<Feature> {
      * The features are assumed static, with one feature per line.
      * This method is for {@link #tryAdvance(Consumer)} and {@link #forEachRemaining(Consumer)} implementations.
      *
-     * <p><b>Multi-threading:</b>
+     * <h4>Multi-threading</h4>
      * {@code Iter} does not need to be thread-safe, so we do not perform synchronization for its {@link #values}.
      * Accesses to {@code Store} fields need to be thread-safe, but this method uses only immutable or thread-safe
      * objects from {@link Store}, so there is no need for {@code synchronize(Store.this)} statement.
-     * The only object that need synchronization is {@link Store#source}, which is already synchronized.</p>
+     * The only object that need synchronization is {@link Store#source}, which is already synchronized.
      *
      * @param  action  the action to execute.
      * @param  all     {@code true} for executing the given action on all remaining features.
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
index fab7ea4..524c206 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
@@ -67,7 +67,7 @@ import org.apache.sis.storage.event.WarningEvent;
  * This approach allows to discover the content of a folder or archive without
  * testing each file one by one.
  *
- * <p><b>Limitations:</b></p>
+ * <h2>Limitations</h2>
  * <ul>
  *   <li>Current version is read-only.</li>
  *   <li>Current version does not watch for external modifications in directory content.</li>