changeset 17062:bd0e423e5756

8179364: update "<a name=" in java.base module to use id attribute Reviewed-by: darcy
author jjg
date Wed, 26 Apr 2017 13:38:21 -0700
parents 7c04ab31b4d6
children 9bf7a7195e96
files src/java.base/share/classes/java/io/DataInput.java src/java.base/share/classes/java/io/File.java src/java.base/share/classes/java/io/LineNumberReader.java src/java.base/share/classes/java/io/PipedInputStream.java src/java.base/share/classes/java/io/PipedOutputStream.java src/java.base/share/classes/java/io/RandomAccessFile.java src/java.base/share/classes/java/lang/Character.java src/java.base/share/classes/java/lang/ClassLoader.java src/java.base/share/classes/java/lang/ProcessBuilder.java src/java.base/share/classes/java/lang/Runtime.java src/java.base/share/classes/java/lang/System.java src/java.base/share/classes/java/lang/invoke/MethodHandle.java src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java src/java.base/share/classes/java/lang/invoke/MethodHandles.java src/java.base/share/classes/java/lang/invoke/VarHandle.java src/java.base/share/classes/java/lang/ref/Cleaner.java src/java.base/share/classes/java/lang/ref/package-info.java src/java.base/share/classes/java/lang/reflect/Proxy.java src/java.base/share/classes/java/net/Inet4Address.java src/java.base/share/classes/java/net/Inet6Address.java src/java.base/share/classes/java/net/URI.java src/java.base/share/classes/java/nio/MappedByteBuffer.java src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java src/java.base/share/classes/java/nio/channels/FileChannel.java src/java.base/share/classes/java/nio/channels/FileLock.java src/java.base/share/classes/java/nio/channels/SelectableChannel.java src/java.base/share/classes/java/nio/channels/SelectionKey.java src/java.base/share/classes/java/nio/channels/Selector.java src/java.base/share/classes/java/nio/charset/Charset.java src/java.base/share/classes/java/nio/file/Path.java src/java.base/share/classes/java/text/BreakIterator.java src/java.base/share/classes/java/text/ChoiceFormat.java src/java.base/share/classes/java/text/DateFormat.java src/java.base/share/classes/java/text/DecimalFormat.java src/java.base/share/classes/java/text/Format.java src/java.base/share/classes/java/text/MessageFormat.java src/java.base/share/classes/java/text/NumberFormat.java src/java.base/share/classes/java/text/SimpleDateFormat.java src/java.base/share/classes/java/util/Base64.java src/java.base/share/classes/java/util/Calendar.java src/java.base/share/classes/java/util/Collection.java src/java.base/share/classes/java/util/Formatter.java src/java.base/share/classes/java/util/GregorianCalendar.java src/java.base/share/classes/java/util/List.java src/java.base/share/classes/java/util/ListResourceBundle.java src/java.base/share/classes/java/util/Locale.java src/java.base/share/classes/java/util/Map.java src/java.base/share/classes/java/util/Properties.java src/java.base/share/classes/java/util/PropertyResourceBundle.java src/java.base/share/classes/java/util/ResourceBundle.java src/java.base/share/classes/java/util/Scanner.java src/java.base/share/classes/java/util/Set.java src/java.base/share/classes/java/util/Spliterator.java src/java.base/share/classes/java/util/TimeZone.java src/java.base/share/classes/java/util/jar/JarFile.java src/java.base/share/classes/java/util/regex/Pattern.java src/java.base/share/classes/java/util/spi/CalendarNameProvider.java src/java.base/share/classes/java/util/stream/package-info.java
diffstat 58 files changed, 182 insertions(+), 182 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.base/share/classes/java/io/DataInput.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/DataInput.java	Wed Apr 26 13:38:21 2017 -0700
@@ -48,7 +48,7 @@
  * may be thrown if the input stream has been
  * closed.
  *
- * <h3><a name="modified-utf-8">Modified UTF-8</a></h3>
+ * <h3><a id="modified-utf-8">Modified UTF-8</a></h3>
  * <p>
  * Implementations of the DataInput and DataOutput interfaces represent
  * Unicode strings in a format that is a slight modification of UTF-8.
--- a/src/java.base/share/classes/java/io/File.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/File.java	Wed Apr 26 13:38:21 2017 -0700
@@ -113,7 +113,7 @@
  * operating system-specific portion of storage for a file system.  A single
  * storage device (e.g. a physical disk-drive, flash memory, CD-ROM) may
  * contain multiple partitions.  The object, if any, will reside on the
- * partition <a name="partName">named</a> by some ancestor of the absolute
+ * partition <a id="partName">named</a> by some ancestor of the absolute
  * form of this pathname.
  *
  * <p> A file system may implement restrictions to certain operations on the
--- a/src/java.base/share/classes/java/io/LineNumberReader.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/LineNumberReader.java	Wed Apr 26 13:38:21 2017 -0700
@@ -39,7 +39,7 @@
  * the stream; it only changes the value that will be returned by
  * {@code getLineNumber()}.
  *
- * <p> A line is considered to be <a name="lt">terminated</a> by any one of a
+ * <p> A line is considered to be <a id="lt">terminated</a> by any one of a
  * line feed ('\n'), a carriage return ('\r'), or a carriage return followed
  * immediately by a linefeed.
  *
--- a/src/java.base/share/classes/java/io/PipedInputStream.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/PipedInputStream.java	Wed Apr 26 13:38:21 2017 -0700
@@ -39,7 +39,7 @@
  * The piped input stream contains a buffer,
  * decoupling read operations from write operations,
  * within limits.
- * A pipe is said to be <a name="BROKEN"> <i>broken</i> </a> if a
+ * A pipe is said to be <a id="BROKEN"> <i>broken</i> </a> if a
  * thread that was providing data bytes to the connected
  * piped output stream is no longer alive.
  *
--- a/src/java.base/share/classes/java/io/PipedOutputStream.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/PipedOutputStream.java	Wed Apr 26 13:38:21 2017 -0700
@@ -35,7 +35,7 @@
  * read from the connected <code>PipedInputStream</code> by some
  * other thread. Attempting to use both objects from a single thread
  * is not recommended as it may deadlock the thread.
- * The pipe is said to be <a name=BROKEN> <i>broken</i> </a> if a
+ * The pipe is said to be <a id=BROKEN> <i>broken</i> </a> if a
  * thread that was reading data bytes from the connected piped input
  * stream is no longer alive.
  *
--- a/src/java.base/share/classes/java/io/RandomAccessFile.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/io/RandomAccessFile.java	Wed Apr 26 13:38:21 2017 -0700
@@ -132,7 +132,7 @@
      * write to, the file specified by the {@link File} argument.  A new {@link
      * FileDescriptor} object is created to represent this file connection.
      *
-     * <p>The <a name="mode">{@code mode}</a> argument specifies the access mode
+     * <p>The <a id="mode">{@code mode}</a> argument specifies the access mode
      * in which the file is to be opened.  The permitted values and their
      * meanings are:
      *
--- a/src/java.base/share/classes/java/lang/Character.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/Character.java	Wed Apr 26 13:38:21 2017 -0700
@@ -56,7 +56,7 @@
  * <li><a href="http://www.unicode.org">http://www.unicode.org</a>
  * </ul>
  *
- * <h3><a name="unicode">Unicode Character Representations</a></h3>
+ * <h3><a id="unicode">Unicode Character Representations</a></h3>
  *
  * <p>The {@code char} data type (and therefore the value that a
  * {@code Character} object encapsulates) are based on the
@@ -70,9 +70,9 @@
  * definition</i></a> of the U+<i>n</i> notation in the Unicode
  * Standard.)
  *
- * <p><a name="BMP">The set of characters from U+0000 to U+FFFF</a> is
+ * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
  * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
- * <a name="supplementary">Characters</a> whose code points are greater
+ * <a id="supplementary">Characters</a> whose code points are greater
  * than U+FFFF are called <em>supplementary character</em>s.  The Java
  * platform uses the UTF-16 representation in {@code char} arrays and
  * in the {@code String} and {@code StringBuffer} classes. In
--- a/src/java.base/share/classes/java/lang/ClassLoader.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java	Wed Apr 26 13:38:21 2017 -0700
@@ -114,7 +114,7 @@
  * duration of the class loading process (see {@link #loadClass
  * loadClass} methods).
  *
- * <h3> <a name="builtinLoaders">Run-time Built-in Class Loaders</a></h3>
+ * <h3> <a id="builtinLoaders">Run-time Built-in Class Loaders</a></h3>
  *
  * The Java run-time has the following built-in class loaders:
  *
@@ -183,7 +183,7 @@
  *     }
  * </pre></blockquote>
  *
- * <h3> <a name="name">Binary names</a> </h3>
+ * <h3> <a id="name">Binary names</a> </h3>
  *
  * <p> Any class name provided as a {@code String} parameter to methods in
  * {@code ClassLoader} must be a binary name as defined by
--- a/src/java.base/share/classes/java/lang/ProcessBuilder.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/ProcessBuilder.java	Wed Apr 26 13:38:21 2017 -0700
@@ -71,7 +71,7 @@
  * working directory of the current process, usually the directory
  * named by the system property {@code user.dir}.
  *
- * <li><a name="redirect-input">a source of <i>standard input</i></a>.
+ * <li><a id="redirect-input">a source of <i>standard input</i></a>.
  * By default, the subprocess reads input from a pipe.  Java code
  * can access this pipe via the output stream returned by
  * {@link Process#getOutputStream()}.  However, standard input may
@@ -86,7 +86,7 @@
  * <li>the {@link OutputStream#close() close} method does nothing
  * </ul>
  *
- * <li><a name="redirect-output">a destination for <i>standard output</i>
+ * <li><a id="redirect-output">a destination for <i>standard output</i>
  * and <i>standard error</i></a>.  By default, the subprocess writes standard
  * output and standard error to pipes.  Java code can access these pipes
  * via the input streams returned by {@link Process#getOutputStream()} and
--- a/src/java.base/share/classes/java/lang/Runtime.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/Runtime.java	Wed Apr 26 13:38:21 2017 -0700
@@ -950,7 +950,7 @@
      * Java&nbsp;SE Platform.  A version string consists of a version number
      * optionally followed by pre-release and build information.
      *
-     * <h2><a name="verNum">Version numbers</a></h2>
+     * <h2><a id="verNum">Version numbers</a></h2>
      *
      * <p> A <em>version number</em>, {@code $VNUM}, is a non-empty sequence
      * of elements separated by period characters (U+002E).  An element is
@@ -971,7 +971,7 @@
      *
      * <ul>
      *
-     * <li><p> <a name="major">{@code $MAJOR}</a> --- The major version
+     * <li><p> <a id="major">{@code $MAJOR}</a> --- The major version
      * number, incremented for a major release that contains significant new
      * features as specified in a new edition of the Java&#160;SE Platform
      * Specification, <em>e.g.</em>, <a
@@ -983,7 +983,7 @@
      * number of JDK&#160;9 is {@code 9}.  When {@code $MAJOR} is incremented,
      * all subsequent elements are removed. </p></li>
      *
-     * <li><p> <a name="minor">{@code $MINOR}</a> --- The minor version
+     * <li><p> <a id="minor">{@code $MINOR}</a> --- The minor version
      * number, incremented for a minor update release that may contain
      * compatible bug fixes, revisions to standard APIs mandated by a
      * <a href="https://jcp.org/en/procedures/jcp2#5.3">Maintenance Release</a>
@@ -992,7 +992,7 @@
      * additional service providers, new garbage collectors, and ports to new
      * hardware architectures. </p></li>
      *
-     * <li><p> <a name="security">{@code $SECURITY}</a> --- The security
+     * <li><p> <a id="security">{@code $SECURITY}</a> --- The security
      * level, incremented for a security update release that contains critical
      * fixes including those necessary to improve security.  {@code $SECURITY}
      * is <strong>not</strong> reset when {@code $MINOR} is incremented.  A
@@ -1021,7 +1021,7 @@
      * sequence; <em>e.g.</em>, {@code 9.1.2} is less than {@code 9.1.2.1}.
      * </p>
      *
-     * <h2><a name="verStr">Version strings</a></h2>
+     * <h2><a id="verStr">Version strings</a></h2>
      *
      * <p> A <em>version string</em>, {@code $VSTR}, consists of a version
      * number {@code $VNUM}, as described above, optionally followed by
@@ -1038,17 +1038,17 @@
      *
      * <ul>
      *
-     * <li><p> <a name="pre">{@code $PRE}</a>, matching {@code ([a-zA-Z0-9]+)}
+     * <li><p> <a id="pre">{@code $PRE}</a>, matching {@code ([a-zA-Z0-9]+)}
      * --- A pre-release identifier.  Typically {@code ea}, for a
      * potentially unstable early-access release under active development,
      * or {@code internal}, for an internal developer build. </p></li>
      *
-     * <li><p> <a name="build">{@code $BUILD}</a>, matching {@code
+     * <li><p> <a id="build">{@code $BUILD}</a>, matching {@code
      * (0|[1-9][0-9]*)} --- The build number, incremented for each promoted
      * build.  {@code $BUILD} is reset to {@code 1} when any portion of {@code
      * $VNUM} is incremented. </p></li>
      *
-     * <li><p> <a name="opt">{@code $OPT}</a>, matching {@code
+     * <li><p> <a id="opt">{@code $OPT}</a>, matching {@code
      * ([-a-zA-Z0-9.]+)} --- Additional build information, if desired.  In
      * the case of an {@code internal} build this will often contain the date
      * and time of the build. </p></li>
--- a/src/java.base/share/classes/java/lang/System.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/System.java	Wed Apr 26 13:38:21 2017 -0700
@@ -899,7 +899,7 @@
      * being thrown.  If no exception is thrown the value of the
      * variable <code>name</code> is returned.
      *
-     * <p><a name="EnvironmentVSSystemProperties"><i>System
+     * <p><a id="EnvironmentVSSystemProperties"><i>System
      * properties</i> and <i>environment variables</i></a> are both
      * conceptually mappings between names and values.  Both
      * mechanisms can be used to pass user-defined information to a
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandle.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandle.java	Wed Apr 26 13:38:21 2017 -0700
@@ -310,7 +310,7 @@
  * throwables locally, rethrowing only those which are legal in the context,
  * and wrapping ones which are illegal.
  *
- * <h1><a name="sigpoly"></a>Signature polymorphism</h1>
+ * <h1><a id="sigpoly"></a>Signature polymorphism</h1>
  * The unusual compilation and linkage behavior of
  * {@code invokeExact} and plain {@code invoke}
  * is referenced by the term <em>signature polymorphism</em>.
@@ -404,7 +404,7 @@
  * genericity with a Java type parameter.</li>
  * </ul>
  *
- * <h1><a name="maxarity"></a>Arity limits</h1>
+ * <h1><a id="maxarity"></a>Arity limits</h1>
  * The JVM imposes on all methods and constructors of any kind an absolute
  * limit of 255 stacked arguments.  This limit can appear more restrictive
  * in certain cases:
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java	Wed Apr 26 13:38:21 2017 -0700
@@ -35,7 +35,7 @@
  * A symbolic reference obtained by cracking a direct method handle
  * into its consitutent symbolic parts.
  * To crack a direct method handle, call {@link Lookup#revealDirect Lookup.revealDirect}.
- * <h1><a name="directmh"></a>Direct Method Handles</h1>
+ * <h1><a id="directmh"></a>Direct Method Handles</h1>
  * A <em>direct method handle</em> represents a method, constructor, or field without
  * any intervening argument bindings or other transformations.
  * The method, constructor, or field referred to by a direct method handle is called
@@ -77,7 +77,7 @@
  * handle with symbolic information (or caller binding) from an unexpected scope.
  * Use {@link java.lang.invoke.MethodHandles#reflectAs} to override this limitation.
  *
- * <h1><a name="refkinds"></a>Reference kinds</h1>
+ * <h1><a id="refkinds"></a>Reference kinds</h1>
  * The <a href="MethodHandles.Lookup.html#lookups">Lookup Factory Methods</a>
  * correspond to all major use cases for methods, constructors, and fields.
  * These use cases may be distinguished using small integers as follows:
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Wed Apr 26 13:38:21 2017 -0700
@@ -257,7 +257,7 @@
      * This includes all methods, constructors, and fields which are allowed to the lookup class,
      * even private ones.
      *
-     * <h1><a name="lookups"></a>Lookup Factory Methods</h1>
+     * <h1><a id="lookups"></a>Lookup Factory Methods</h1>
      * The factory methods on a {@code Lookup} object correspond to all major
      * use cases for methods, constructors, and fields.
      * Each method handle created by a factory method is the functional
@@ -267,7 +267,7 @@
      * the behavior of the resulting method handles:
      * <table border=1 cellpadding=5 summary="lookup method behaviors">
      * <tr>
-     *     <th><a name="equiv"></a>lookup expression</th>
+     *     <th><a id="equiv"></a>lookup expression</th>
      *     <th>member</th>
      *     <th>bytecode behavior</th>
      * </tr>
@@ -378,7 +378,7 @@
      * type having too many parameters.
      * </ul>
      *
-     * <h1><a name="access"></a>Access checking</h1>
+     * <h1><a id="access"></a>Access checking</h1>
      * Access checks are applied in the factory methods of {@code Lookup},
      * when a method handle is created.
      * This is a key difference from the Core Reflection API, since
@@ -483,7 +483,7 @@
      * with fewer access modes than the original lookup object.
      *
      * <p style="font-size:smaller;">
-     * <a name="privacc"></a>
+     * <a id="privacc"></a>
      * <em>Discussion of private access:</em>
      * We say that a lookup has <em>private access</em>
      * if its {@linkplain #lookupModes lookup modes}
@@ -506,7 +506,7 @@
      * whose <a href="MethodHandles.Lookup.html#equiv">bytecode behaviors</a> and Java language access permissions
      * can be reliably determined and emulated by method handles.
      *
-     * <h1><a name="secmgr"></a>Security manager interactions</h1>
+     * <h1><a id="secmgr"></a>Security manager interactions</h1>
      * Although bytecode instructions can only refer to classes in
      * a related class loader, this API can search for methods in any
      * class, as long as a reference to its {@code Class} object is
@@ -565,7 +565,7 @@
      * or else that is being accessed from a lookup class that has
      * rights to access the member or class.
      *
-     * <h1><a name="callsens"></a>Caller sensitive methods</h1>
+     * <h1><a id="callsens"></a>Caller sensitive methods</h1>
      * A small number of Java methods have a special property called caller sensitivity.
      * A <em>caller-sensitive</em> method can behave differently depending on the
      * identity of its immediate caller.
@@ -4497,7 +4497,7 @@
      * The init functions can observe initial pre-loop state, in the form {@code (a...)}.
      * Most clause functions will not need all of this information, but they will be formally connected to it
      * as if by {@link #dropArguments}.
-     * <a name="astar"></a>
+     * <a id="astar"></a>
      * More specifically, we shall use the notation {@code (V*)} to express an arbitrary prefix of a full
      * sequence {@code (V...)} (and likewise for {@code (v*)}, {@code (A*)}, {@code (a*)}).
      * In that notation, the general form of an init function parameter list
@@ -4510,7 +4510,7 @@
      * met by the inputs to the loop combinator.
      * <p>
      * <em>Effectively identical sequences:</em>
-     * <a name="effid"></a>
+     * <a id="effid"></a>
      * A parameter list {@code A} is defined to be <em>effectively identical</em> to another parameter list {@code B}
      * if {@code A} and {@code B} are identical, or if {@code A} is shorter and is identical with a proper prefix of {@code B}.
      * When speaking of an unordered set of parameter lists, we say they the set is "effectively identical"
--- a/src/java.base/share/classes/java/lang/invoke/VarHandle.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/invoke/VarHandle.java	Wed Apr 26 13:38:21 2017 -0700
@@ -247,7 +247,7 @@
  * except the null reference.
  *
  *
- * <h1><a name="invoke">Invocation of an access mode's method</a></h1>
+ * <h1><a id="invoke">Invocation of an access mode's method</a></h1>
  * The first time an {@code invokevirtual} instruction is executed it is linked
  * by symbolically resolving the names in the instruction and verifying that
  * the method call is statically legal.  This also holds for calls to access mode
--- a/src/java.base/share/classes/java/lang/ref/Cleaner.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/ref/Cleaner.java	Wed Apr 26 13:38:21 2017 -0700
@@ -119,7 +119,7 @@
  * Using a static nested class, as above, will avoid accidentally retaining the
  * object reference.
  * <p>
- * <a name="compatible-cleaners"></a>
+ * <a id="compatible-cleaners"></a>
  * Cleaning actions should be prepared to be invoked concurrently with
  * other cleaning actions.
  * Typically the cleaning actions should be very quick to execute
--- a/src/java.base/share/classes/java/lang/ref/package-info.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/ref/package-info.java	Wed Apr 26 13:38:21 2017 -0700
@@ -93,7 +93,7 @@
  * structure, this check will add little overhead to the hashtable
  * access methods.
  *
- * <a name="reachability"></a>
+ * <a id="reachability"></a>
  * <h3>Reachability</h3>
  *
  * Going from strongest to weakest, the different levels of
--- a/src/java.base/share/classes/java/lang/reflect/Proxy.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/lang/reflect/Proxy.java	Wed Apr 26 13:38:21 2017 -0700
@@ -157,7 +157,7 @@
  * like they do for instances of {@code java.lang.Object}.
  * </ul>
  *
- * <h3><a name="membership">Package and Module Membership of Proxy Class</a></h3>
+ * <h3><a id="membership">Package and Module Membership of Proxy Class</a></h3>
  *
  * The package and module to which a proxy class belongs are chosen such that
  * the accessibility of the proxy class is in line with the accessibility of
@@ -218,7 +218,7 @@
  * a package that either is not exported/open by its containing module or is
  * exported/open in a qualified fashion by its containing module.
  *
- * <h3><a name="dynamicmodule">Dynamic Modules</a></h3>
+ * <h3><a id="dynamicmodule">Dynamic Modules</a></h3>
  * <p>
  * A dynamic module is a named module generated at runtime. A proxy class
  * defined in a dynamic module is encapsulated and not accessible to any module.
@@ -894,7 +894,7 @@
      * that dispatches method invocations to the specified invocation
      * handler.
      * <p>
-     * <a name="restrictions">{@code IllegalArgumentException} will be thrown
+     * <a id="restrictions">{@code IllegalArgumentException} will be thrown
      * if any of the following restrictions is violated:</a>
      * <ul>
      * <li>All of {@code Class} objects in the given {@code interfaces} array
--- a/src/java.base/share/classes/java/net/Inet4Address.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/net/Inet4Address.java	Wed Apr 26 13:38:21 2017 -0700
@@ -36,7 +36,7 @@
  * and <a href="http://www.ietf.org/rfc/rfc2365.txt"><i>RFC&nbsp;2365:
  * Administratively Scoped IP Multicast</i></a>
  *
- * <h3> <A NAME="format">Textual representation of IP addresses</a> </h3>
+ * <h3> <a id="format">Textual representation of IP addresses</a> </h3>
  *
  * Textual representation of IPv4 address used as input to methods
  * takes one of the following forms:
--- a/src/java.base/share/classes/java/net/Inet6Address.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/net/Inet6Address.java	Wed Apr 26 13:38:21 2017 -0700
@@ -38,13 +38,13 @@
  * Defined by <a href="http://www.ietf.org/rfc/rfc2373.txt">
  * <i>RFC&nbsp;2373: IP Version 6 Addressing Architecture</i></a>.
  *
- * <h3> <A NAME="format">Textual representation of IP addresses</a> </h3>
+ * <h3> <a id="format">Textual representation of IP addresses</a> </h3>
  *
  * Textual representation of IPv6 address used as input to methods
  * takes one of the following forms:
  *
  * <ol>
- *   <li><p> <A NAME="lform">The preferred form</a> is x:x:x:x:x:x:x:x,
+ *   <li><p> <a id="lform">The preferred form</a> is x:x:x:x:x:x:x:x,
  *   where the 'x's are
  *   the hexadecimal values of the eight 16-bit pieces of the
  *   address. This is the full form.  For example,
@@ -134,7 +134,7 @@
  *         address.</td></tr>
  * </table></blockquote>
  *
- * <h4><A NAME="scoped">Textual representation of IPv6 scoped addresses</a></h4>
+ * <h4><a id="scoped">Textual representation of IPv6 scoped addresses</a></h4>
  *
  * <p> The textual representation of IPv6 addresses as described above can be
  * extended to specify IPv6 scoped addresses. This extension to the basic
--- a/src/java.base/share/classes/java/net/URI.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/net/URI.java	Wed Apr 26 13:38:21 2017 -0700
@@ -281,7 +281,7 @@
  *           limited to US-ASCII)</i></td></tr>
  * </table></blockquote>
  *
- * <p><a name="legal-chars"></a> The set of all legal URI characters consists of
+ * <p><a id="legal-chars"></a> The set of all legal URI characters consists of
  * the <i>unreserved</i>, <i>reserved</i>, <i>escaped</i>, and <i>other</i>
  * characters.
  *
@@ -308,20 +308,20 @@
  *
  * <ul>
  *
- *   <li><p><a name="encode"></a> A character is <i>encoded</i> by replacing it
+ *   <li><p><a id="encode"></a> A character is <i>encoded</i> by replacing it
  *   with the sequence of escaped octets that represent that character in the
  *   UTF-8 character set.  The Euro currency symbol ({@code '\u005Cu20AC'}),
  *   for example, is encoded as {@code "%E2%82%AC"}.  <i>(<b>Deviation from
  *   RFC&nbsp;2396</b>, which does not specify any particular character
  *   set.)</i> </p></li>
  *
- *   <li><p><a name="quote"></a> An illegal character is <i>quoted</i> simply by
+ *   <li><p><a id="quote"></a> An illegal character is <i>quoted</i> simply by
  *   encoding it.  The space character, for example, is quoted by replacing it
  *   with {@code "%20"}.  UTF-8 contains US-ASCII, hence for US-ASCII
  *   characters this transformation has exactly the effect required by
  *   RFC&nbsp;2396. </p></li>
  *
- *   <li><p><a name="decode"></a>
+ *   <li><p><a id="decode"></a>
  *   A sequence of escaped octets is <i>decoded</i> by
  *   replacing it with the sequence of characters that it represents in the
  *   UTF-8 character set.  UTF-8 contains US-ASCII, hence decoding has the
@@ -983,7 +983,7 @@
      * <p> If the given URI is already absolute, or if this URI is opaque, then
      * the given URI is returned.
      *
-     * <p><a name="resolve-frag"></a> If the given URI's fragment component is
+     * <p><a id="resolve-frag"></a> If the given URI's fragment component is
      * defined, its path component is empty, and its scheme, authority, and
      * query components are undefined, then a URI with the given fragment but
      * with all other components equal to those of this URI is returned.  This
--- a/src/java.base/share/classes/java/nio/MappedByteBuffer.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/MappedByteBuffer.java	Wed Apr 26 13:38:21 2017 -0700
@@ -45,7 +45,7 @@
  * this program or another.  Whether or not such changes occur, and when they
  * occur, is operating-system dependent and therefore unspecified.
  *
- * <a name="inaccess"></a><p> All or part of a mapped byte buffer may become
+ * <a id="inaccess"></a><p> All or part of a mapped byte buffer may become
  * inaccessible at any time, for example if the mapped file is truncated.  An
  * attempt to access an inaccessible region of a mapped byte buffer will not
  * change the buffer's content and will cause an unspecified exception to be
--- a/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Wed Apr 26 13:38:21 2017 -0700
@@ -88,7 +88,7 @@
  *   </tr>
  * </table>
  *
- * <a name="threading"></a><h2>Threading</h2>
+ * <a id="threading"></a><h2>Threading</h2>
  *
  * <p> The completion handler for an I/O operation initiated on a channel bound
  * to a group is guaranteed to be invoked by one of the pooled threads in the
@@ -103,7 +103,7 @@
  * handler directly by the initiating thread (see {@link
  * AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept}).
  *
- * <a name="shutdown"></a><h2>Shutdown and Termination</h2>
+ * <a id="shutdown"></a><h2>Shutdown and Termination</h2>
  *
  * <p> The {@link #shutdown() shutdown} method is used to initiate an <em>orderly
  * shutdown</em> of a group. An orderly shutdown marks the group as shutdown;
--- a/src/java.base/share/classes/java/nio/channels/FileChannel.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/FileChannel.java	Wed Apr 26 13:38:21 2017 -0700
@@ -118,7 +118,7 @@
  * versa.  Changing the file's content by writing bytes will change the content
  * seen by the originating object, and vice versa.
  *
- * <a name="open-mode"></a> <p> At various points this class specifies that an
+ * <a id="open-mode"></a> <p> At various points this class specifies that an
  * instance that is "open for reading," "open for writing," or "open for
  * reading and writing" is required.  A channel obtained via the {@link
  * java.io.FileInputStream#getChannel getChannel} method of a {@link
@@ -131,7 +131,7 @@
  * was created with mode {@code "r"} and will be open for reading and writing
  * if the instance was created with mode {@code "rw"}.
  *
- * <a name="append-mode"></a><p> A file channel that is open for writing may be in
+ * <a id="append-mode"></a><p> A file channel that is open for writing may be in
  * <i>append mode</i>, for example if it was obtained from a file-output stream
  * that was created by invoking the {@link
  * java.io.FileOutputStream#FileOutputStream(java.io.File,boolean)
--- a/src/java.base/share/classes/java/nio/channels/FileLock.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/FileLock.java	Wed Apr 26 13:38:21 2017 -0700
@@ -73,7 +73,7 @@
  * <p> File-lock objects are safe for use by multiple concurrent threads.
  *
  *
- * <a name="pdep"></a><h2> Platform dependencies </h2>
+ * <a id="pdep"></a><h2> Platform dependencies </h2>
  *
  * <p> This file-locking API is intended to map directly to the native locking
  * facility of the underlying operating system.  Thus the locks held on a file
--- a/src/java.base/share/classes/java/nio/channels/SelectableChannel.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/SelectableChannel.java	Wed Apr 26 13:38:21 2017 -0700
@@ -64,7 +64,7 @@
  * threads. </p>
  *
  *
- * <a name="bm"></a>
+ * <a id="bm"></a>
  * <h2>Blocking mode</h2>
  *
  * A selectable channel is either in <i>blocking</i> mode or in
--- a/src/java.base/share/classes/java/nio/channels/SelectionKey.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/SelectionKey.java	Wed Apr 26 13:38:21 2017 -0700
@@ -40,7 +40,7 @@
  * next selection operation.  The validity of a key may be tested by invoking
  * its {@link #isValid isValid} method.
  *
- * <a name="opsets"></a>
+ * <a id="opsets"></a>
  *
  * <p> A selection key contains two <i>operation sets</i> represented as
  * integer values.  Each bit of an operation set denotes a category of
--- a/src/java.base/share/classes/java/nio/channels/Selector.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/channels/Selector.java	Wed Apr 26 13:38:21 2017 -0700
@@ -42,7 +42,7 @@
  * method of a custom selector provider.  A selector remains open until it is
  * closed via its {@link #close close} method.
  *
- * <a name="ks"></a>
+ * <a id="ks"></a>
  *
  * <p> A selectable channel's registration with a selector is represented by a
  * {@link SelectionKey} object.  A selector maintains three sets of selection
@@ -80,7 +80,7 @@
  * during the next selection operation, at which time the key will removed from
  * all of the selector's key sets.
  *
- * <a name="sks"></a><p> Keys are added to the selected-key set by selection
+ * <a id="sks"></a><p> Keys are added to the selected-key set by selection
  * operations.  A key may be removed directly from the selected-key set by
  * invoking the set's {@link java.util.Set#remove(java.lang.Object) remove}
  * method or by invoking the {@link java.util.Iterator#remove() remove} method
@@ -90,7 +90,7 @@
  * operations.  Keys may not be added directly to the selected-key set. </p>
  *
  *
- * <a name="selop"></a>
+ * <a id="selop"></a>
  * <h2>Selection</h2>
  *
  * <p> During each selection operation, keys may be added to and removed from a
@@ -183,7 +183,7 @@
  * <p> The {@link #close close} method synchronizes on the selector and all
  * three key sets in the same order as in a selection operation.
  *
- * <a name="ksc"></a>
+ * <a id="ksc"></a>
  *
  * <p> A selector's key and selected-key sets are not, in general, safe for use
  * by multiple concurrent threads.  If such a thread might modify one of these
--- a/src/java.base/share/classes/java/nio/charset/Charset.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/charset/Charset.java	Wed Apr 26 13:38:21 2017 -0700
@@ -67,7 +67,7 @@
  * concurrent threads.
  *
  *
- * <a name="names"></a><a name="charenc"></a>
+ * <a id="names"></a><a id="charenc"></a>
  * <h2>Charset names</h2>
  *
  * <p> Charsets are named by strings composed of the following characters:
@@ -113,14 +113,14 @@
  * The aliases of a charset are returned by the {@link #aliases() aliases}
  * method.
  *
- * <p><a name="hn">Some charsets have an <i>historical name</i> that is defined for
+ * <p><a id="hn">Some charsets have an <i>historical name</i> that is defined for
  * compatibility with previous versions of the Java platform.</a>  A charset's
  * historical name is either its canonical name or one of its aliases.  The
  * historical name is returned by the {@code getEncoding()} methods of the
  * {@link java.io.InputStreamReader#getEncoding InputStreamReader} and {@link
  * java.io.OutputStreamWriter#getEncoding OutputStreamWriter} classes.
  *
- * <p><a name="iana"> </a>If a charset listed in the <a
+ * <p><a id="iana"> </a>If a charset listed in the <a
  * href="http://www.iana.org/assignments/character-sets"><i>IANA Charset
  * Registry</i></a> is supported by an implementation of the Java platform then
  * its canonical name must be the name listed in the registry. Many charsets
@@ -142,7 +142,7 @@
  *
  *
  *
- * <p><a name="standard">Every implementation of the Java platform is required to support the
+ * <p><a id="standard">Every implementation of the Java platform is required to support the
  * following standard charsets.</a>  Consult the release documentation for your
  * implementation to see if any other charsets are supported.  The behavior
  * of such optional charsets may differ between implementations.
--- a/src/java.base/share/classes/java/nio/file/Path.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/nio/file/Path.java	Wed Apr 26 13:38:21 2017 -0700
@@ -76,7 +76,7 @@
  *     BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
  * </pre>
  *
- * <a name="interop"></a><h2>Interoperability</h2>
+ * <a id="interop"></a><h2>Interoperability</h2>
  * <p> Paths associated with the default {@link
  * java.nio.file.spi.FileSystemProvider provider} are generally interoperable
  * with the {@link java.io.File java.io.File} class. Paths created by other
--- a/src/java.base/share/classes/java/text/BreakIterator.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/BreakIterator.java	Wed Apr 26 13:38:21 2017 -0700
@@ -68,19 +68,19 @@
  * (word, line, sentence, and so on). You must use a different iterator
  * for each unit boundary analysis you wish to perform.
  *
- * <p><a name="line"></a>
+ * <p><a id="line"></a>
  * Line boundary analysis determines where a text string can be
  * broken when line-wrapping. The mechanism correctly handles
  * punctuation and hyphenated words. Actual line breaking needs
  * to also consider the available line width and is handled by
  * higher-level software.
  *
- * <p><a name="sentence"></a>
+ * <p><a id="sentence"></a>
  * Sentence boundary analysis allows selection with correct interpretation
  * of periods within numbers and abbreviations, and trailing punctuation
  * marks such as quotation marks and parentheses.
  *
- * <p><a name="word"></a>
+ * <p><a id="word"></a>
  * Word boundary analysis is used by search and replace functions, as
  * well as within text editing applications that allow the user to
  * select words with a double click. Word selection provides correct
@@ -88,7 +88,7 @@
  * words. Characters that are not part of a word, such as symbols
  * or punctuation marks, have word-breaks on both sides.
  *
- * <p><a name="character"></a>
+ * <p><a id="character"></a>
  * Character boundary analysis allows users to interact with characters
  * as they expect to, for example, when moving the cursor through a text
  * string. Character boundary analysis provides correct navigation
--- a/src/java.base/share/classes/java/text/ChoiceFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/ChoiceFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -151,7 +151,7 @@
  * }</pre>
  * </blockquote>
  *
- * <h3><a name="synchronization">Synchronization</a></h3>
+ * <h3><a id="synchronization">Synchronization</a></h3>
  *
  * <p>
  * Choice formats are not synchronized.
--- a/src/java.base/share/classes/java/text/DateFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/DateFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -133,7 +133,7 @@
  * on the screen.
  * </ul>
  *
- * <h3><a name="synchronization">Synchronization</a></h3>
+ * <h3><a id="synchronization">Synchronization</a></h3>
  *
  * <p>
  * Date formats are not synchronized.
--- a/src/java.base/share/classes/java/text/DecimalFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/DecimalFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -327,7 +327,7 @@
  * and <code>isParseIntegerOnly()</code> are false.
  * </ul>
  *
- * <h4><a name="synchronization">Synchronization</a></h4>
+ * <h4><a id="synchronization">Synchronization</a></h4>
  *
  * <p>
  * Decimal formats are generally not synchronized.
--- a/src/java.base/share/classes/java/text/Format.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/Format.java	Wed Apr 26 13:38:21 2017 -0700
@@ -115,7 +115,7 @@
  * the field. For examples of these constants, see <code>ERA_FIELD</code> and its
  * friends in {@link DateFormat}.
  *
- * <h4><a name="synchronization">Synchronization</a></h4>
+ * <h4><a id="synchronization">Synchronization</a></h4>
  *
  * <p>
  * Formats are generally not synchronized.
--- a/src/java.base/share/classes/java/text/MessageFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/MessageFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -68,7 +68,7 @@
  * behavior is defined by the pattern that you provide as well as the
  * subformats used for inserted arguments.
  *
- * <h3><a name="patterns">Patterns and Their Interpretation</a></h3>
+ * <h3><a id="patterns">Patterns and Their Interpretation</a></h3>
  *
  * <code>MessageFormat</code> uses patterns of the following form:
  * <blockquote><pre>
@@ -321,7 +321,7 @@
  * // result now equals {new String("z")}
  * </pre></blockquote>
  *
- * <h4><a name="synchronization">Synchronization</a></h4>
+ * <h4><a id="synchronization">Synchronization</a></h4>
  *
  * <p>
  * Message formats are not synchronized.
--- a/src/java.base/share/classes/java/text/NumberFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/NumberFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -166,7 +166,7 @@
  *      numbers: "(12)" for -12.
  * </ol>
  *
- * <h3><a name="synchronization">Synchronization</a></h3>
+ * <h3><a id="synchronization">Synchronization</a></h3>
  *
  * <p>
  * Number formats are generally not synchronized.
--- a/src/java.base/share/classes/java/text/SimpleDateFormat.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/text/SimpleDateFormat.java	Wed Apr 26 13:38:21 2017 -0700
@@ -218,18 +218,18 @@
  * Pattern letters are usually repeated, as their number determines the
  * exact presentation:
  * <ul>
- * <li><strong><a name="text">Text:</a></strong>
+ * <li><strong><a id="text">Text:</a></strong>
  *     For formatting, if the number of pattern letters is 4 or more,
  *     the full form is used; otherwise a short or abbreviated form
  *     is used if available.
  *     For parsing, both forms are accepted, independent of the number
  *     of pattern letters.<br><br></li>
- * <li><strong><a name="number">Number:</a></strong>
+ * <li><strong><a id="number">Number:</a></strong>
  *     For formatting, the number of pattern letters is the minimum
  *     number of digits, and shorter numbers are zero-padded to this amount.
  *     For parsing, the number of pattern letters is ignored unless
  *     it's needed to separate two adjacent fields.<br><br></li>
- * <li><strong><a name="year">Year:</a></strong>
+ * <li><strong><a id="year">Year:</a></strong>
  *     If the formatter's {@link #getCalendar() Calendar} is the Gregorian
  *     calendar, the following rules are applied.<br>
  *     <ul>
@@ -270,7 +270,7 @@
  *     DateFormat#getCalendar() getCalendar()}.{@link
  *     java.util.Calendar#isWeekDateSupported()
  *     isWeekDateSupported()}.<br><br></li>
- * <li><strong><a name="month">Month:</a></strong>
+ * <li><strong><a id="month">Month:</a></strong>
  *     If the number of pattern letters is 3 or more, the month is
  *     interpreted as <a href="#text">text</a>; otherwise,
  *     it is interpreted as a <a href="#number">number</a>.<br>
@@ -291,12 +291,12 @@
  *     <li>Letter <em>L</em> produces the standalone form of month names.</li>
  *     </ul>
  *     <br></li>
- * <li><strong><a name="timezone">General time zone:</a></strong>
+ * <li><strong><a id="timezone">General time zone:</a></strong>
  *     Time zones are interpreted as <a href="#text">text</a> if they have
  *     names. For time zones representing a GMT offset value, the
  *     following syntax is used:
  *     <pre>
- *     <a name="GMTOffsetTimeZone"><i>GMTOffsetTimeZone:</i></a>
+ *     <a id="GMTOffsetTimeZone"><i>GMTOffsetTimeZone:</i></a>
  *             <code>GMT</code> <i>Sign</i> <i>Hours</i> <code>:</code> <i>Minutes</i>
  *     <i>Sign:</i> one of
  *             <code>+ -</code>
@@ -312,7 +312,7 @@
  *     from the Basic Latin block of the Unicode standard.
  *     <p>For parsing, <a href="#rfc822timezone">RFC 822 time zones</a> are also
  *     accepted.<br><br></li>
- * <li><strong><a name="rfc822timezone">RFC 822 time zone:</a></strong>
+ * <li><strong><a id="rfc822timezone">RFC 822 time zone:</a></strong>
  *     For formatting, the RFC 822 4-digit time zone format is used:
  *
  *     <pre>
@@ -325,7 +325,7 @@
  *
  *     <p>For parsing, <a href="#timezone">general time zones</a> are also
  *     accepted.
- * <li><strong><a name="iso8601timezone">ISO 8601 Time zone:</a></strong>
+ * <li><strong><a id="iso8601timezone">ISO 8601 Time zone:</a></strong>
  *     The number of pattern letters designates the format for both formatting
  *     and parsing as follows:
  *     <pre>
@@ -410,7 +410,7 @@
  * </table>
  * </blockquote>
  *
- * <h4><a name="synchronization">Synchronization</a></h4>
+ * <h4><a id="synchronization">Synchronization</a></h4>
  *
  * <p>
  * Date formats are not synchronized.
--- a/src/java.base/share/classes/java/util/Base64.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Base64.java	Wed Apr 26 13:38:21 2017 -0700
@@ -41,21 +41,21 @@
  * <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>.
  *
  * <ul>
- * <li><a name="basic"><b>Basic</b></a>
+ * <li><a id="basic"><b>Basic</b></a>
  * <p> Uses "The Base64 Alphabet" as specified in Table 1 of
  *     RFC 4648 and RFC 2045 for encoding and decoding operation.
  *     The encoder does not add any line feed (line separator)
  *     character. The decoder rejects data that contains characters
  *     outside the base64 alphabet.</p></li>
  *
- * <li><a name="url"><b>URL and Filename safe</b></a>
+ * <li><a id="url"><b>URL and Filename safe</b></a>
  * <p> Uses the "URL and Filename safe Base64 Alphabet" as specified
  *     in Table 2 of RFC 4648 for encoding and decoding. The
  *     encoder does not add any line feed (line separator) character.
  *     The decoder rejects data that contains characters outside the
  *     base64 alphabet.</p></li>
  *
- * <li><a name="mime"><b>MIME</b></a>
+ * <li><a id="mime"><b>MIME</b></a>
  * <p> Uses the "The Base64 Alphabet" as specified in Table 1 of
  *     RFC 2045 for encoding and decoding operation. The encoded output
  *     must be represented in lines of no more than 76 characters each
--- a/src/java.base/share/classes/java/util/Calendar.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Calendar.java	Wed Apr 26 13:38:21 2017 -0700
@@ -67,7 +67,7 @@
  * <code>DAY_OF_MONTH</code>, <code>HOUR</code>, and so on, and for
  * manipulating the calendar fields, such as getting the date of the next
  * week. An instant in time can be represented by a millisecond value that is
- * an offset from the <a name="Epoch"><em>Epoch</em></a>, January 1, 1970
+ * an offset from the <a id="Epoch"><em>Epoch</em></a>, January 1, 1970
  * 00:00:00.000 GMT (Gregorian).
  *
  * <p>The class also provides additional fields and methods for
@@ -124,7 +124,7 @@
  * calculating its time or calendar field values if any out-of-range field
  * value has been set.
  *
- * <h4><a name="first_week">First Week</a></h4>
+ * <h4><a id="first_week">First Week</a></h4>
  *
  * <code>Calendar</code> defines a locale-specific seven day week using two
  * parameters: the first day of the week and the minimal days in first week
@@ -154,13 +154,13 @@
  * calendar field values to determine the date and time in the
  * following way.
  *
- * <p><a name="resolution">If there is any conflict in calendar field values,
+ * <p><a id="resolution">If there is any conflict in calendar field values,
  * <code>Calendar</code> gives priorities to calendar fields that have been set
  * more recently.</a> The following are the default combinations of the
  * calendar fields. The most recent combination, as determined by the
  * most recently set single field, will be used.
  *
- * <p><a name="date_resolution">For the date fields</a>:
+ * <p><a id="date_resolution">For the date fields</a>:
  * <blockquote>
  * <pre>
  * YEAR + MONTH + DAY_OF_MONTH
@@ -170,7 +170,7 @@
  * YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
  * </pre></blockquote>
  *
- * <a name="time_resolution">For the time of day fields</a>:
+ * <a id="time_resolution">For the time of day fields</a>:
  * <blockquote>
  * <pre>
  * HOUR_OF_DAY
--- a/src/java.base/share/classes/java/util/Collection.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Collection.java	Wed Apr 26 13:38:21 2017 -0700
@@ -64,7 +64,7 @@
  * but is not required to, throw the exception if the collection to be added
  * is empty.
  *
- * <p><a name="optional-restrictions">
+ * <p><a id="optional-restrictions">
  * Some collection implementations have restrictions on the elements that
  * they may contain.</a>  For example, some implementations prohibit null elements,
  * and some have restrictions on the types of their elements.  Attempting to
--- a/src/java.base/share/classes/java/util/Formatter.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Formatter.java	Wed Apr 26 13:38:21 2017 -0700
@@ -137,7 +137,7 @@
  *   // -&gt; s == "Duke's Birthday: May 23, 1995"
  * </pre></blockquote>
  *
- * <h3><a name="org">Organization</a></h3>
+ * <h3><a id="org">Organization</a></h3>
  *
  * <p> This specification is divided into two sections.  The first section, <a
  * href="#summary">Summary</a>, covers the basic formatting concepts.  This
@@ -147,13 +147,13 @@
  * details.  It is intended for users who want more precise specification of
  * formatting behavior.
  *
- * <h3><a name="summary">Summary</a></h3>
+ * <h3><a id="summary">Summary</a></h3>
  *
  * <p> This section is intended to provide a brief overview of formatting
  * concepts.  For precise behavioral details, refer to the <a
  * href="#detail">Details</a> section.
  *
- * <h4><a name="syntax">Format String Syntax</a></h4>
+ * <h4><a id="syntax">Format String Syntax</a></h4>
  *
  * <p> Every method which produces formatted output requires a <i>format
  * string</i> and an <i>argument list</i>.  The format string is a {@link
@@ -370,7 +370,7 @@
  * <p> Any characters not explicitly defined as conversions are illegal and are
  * reserved for future extensions.
  *
- * <h4><a name="dt">Date/Time Conversions</a></h4>
+ * <h4><a id="dt">Date/Time Conversions</a></h4>
  *
  * <p> The following date and time conversion suffix characters are defined for
  * the {@code 't'} and {@code 'T'} conversions.  The types are similar to but
@@ -659,7 +659,7 @@
  * </pre></blockquote>
  *
  * <hr>
- * <h3><a name="detail">Details</a></h3>
+ * <h3><a id="detail">Details</a></h3>
  *
  * <p> This section is intended to provide behavioral details for formatting,
  * including conditions and exceptions, supported data types, localization, and
@@ -701,7 +701,7 @@
  * <pre>
  *    out.toUpperCase(Locale.getDefault(Locale.Category.FORMAT)) </pre>
  *
- * <h4><a name="dgen">General</a></h4>
+ * <h4><a id="dgen">General</a></h4>
  *
  * <p> The following general conversions may be applied to any argument type:
  *
@@ -758,7 +758,7 @@
  *
  * </table>
  *
- * <p> The following <a name="dFlags">flags</a> apply to general conversions:
+ * <p> The following <a id="dFlags">flags</a> apply to general conversions:
  *
  * <table cellpadding=5 summary="dFlags">
  *
@@ -777,7 +777,7 @@
  *
  * </table>
  *
- * <p> The <a name="genWidth">width</a> is the minimum number of characters to
+ * <p> The <a id="genWidth">width</a> is the minimum number of characters to
  * be written to the
  * output.  If the length of the converted value is less than the width then
  * the output will be padded by <code>'&nbsp;&nbsp;'</code> (<code>'&#92;u0020'</code>)
@@ -792,7 +792,7 @@
  * the precision.  If the precision is not specified then there is no explicit
  * limit on the number of characters.
  *
- * <h4><a name="dchar">Character</a></h4>
+ * <h4><a id="dchar">Character</a></h4>
  *
  * This conversion may be applied to {@code char} and {@link Character}.  It
  * may also be applied to the types {@code byte}, {@link Byte},
@@ -828,7 +828,7 @@
  * <p> The precision is not applicable.  If the precision is specified then an
  * {@link IllegalFormatPrecisionException} will be thrown.
  *
- * <h4><a name="dnum">Numeric</a></h4>
+ * <h4><a id="dnum">Numeric</a></h4>
  *
  * <p> Numeric conversions are divided into the following categories:
  *
@@ -846,7 +846,7 @@
  *
  * <p> Numeric types will be formatted according to the following algorithm:
  *
- * <p><b><a name="L10nAlgorithm"> Number Localization Algorithm</a></b>
+ * <p><b><a id="L10nAlgorithm"> Number Localization Algorithm</a></b>
  *
  * <p> After digits are obtained for the integer part, fractional part, and
  * exponent (as appropriate for the data type), the following transformation
@@ -865,7 +865,7 @@
  * substituted.
  *
  * <li> If the {@code ','} (<code>'&#92;u002c'</code>)
- * <a name="L10nGroup">flag</a> is given, then the locale-specific {@linkplain
+ * <a id="L10nGroup">flag</a> is given, then the locale-specific {@linkplain
  * java.text.DecimalFormatSymbols#getGroupingSeparator grouping separator} is
  * inserted by scanning the integer part of the string from least significant
  * to most significant digits and inserting a separator at intervals defined by
@@ -896,7 +896,7 @@
  * then the output will be "(Infinity)" if the {@code '('} flag is given
  * otherwise the output will be "-Infinity".  These values are not localized.
  *
- * <p><a name="dnint"><b> Byte, Short, Integer, and Long </b></a>
+ * <p><a id="dnint"><b> Byte, Short, Integer, and Long </b></a>
  *
  * <p> The following conversions may be applied to {@code byte}, {@link Byte},
  * {@code short}, {@link Short}, {@code int} and {@link Integer},
@@ -979,7 +979,7 @@
  * <p> If the {@code '-'} flag is not given, then the space padding will occur
  * before the sign.
  *
- * <p> The following <a name="intFlags">flags</a> apply to numeric integral
+ * <p> The following <a id="intFlags">flags</a> apply to numeric integral
  * conversions:
  *
  * <table cellpadding=5 summary="intFlags">
@@ -1027,7 +1027,7 @@
  *
  * </table>
  *
- * <p> If no <a name="intdFlags">flags</a> are given the default formatting is
+ * <p> If no <a id="intdFlags">flags</a> are given the default formatting is
  * as follows:
  *
  * <ul>
@@ -1043,7 +1043,7 @@
  *
  * </ul>
  *
- * <p> The <a name="intWidth">width</a> is the minimum number of characters to
+ * <p> The <a id="intWidth">width</a> is the minimum number of characters to
  * be written to the output.  This includes any signs, digits, grouping
  * separators, radix indicator, and parentheses.  If the length of the
  * converted value is less than the width then the output will be padded by
@@ -1055,7 +1055,7 @@
  * <p> The precision is not applicable.  If precision is specified then an
  * {@link IllegalFormatPrecisionException} will be thrown.
  *
- * <p><a name="dnbint"><b> BigInteger </b></a>
+ * <p><a id="dnbint"><b> BigInteger </b></a>
  *
  * <p> The following conversions may be applied to {@link
  * java.math.BigInteger}.
@@ -1149,7 +1149,7 @@
  * <p> The precision is not applicable.  If precision is specified then an
  * {@link IllegalFormatPrecisionException} will be thrown.
  *
- * <p><a name="dndec"><b> Float and Double</b></a>
+ * <p><a id="dndec"><b> Float and Double</b></a>
  *
  * <p> The following conversions may be applied to {@code float}, {@link
  * Float}, {@code double} and {@link Double}.
@@ -1240,7 +1240,7 @@
  *
  * <tr><td valign="top"> {@code 'f'}
  *     <td valign="top"> <code>'&#92;u0066'</code>
- *     <td> Requires the output to be formatted using <a name="decimal">decimal
+ *     <td> Requires the output to be formatted using <a id="decimal">decimal
  *     format</a>.  The <a href="#L10nAlgorithm">localization algorithm</a> is
  *     applied.
  *
@@ -1339,7 +1339,7 @@
  * <p> If the {@code '#'} flag is given, then the decimal separator will
  * always be present.
  *
- * <p> If no <a name="floatdFlags">flags</a> are given the default formatting
+ * <p> If no <a id="floatdFlags">flags</a> are given the default formatting
  * is as follows:
  *
  * <ul>
@@ -1357,7 +1357,7 @@
  *
  * </ul>
  *
- * <p> The <a name="floatDWidth">width</a> is the minimum number of characters
+ * <p> The <a id="floatDWidth">width</a> is the minimum number of characters
  * to be written to the output.  This includes any signs, digits, grouping
  * separators, decimal separators, exponential symbol, radix indicator,
  * parentheses, and strings representing infinity and NaN as applicable.  If
@@ -1367,7 +1367,7 @@
  * {@code '-'} flag is given then the padding will be on the right.  If width
  * is not specified then there is no minimum.
  *
- * <p> If the <a name="floatDPrec">conversion</a> is {@code 'e'},
+ * <p> If the <a id="floatDPrec">conversion</a> is {@code 'e'},
  * {@code 'E'} or {@code 'f'}, then the precision is the number of digits
  * after the decimal separator.  If the precision is not specified, then it is
  * assumed to be {@code 6}.
@@ -1383,7 +1383,7 @@
  * precision is not provided, then all of the digits as returned by {@link
  * Double#toHexString(double)} will be output.
  *
- * <p><a name="dnbdec"><b> BigDecimal </b></a>
+ * <p><a id="dnbdec"><b> BigDecimal </b></a>
  *
  * <p> The following conversions may be applied {@link java.math.BigDecimal
  * BigDecimal}.
@@ -1468,7 +1468,7 @@
  *
  * <tr><td valign="top"> {@code 'f'}
  *     <td valign="top"> <code>'&#92;u0066'</code>
- *     <td> Requires the output to be formatted using <a name="bdecimal">decimal
+ *     <td> Requires the output to be formatted using <a id="bdecimal">decimal
  *     format</a>.  The <a href="#L10nAlgorithm">localization algorithm</a> is
  *     applied.
  *
@@ -1507,7 +1507,7 @@
  * href="#floatDPrec">precision</a> is the same as defined for Float and
  * Double.
  *
- * <h4><a name="ddt">Date/Time</a></h4>
+ * <h4><a id="ddt">Date/Time</a></h4>
  *
  * <p> This conversion may be applied to {@code long}, {@link Long}, {@link
  * Calendar}, {@link Date} and {@link TemporalAccessor TemporalAccessor}
@@ -1744,7 +1744,7 @@
  * <p> The precision is not applicable.  If the precision is specified then an
  * {@link IllegalFormatPrecisionException} will be thrown.
  *
- * <h4><a name="dper">Percent</a></h4>
+ * <h4><a id="dper">Percent</a></h4>
  *
  * <p> The conversion does not correspond to any argument.
  *
@@ -1769,7 +1769,7 @@
  *
  * </table>
  *
- * <h4><a name="dls">Line Separator</a></h4>
+ * <h4><a id="dls">Line Separator</a></h4>
  *
  * <p> The conversion does not correspond to any argument.
  *
@@ -1785,7 +1785,7 @@
  * {@link IllegalFormatFlagsException}, {@link IllegalFormatWidthException},
  * and {@link IllegalFormatPrecisionException}, respectively will be thrown.
  *
- * <h4><a name="dpos">Argument Index</a></h4>
+ * <h4><a id="dpos">Argument Index</a></h4>
  *
  * <p> Format specifiers can reference arguments in three ways:
  *
--- a/src/java.base/share/classes/java/util/GregorianCalendar.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/GregorianCalendar.java	Wed Apr 26 13:38:21 2017 -0700
@@ -91,7 +91,7 @@
  * adjustment may be made if desired for dates that are prior to the Gregorian
  * changeover and which fall between January 1 and March 24.
  *
- * <h3><a name="week_and_year">Week Of Year and Week Year</a></h3>
+ * <h3><a id="week_and_year">Week Of Year and Week Year</a></h3>
  *
  * <p>Values calculated for the {@link Calendar#WEEK_OF_YEAR
  * WEEK_OF_YEAR} field range from 1 to 53. The first week of a
@@ -108,7 +108,7 @@
  * <p>The {@code getFirstDayOfWeek()} and {@code
  * getMinimalDaysInFirstWeek()} values are initialized using
  * locale-dependent resources when constructing a {@code
- * GregorianCalendar}. <a name="iso8601_compatible_setting">The week
+ * GregorianCalendar}. <a id="iso8601_compatible_setting">The week
  * determination is compatible</a> with the ISO 8601 standard when {@code
  * getFirstDayOfWeek()} is {@code MONDAY} and {@code
  * getMinimalDaysInFirstWeek()} is 4, which values are used in locales
@@ -117,7 +117,7 @@
  * {@link Calendar#setMinimalDaysInFirstWeek(int)
  * setMinimalDaysInFirstWeek()}.
  *
- * <p>A <a name="week_year"><em>week year</em></a> is in sync with a
+ * <p>A <a id="week_year"><em>week year</em></a> is in sync with a
  * {@code WEEK_OF_YEAR} cycle. All weeks between the first and last
  * weeks (inclusive) have the same <em>week year</em> value.
  * Therefore, the first and last days of a week year may have
--- a/src/java.base/share/classes/java/util/List.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/List.java	Wed Apr 26 13:38:21 2017 -0700
@@ -87,7 +87,7 @@
  * Such exceptions are marked as "optional" in the specification for this
  * interface.
  *
- * <h2><a name="immutable">Immutable List Static Factory Methods</a></h2>
+ * <h2><a id="immutable">Immutable List Static Factory Methods</a></h2>
  * <p>The {@link List#of(Object...) List.of()} static factory methods
  * provide a convenient way to create immutable lists. The {@code List}
  * instances created by these methods have the following characteristics:
--- a/src/java.base/share/classes/java/util/ListResourceBundle.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/ListResourceBundle.java	Wed Apr 26 13:38:21 2017 -0700
@@ -56,7 +56,7 @@
  * that key.
  *
  * <p>
- * The following <a name="sample">example</a> shows two members of a resource
+ * The following <a id="sample">example</a> shows two members of a resource
  * bundle family with the base name "MyResources".
  * "MyResources" is the default member of the bundle family, and
  * "MyResources_fr" is the French member.
--- a/src/java.base/share/classes/java/util/Locale.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Locale.java	Wed Apr 26 13:38:21 2017 -0700
@@ -83,7 +83,7 @@
  * described below.
  *
  * <dl>
- *   <dt><a name="def_language"><b>language</b></a></dt>
+ *   <dt><a id="def_language"><b>language</b></a></dt>
  *
  *   <dd>ISO 639 alpha-2 or alpha-3 language code, or registered
  *   language subtags up to 8 alpha letters (for future enhancements).
@@ -101,7 +101,7 @@
  *
  *   <dd>Example: "en" (English), "ja" (Japanese), "kok" (Konkani)</dd>
  *
- *   <dt><a name="def_script"><b>script</b></a></dt>
+ *   <dt><a id="def_script"><b>script</b></a></dt>
  *
  *   <dd>ISO 15924 alpha-4 script code.  You can find a full list of
  *   valid script codes in the IANA Language Subtag Registry (search
@@ -115,7 +115,7 @@
  *
  *   <dd>Example: "Latn" (Latin), "Cyrl" (Cyrillic)</dd>
  *
- *   <dt><a name="def_region"><b>country (region)</b></a></dt>
+ *   <dt><a id="def_region"><b>country (region)</b></a></dt>
  *
  *   <dd>ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code.
  *   You can find a full list of valid country and region codes in the
@@ -129,7 +129,7 @@
  *   <dd>Example: "US" (United States), "FR" (France), "029"
  *   (Caribbean)</dd>
  *
- *   <dt><a name="def_variant"><b>variant</b></a></dt>
+ *   <dt><a id="def_variant"><b>variant</b></a></dt>
  *
  *   <dd>Any arbitrary value used to indicate a variation of a
  *   <code>Locale</code>.  Where there are two or more variant values
@@ -160,7 +160,7 @@
  *
  *   <dd>Example: "polyton" (Polytonic Greek), "POSIX"</dd>
  *
- *   <dt><a name="def_extensions"><b>extensions</b></a></dt>
+ *   <dt><a id="def_extensions"><b>extensions</b></a></dt>
  *
  *   <dd>A map from single character keys to string values, indicating
  *   extensions apart from language identification.  The extensions in
@@ -188,7 +188,7 @@
  * requirement (is well-formed), but does not validate the value
  * itself.  See {@link Builder} for details.
  *
- * <h3><a name="def_locale_extension">Unicode locale/language extension</a></h3>
+ * <h3><a id="def_locale_extension">Unicode locale/language extension</a></h3>
  *
  * <p>UTS#35, "Unicode Locale Data Markup Language" defines optional
  * attributes and keywords to override or refine the default behavior
@@ -269,7 +269,7 @@
  * </pre>
  * </blockquote>
  *
- * <h4><a name="LocaleMatching">Locale Matching</a></h4>
+ * <h4><a id="LocaleMatching">Locale Matching</a></h4>
  *
  * <p>If an application or a system is internationalized and provides localized
  * resources for multiple locales, it sometimes needs to find one or more
@@ -408,7 +408,7 @@
  * Clients desiring a string representation of the complete locale can
  * then always rely on <code>toLanguageTag</code> for this purpose.
  *
- * <h5><a name="special_cases_constructor">Special cases</a></h5>
+ * <h5><a id="special_cases_constructor">Special cases</a></h5>
  *
  * <p>For compatibility reasons, two
  * non-conforming locales are treated as special cases.  These are
--- a/src/java.base/share/classes/java/util/Map.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Map.java	Wed Apr 26 13:38:21 2017 -0700
@@ -110,7 +110,7 @@
  * Implementations may optionally handle the self-referential scenario, however
  * most current implementations do not do so.
  *
- * <h2><a name="immutable">Immutable Map Static Factory Methods</a></h2>
+ * <h2><a id="immutable">Immutable Map Static Factory Methods</a></h2>
  * <p>The {@link Map#of() Map.of()} and
  * {@link Map#ofEntries(Map.Entry...) Map.ofEntries()}
  * static factory methods provide a convenient way to create immutable maps.
--- a/src/java.base/share/classes/java/util/Properties.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Properties.java	Wed Apr 26 13:38:21 2017 -0700
@@ -290,7 +290,7 @@
      * specifies that the key is {@code "cheeses"} and the associated
      * element is the empty string {@code ""}.
      * <p>
-     * <a name="unicodeescapes"></a>
+     * <a id="unicodeescapes"></a>
      * Characters in keys and elements can be represented in escape
      * sequences similar to those used for character and string literals
      * (see sections 3.3 and 3.10.6 of
--- a/src/java.base/share/classes/java/util/PropertyResourceBundle.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/PropertyResourceBundle.java	Wed Apr 26 13:38:21 2017 -0700
@@ -67,7 +67,7 @@
  * for a complete description of the search and instantiation strategy.
  *
  * <p>
- * The following <a name="sample">example</a> shows a member of a resource
+ * The following <a id="sample">example</a> shows a member of a resource
  * bundle family with the base name "MyResources".
  * The text defines the bundle "MyResources_de",
  * the German member of the bundle family.
--- a/src/java.base/share/classes/java/util/ResourceBundle.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/ResourceBundle.java	Wed Apr 26 13:38:21 2017 -0700
@@ -204,7 +204,7 @@
  * known concrete subclasses {@code ListResourceBundle} and
  * {@code PropertyResourceBundle} are thread-safe.
  *
- * <h3><a name="bundleprovider">Resource Bundles in Named Modules</a></h3>
+ * <h3><a id="bundleprovider">Resource Bundles in Named Modules</a></h3>
  *
  * When resource bundles are deployed in named modules, the following
  * module-specific requirements and restrictions are applied.
@@ -239,7 +239,7 @@
  * </li>
  * </ul>
  *
- * <h3><a name="RBP_support">ResourceBundleProvider Service Providers</a></h3>
+ * <h3><a id="RBP_support">ResourceBundleProvider Service Providers</a></h3>
  *
  * The {@code getBundle} factory methods load service providers of
  * {@link ResourceBundleProvider}, if available, using {@link ServiceLoader}.
@@ -266,7 +266,7 @@
  * {@link #getBundle(String, Locale, ClassLoader, Control) getBundle}
  * factory method for details.
  *
- * <p><a name="modify_default_behavior">For the {@code getBundle} factory</a>
+ * <p><a id="modify_default_behavior">For the {@code getBundle} factory</a>
  * methods that take no {@link Control} instance, their <a
  * href="#default_behavior"> default behavior</a> of resource bundle loading
  * can be modified with custom {@link
@@ -1063,7 +1063,7 @@
      * description of <a href="#modify_default_behavior">modifying the default
      * behavior</a>.
      *
-     * <p><a name="default_behavior">The following describes the default
+     * <p><a id="default_behavior">The following describes the default
      * behavior</a>.
      *
      * <p>
@@ -1170,7 +1170,7 @@
      * <p>If still no result bundle is found, the base name alone is looked up. If
      * this still fails, a <code>MissingResourceException</code> is thrown.
      *
-     * <p><a name="parent_chain"> Once a result resource bundle has been found,
+     * <p><a id="parent_chain"> Once a result resource bundle has been found,
      * its <em>parent chain</em> is instantiated</a>.  If the result bundle already
      * has a parent (perhaps because it was returned from a cache) the chain is
      * complete.
@@ -1200,7 +1200,7 @@
      * path name (using "/") instead of a fully qualified class name (using
      * ".").
      *
-     * <p><a name="default_behavior_example">
+     * <p><a id="default_behavior_example">
      * <strong>Example:</strong></a>
      * <p>
      * The following class and property files are provided:
@@ -2481,7 +2481,7 @@
      * }
      * </pre>
      *
-     * @apiNote <a name="note">{@code ResourceBundle.Control} is not supported
+     * @apiNote <a id="note">{@code ResourceBundle.Control} is not supported
      * in named modules.</a> If the {@code ResourceBundle.getBundle} method with
      * a {@code ResourceBundle.Control} is called in a named module, the method
      * will throw an {@link UnsupportedOperationException}. Any service providers
--- a/src/java.base/share/classes/java/util/Scanner.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Scanner.java	Wed Apr 26 13:38:21 2017 -0700
@@ -95,7 +95,7 @@
  *     s.close();
  * }</pre></blockquote>
  *
- * <p>The <a name="default-delimiter">default whitespace delimiter</a> used
+ * <p>The <a id="default-delimiter">default whitespace delimiter</a> used
  * by a scanner is as recognized by {@link Character#isWhitespace(char)
  * Character.isWhitespace()}. The {@link #reset reset()}
  * method will reset the value of the scanner's delimiter to the default
@@ -152,11 +152,11 @@
  * {@link #reset} method will reset the value of the scanner's radix to
  * {@code 10} regardless of whether it was previously changed.
  *
- * <h3> <a name="localized-numbers">Localized numbers</a> </h3>
+ * <h3> <a id="localized-numbers">Localized numbers</a> </h3>
  *
  * <p> An instance of this class is capable of scanning numbers in the standard
  * formats as well as in the formats of the scanner's locale. A scanner's
- * <a name="initial-locale">initial locale </a>is the value returned by the {@link
+ * <a id="initial-locale">initial locale </a>is the value returned by the {@link
  * java.util.Locale#getDefault(Locale.Category)
  * Locale.getDefault(Locale.Category.FORMAT)} method; it may be changed via the {@link
  * #useLocale useLocale()} method. The {@link #reset} method will reset the value of the
@@ -213,7 +213,7 @@
  *         getInfinity()}
  * </dl></blockquote>
  *
- * <h4> <a name="number-syntax">Number syntax</a> </h4>
+ * <h4> <a id="number-syntax">Number syntax</a> </h4>
  *
  * <p> The strings that can be parsed as numbers by an instance of this class
  * are specified in terms of the following regular-expression grammar, where
@@ -244,7 +244,7 @@
  *       <dd>{@code ( ( }<i>Digit</i>{@code + )
  *               | }<i>GroupedNumeral</i>{@code  )}
  *
- *   <dt><a name="Integer-regex"><i>Integer</i>:</a>
+ *   <dt><a id="Integer-regex"><i>Integer</i>:</a>
  *       <dd>{@code ( [-+]? ( }<i>Numeral</i>{@code
  *                               ) )}
  *       <dd>{@code | }<i>LocalPositivePrefix</i> <i>Numeral</i>
@@ -263,7 +263,7 @@
  *   <dt><i>Exponent</i>:
  *       <dd>{@code ( [eE] [+-]? }<i>Digit</i>{@code + )}
  *
- *   <dt><a name="Decimal-regex"><i>Decimal</i>:</a>
+ *   <dt><a id="Decimal-regex"><i>Decimal</i>:</a>
  *       <dd>{@code ( [-+]? }<i>DecimalNumeral</i>
  *                         <i>Exponent</i>{@code ? )}
  *       <dd>{@code | }<i>LocalPositivePrefix</i>
@@ -294,7 +294,7 @@
  *                 <i>NonNumber</i>
  *                 <i>LocalNegativeSuffix</i>
  *
- *   <dt><a name="Float-regex"><i>Float</i></a>:
+ *   <dt><a id="Float-regex"><i>Float</i></a>:
  *       <dd><i>Decimal</i>
  *           {@code | }<i>HexFloat</i>
  *           {@code | }<i>SignedNonNumber</i>
--- a/src/java.base/share/classes/java/util/Set.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Set.java	Wed Apr 26 13:38:21 2017 -0700
@@ -63,7 +63,7 @@
  * Such exceptions are marked as "optional" in the specification for this
  * interface.
  *
- * <h2><a name="immutable">Immutable Set Static Factory Methods</a></h2>
+ * <h2><a id="immutable">Immutable Set Static Factory Methods</a></h2>
  * <p>The {@link Set#of(Object...) Set.of()} static factory methods
  * provide a convenient way to create immutable sets. The {@code Set}
  * instances created by these methods have the following characteristics:
--- a/src/java.base/share/classes/java/util/Spliterator.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/Spliterator.java	Wed Apr 26 13:38:21 2017 -0700
@@ -62,7 +62,7 @@
  * New characteristics may be defined in the future, so implementors should not
  * assign meanings to unlisted values.
  *
- * <p><a name="binding">A Spliterator that does not report {@code IMMUTABLE} or
+ * <p><a id="binding">A Spliterator that does not report {@code IMMUTABLE} or
  * {@code CONCURRENT} is expected to have a documented policy concerning:
  * when the spliterator <em>binds</em> to the element source; and detection of
  * structural interference of the element source detected after binding.</a>  A
--- a/src/java.base/share/classes/java/util/TimeZone.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/TimeZone.java	Wed Apr 26 13:38:21 2017 -0700
@@ -74,7 +74,7 @@
  * produce a TimeZone. The syntax of a custom time zone ID is:
  *
  * <blockquote><pre>
- * <a name="CustomID"><i>CustomID:</i></a>
+ * <a id="CustomID"><i>CustomID:</i></a>
  *         <code>GMT</code> <i>Sign</i> <i>Hours</i> <code>:</code> <i>Minutes</i>
  *         <code>GMT</code> <i>Sign</i> <i>Hours</i> <i>Minutes</i>
  *         <code>GMT</code> <i>Sign</i> <i>Hours</i>
@@ -102,7 +102,7 @@
  * When creating a <code>TimeZone</code>, the specified custom time
  * zone ID is normalized in the following syntax:
  * <blockquote><pre>
- * <a name="NormalizedCustomID"><i>NormalizedCustomID:</i></a>
+ * <a id="NormalizedCustomID"><i>NormalizedCustomID:</i></a>
  *         <code>GMT</code> <i>Sign</i> <i>TwoDigitHours</i> <code>:</code> <i>Minutes</i>
  * <i>Sign:</i> one of
  *         <code>+ -</code>
--- a/src/java.base/share/classes/java/util/jar/JarFile.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/jar/JarFile.java	Wed Apr 26 13:38:21 2017 -0700
@@ -48,7 +48,7 @@
  * processing multi-release jar files.  The {@code Manifest} can be used
  * to specify meta-information about the jar file and its entries.
  *
- * <p><a name="multirelease">A multi-release jar file</a> is a jar file that
+ * <p><a id="multirelease">A multi-release jar file</a> is a jar file that
  * contains a manifest with a main attribute named "Multi-Release",
  * a set of "base" entries, some of which are public classes with public
  * or protected methods that comprise the public interface of the jar file,
--- a/src/java.base/share/classes/java/util/regex/Pattern.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/regex/Pattern.java	Wed Apr 26 13:38:21 2017 -0700
@@ -77,7 +77,7 @@
  * such use.
  *
  *
- * <h3><a name="sum">Summary of regular-expression constructs</a></h3>
+ * <h3><a id="sum">Summary of regular-expression constructs</a></h3>
  *
  * <table border="0" cellpadding="1" cellspacing="0"
  *  summary="Regular expression constructs, and what they match">
@@ -388,7 +388,7 @@
  * <hr>
  *
  *
- * <h3><a name="bs">Backslashes, escapes, and quoting</a></h3>
+ * <h3><a id="bs">Backslashes, escapes, and quoting</a></h3>
  *
  * <p> The backslash character ({@code '\'}) serves to introduce escaped
  * constructs, as defined in the table above, as well as to quote characters
@@ -416,7 +416,7 @@
  * {@code (hello)} the string literal {@code "\\(hello\\)"}
  * must be used.
  *
- * <h3><a name="cc">Character Classes</a></h3>
+ * <h3><a id="cc">Character Classes</a></h3>
  *
  *    <p> Character classes may appear within other character classes, and
  *    may be composed by the union operator (implicit) and the intersection
@@ -454,7 +454,7 @@
  *    character class, while the expression {@code -} becomes a range
  *    forming metacharacter.
  *
- * <h3><a name="lt">Line terminators</a></h3>
+ * <h3><a id="lt">Line terminators</a></h3>
  *
  * <p> A <i>line terminator</i> is a one- or two-character sequence that marks
  * the end of a line of the input character sequence.  The following are
@@ -489,9 +489,9 @@
  * except at the end of input. When in {@link #MULTILINE} mode {@code $}
  * matches just before a line terminator or the end of the input sequence.
  *
- * <h3><a name="cg">Groups and capturing</a></h3>
+ * <h3><a id="cg">Groups and capturing</a></h3>
  *
- * <h4><a name="gnumber">Group number</a></h4>
+ * <h4><a id="gnumber">Group number</a></h4>
  * <p> Capturing groups are numbered by counting their opening parentheses from
  * left to right.  In the expression {@code ((A)(B(C)))}, for example, there
  * are four such groups: </p>
@@ -514,7 +514,7 @@
  * subsequence may be used later in the expression, via a back reference, and
  * may also be retrieved from the matcher once the match operation is complete.
  *
- * <h4><a name="groupname">Group name</a></h4>
+ * <h4><a id="groupname">Group name</a></h4>
  * <p>A capturing group can also be assigned a "name", a {@code named-capturing group},
  * and then be back-referenced later by the "name". Group names are composed of
  * the following characters. The first character must be a {@code letter}.
@@ -585,7 +585,7 @@
  * and outside of a character class.
  *
  * <p>
- * <b><a name="usc">Scripts</a></b> are specified either with the prefix {@code Is}, as in
+ * <b><a id="usc">Scripts</a></b> are specified either with the prefix {@code Is}, as in
  * {@code IsHiragana}, or by using  the {@code script} keyword (or its short
  * form {@code sc}) as in {@code script=Hiragana} or {@code sc=Hiragana}.
  * <p>
@@ -594,7 +594,7 @@
  * {@link java.lang.Character.UnicodeScript#forName(String) UnicodeScript.forName}.
  *
  * <p>
- * <b><a name="ubc">Blocks</a></b> are specified with the prefix {@code In}, as in
+ * <b><a id="ubc">Blocks</a></b> are specified with the prefix {@code In}, as in
  * {@code InMongolian}, or by using the keyword {@code block} (or its short
  * form {@code blk}) as in {@code block=Mongolian} or {@code blk=Mongolian}.
  * <p>
@@ -603,7 +603,7 @@
  * {@link java.lang.Character.UnicodeBlock#forName(String) UnicodeBlock.forName}.
  * <p>
  *
- * <b><a name="ucc">Categories</a></b> may be specified with the optional prefix {@code Is}:
+ * <b><a id="ucc">Categories</a></b> may be specified with the optional prefix {@code Is}:
  * Both {@code \p{L}} and {@code \p{IsL}} denote the category of Unicode
  * letters. Same as scripts and blocks, categories can also be specified
  * by using the keyword {@code general_category} (or its short form
@@ -616,7 +616,7 @@
  * defined in the Standard, both normative and informative.
  * <p>
  *
- * <b><a name="ubpc">Binary properties</a></b> are specified with the prefix {@code Is}, as in
+ * <b><a id="ubpc">Binary properties</a></b> are specified with the prefix {@code Is}, as in
  * {@code IsAlphabetic}. The supported binary properties by {@code Pattern}
  * are
  * <ul>
@@ -687,7 +687,7 @@
  *     <td>A non-word character: {@code [^\w]}</td></tr>
  * </table>
  * <p>
- * <a name="jcc">
+ * <a id="jcc">
  * Categories that behave like the java.lang.Character
  * boolean is<i>methodname</i> methods (except for the deprecated ones) are
  * available through the same <code>\p{</code><i>prop</i><code>}</code> syntax where
--- a/src/java.base/share/classes/java/util/spi/CalendarNameProvider.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/spi/CalendarNameProvider.java	Wed Apr 26 13:38:21 2017 -0700
@@ -33,7 +33,7 @@
  * An abstract class for service providers that provide localized string
  * representations (display names) of {@code Calendar} field values.
  *
- * <p><a name="calendartypes"><b>Calendar Types</b></a>
+ * <p><a id="calendartypes"><b>Calendar Types</b></a>
  *
  * <p>Calendar types are used to specify calendar systems for which the {@link
  * #getDisplayName(String, int, int, int, Locale) getDisplayName} and {@link
--- a/src/java.base/share/classes/java/util/stream/package-info.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/src/java.base/share/classes/java/util/stream/package-info.java	Wed Apr 26 13:38:21 2017 -0700
@@ -94,7 +94,7 @@
  * <p>Additional stream sources can be provided by third-party libraries using
  * <a href="package-summary.html#StreamSources">these techniques</a>.
  *
- * <h2><a name="StreamOps">Stream operations and pipelines</a></h2>
+ * <h2><a id="StreamOps">Stream operations and pipelines</a></h2>
  *
  * <p>Stream operations are divided into <em>intermediate</em> and
  * <em>terminal</em> operations, and are combined to form <em>stream
@@ -159,7 +159,7 @@
  * is a necessary, but not sufficient, condition for the processing of an infinite
  * stream to terminate normally in finite time.
  *
- * <h3><a name="Parallelism">Parallelism</a></h3>
+ * <h3><a id="Parallelism">Parallelism</a></h3>
  *
  * <p>Processing elements with an explicit {@code for-}loop is inherently serial.
  * Streams facilitate parallel execution by reframing the computation as a pipeline of
@@ -206,7 +206,7 @@
  * as {@link java.util.function.Function}, and are often lambda expressions or
  * method references.
  *
- * <h3><a name="NonInterference">Non-interference</a></h3>
+ * <h3><a id="NonInterference">Non-interference</a></h3>
  *
  * Streams enable you to execute possibly-parallel aggregate operations over a
  * variety of data sources, including even non-thread-safe collections such as
@@ -252,7 +252,7 @@
  * <a href="package-summary.html#StreamSources">Low-level stream
  * construction</a> for requirements for building well-behaved streams.
  *
- * <h3><a name="Statelessness">Stateless behaviors</a></h3>
+ * <h3><a id="Statelessness">Stateless behaviors</a></h3>
  *
  * Stream pipeline results may be nondeterministic or incorrect if the behavioral
  * parameters to the stream operations are <em>stateful</em>.  A stateful lambda
@@ -280,7 +280,7 @@
  * parameters to stream operations entirely; there is usually a way to
  * restructure the stream pipeline to avoid statefulness.
  *
- * <h3><a name="SideEffects">Side-effects</a></h3>
+ * <h3><a id="SideEffects">Side-effects</a></h3>
  *
  * Side-effects in behavioral parameters to stream operations are, in general,
  * discouraged, as they can often lead to unwitting violations of the
@@ -349,7 +349,7 @@
  *               .collect(Collectors.toList());  // No side-effects!
  * }</pre>
  *
- * <h3><a name="Ordering">Ordering</a></h3>
+ * <h3><a id="Ordering">Ordering</a></h3>
  *
  * <p>Streams may or may not have a defined <em>encounter order</em>.  Whether
  * or not a stream has an encounter order depends on the source and the
@@ -388,7 +388,7 @@
  * However, most stream pipelines, such as the "sum of weight of blocks" example
  * above, still parallelize efficiently even under ordering constraints.
  *
- * <h2><a name="Reduction">Reduction operations</a></h2>
+ * <h2><a id="Reduction">Reduction operations</a></h2>
  *
  * A <em>reduction</em> operation (also called a <em>fold</em>) takes a sequence
  * of input elements and combines them into a single summary result by repeated
@@ -493,7 +493,7 @@
  * significant work can be optimized away by combining mapping and reducing
  * into a single function.
  *
- * <h3><a name="MutableReduction">Mutable reduction</a></h3>
+ * <h3><a id="MutableReduction">Mutable reduction</a></h3>
  *
  * A <em>mutable reduction operation</em> accumulates input elements into a
  * mutable result container, such as a {@code Collection} or {@code StringBuilder},
@@ -620,7 +620,7 @@
  * but in some cases equivalence may be relaxed to account for differences in
  * order.
  *
- * <h3><a name="ConcurrentReduction">Reduction, concurrency, and ordering</a></h3>
+ * <h3><a id="ConcurrentReduction">Reduction, concurrency, and ordering</a></h3>
  *
  * With some complex reduction operations, for example a {@code collect()} that
  * produces a {@code Map}, such as:
@@ -675,7 +675,7 @@
  * We would then be constrained to implement either a sequential reduction or
  * a merge-based parallel reduction.
  *
- * <h3><a name="Associativity">Associativity</a></h3>
+ * <h3><a id="Associativity">Associativity</a></h3>
  *
  * An operator or function {@code op} is <em>associative</em> if the following
  * holds:
@@ -693,7 +693,7 @@
  * <p>Examples of associative operations include numeric addition, min, and
  * max, and string concatenation.
  *
- * <h2><a name="StreamSources">Low-level stream construction</a></h2>
+ * <h2><a id="StreamSources">Low-level stream construction</a></h2>
  *
  * So far, all the stream examples have used methods like
  * {@link java.util.Collection#stream()} or {@link java.util.Arrays#stream(Object[])}