changeset 1129:e6d6c8126a36

8180385: Fix HTML5 issues in the java.xml module Reviewed-by: joehw, lancea
author jjg
date Tue, 16 May 2017 17:36:12 -0700
parents 6e78f902f477
children c27321c889cf
files src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java src/java.xml/share/classes/javax/xml/catalog/package.html src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java src/java.xml/share/classes/javax/xml/datatype/Duration.java src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java src/java.xml/share/classes/javax/xml/datatype/package.html src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java src/java.xml/share/classes/javax/xml/transform/package.html src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java src/java.xml/share/classes/javax/xml/validation/SchemaFactoryLoader.java src/java.xml/share/classes/javax/xml/validation/Validator.java src/java.xml/share/classes/javax/xml/validation/package.html src/java.xml/share/classes/javax/xml/xpath/XPath.java src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java src/java.xml/share/classes/javax/xml/xpath/package.html src/java.xml/share/classes/org/w3c/dom/Attr.java src/java.xml/share/classes/org/w3c/dom/Document.java src/java.xml/share/classes/org/w3c/dom/Node.java src/java.xml/share/classes/org/w3c/dom/ranges/package.html src/java.xml/share/classes/org/xml/sax/package.html
diffstat 25 files changed, 296 insertions(+), 303 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java	Tue May 16 17:36:12 2017 -0700
@@ -34,9 +34,9 @@
  * The CatalogFeatures holds a collection of features and properties.
  * <p>
  *
- * <center><h2><a name="CatalogFeatures">Catalog Features</a></h2></center></p>
  *
- * <table border="1">
+ * <table class="plain">
+ * <caption>Catalog Features</caption>
  * <thead>
  * <tr>
  * <th rowspan="2">Feature</th>
@@ -44,7 +44,7 @@
  * <th rowspan="2">Property Name</th>
  * <th rowspan="2">System Property [1]</th>
  * <th rowspan="2">jaxp.properties [1]</th>
- * <th colspan="2" align="center">Value [2]</th>
+ * <th colspan="2" style="text-align:center">Value [2]</th>
  * <th rowspan="2">Action</th>
  * </tr>
  * <tr>
@@ -55,7 +55,7 @@
  * <tbody>
  *
  * <tr>
- * <td><a name="FILES">FILES</a></td>
+ * <td><a id="FILES">FILES</a></td>
  * <td>A semicolon-delimited list of URIs to locate the catalog files.
  * The URIs must be absolute and have a URL protocol handler for the URI scheme.
  * </td>
@@ -71,7 +71,7 @@
  * </tr>
  *
  * <tr>
- * <td rowspan="2"><a name="PREFER">PREFER</a></td>
+ * <td rowspan="2"><a id="PREFER">PREFER</a></td>
  * <td rowspan="2">Indicates the preference between the public and system
  * identifiers. The default value is public [3].</td>
  * <td rowspan="2">javax.xml.catalog.prefer</td>
@@ -89,7 +89,7 @@
  * </tr>
  *
  * <tr>
- * <td rowspan="2"><a name="DEFER">DEFER</a></td>
+ * <td rowspan="2"><a id="DEFER">DEFER</a></td>
  * <td rowspan="2">Indicates that the alternative catalogs including those
  * specified in delegate entries or nextCatalog are not read until they are
  * needed. The default value is true.</td>
@@ -107,7 +107,7 @@
  * </tr>
  *
  * <tr>
- * <td rowspan="3"><a name="RESOLVE">RESOLVE</a></td>
+ * <td rowspan="3"><a id="RESOLVE">RESOLVE</a></td>
  * <td rowspan="3">Determines the action if there is no matching entry found after
  * all of the specified catalogs are exhausted. The default is strict.</td>
  * <td rowspan="3">javax.xml.catalog.resolve [4]</td>
@@ -241,9 +241,10 @@
  * supports a resolver. The following table lists all such processes.
  *
  * <p>
- * <center><h3><a name="CatalogFeatures">Processes with Catalog Support</a></h3></center></p>
+ * <h3><a id="ProcessesWithCatalogSupport">Processes with Catalog Support</a></h3>
  *
- * <table border="1">
+ * <table class="striped">
+ * <caption>Processes with Catalog Support</caption>
  * <thead>
  * <tr>
  * <th>Process</th>
--- a/src/java.xml/share/classes/javax/xml/catalog/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/catalog/package.html	Tue May 16 17:36:12 2017 -0700
@@ -1,8 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!DOCTYPE HTML>
 <html>
 <head>
 <!--
-Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
 questions. 
 -->
 </head>
-<body bgcolor="white">
+<body>
 
     Provides the classes for implementing 
     <a href="https://www.oasis-open.org/committees/download.php/14809/xml-catalogs.html">
@@ -35,7 +35,7 @@
     <p>
         Unless otherwise noted, passing a null argument to 
         a constructor or method in any class or interface in this package will 
-        cause a <tt>NullPointerException</tt> to be thrown.
+        cause a <code>NullPointerException</code> to be thrown.
     </p>
 
 @since 9
--- a/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -774,15 +774,11 @@
     /**
      * Create an {@code XMLGregorianCalendar} from a {@link GregorianCalendar}.
      *
-     * <table border="2" rules="all" cellpadding="2">
+     * <table class="striped">
+     *   <caption>Field by Field Conversion from
+     *          {@link GregorianCalendar} to an {@link XMLGregorianCalendar}</caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="2">
-     *          Field by Field Conversion from
-     *          {@link GregorianCalendar} to an {@link XMLGregorianCalendar}
-     *       </th>
-     *     </tr>
-     *     <tr>
      *        <th>{@code java.util.GregorianCalendar} field</th>
      *        <th>{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
      *     </tr>
--- a/src/java.xml/share/classes/javax/xml/datatype/Duration.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/datatype/Duration.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -120,26 +120,22 @@
      * maps to. Type is computed based on fields that are set,
      * i.e. {@link #isSet(DatatypeConstants.Field field)} == {@code true}.
      *
-     * <table border="2" rules="all" cellpadding="2">
+     * <table class="striped">
+     *   <caption>Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
+     *         <i>(timezone is optional for all date/time datatypes)</i></caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="7">
-     *         Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
-     *         <i>(timezone is optional for all date/time datatypes)</i>
-     *       </th>
+     *       <th>Datatype</th>
+     *       <th>year</th>
+     *       <th>month</th>
+     *       <th>day</th>
+     *       <th>hour</th>
+     *       <th>minute</th>
+     *       <th>second</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>Datatype</td>
-     *       <td>year</td>
-     *       <td>month</td>
-     *       <td>day</td>
-     *       <td>hour</td>
-     *       <td>minute</td>
-     *       <td>second</td>
-     *     </tr>
-     *     <tr>
      *       <td>{@link DatatypeConstants#DURATION}</td>
      *       <td>X</td>
      *       <td>X</td>
--- a/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,25 +53,21 @@
  * <a href="http://www.w3.org/TR/xmlschema-2/#isoformats">W3C XML Schema 1.0 Part 2, Appendix D,
  * <i>ISO 8601 Date and Time Formats</i></a>.
  *
- * <a name="datetimefieldmapping"></a>
- * <table border="2" rules="all" cellpadding="2">
+ * <a id="datetimefieldmapping"></a>
+ * <table class="striped">
+ *   <caption>Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation</caption>
  *   <thead>
  *     <tr>
- *       <th align="center" colspan="3">
- *         Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation
- *       </th>
- *     </tr>
- *   </thead>
- *   <tbody>
- *     <tr>
  *       <th>XML Schema 1.0<br>
  *           datatype<br>
  *            field</th>
  *       <th>Related<br>XMLGregorianCalendar<br>Accessor(s)</th>
  *       <th>Value Range</th>
  *     </tr>
+ *   </thead>
+ *   <tbody>
  *     <tr>
- *       <td><a name="datetimefield-year">year</a></td>
+ *       <td><a id="datetimefield-year">year</a></td>
  *       <td> {@link #getYear()} + {@link #getEon()} or<br>
  *            {@link #getEonAndYear}
  *       </td>
@@ -89,12 +85,12 @@
  *            </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-month">month</a></td>
+ *       <td><a id="datetimefield-month">month</a></td>
  *       <td> {@link #getMonth()} </td>
  *       <td> 1 to 12 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-day">day</a></td>
+ *       <td><a id="datetimefield-day">day</a></td>
  *       <td> {@link #getDay()} </td>
  *       <td> Independent of month, max range is 1 to 31 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br>
  *            The normative value constraint stated relative to month
@@ -102,7 +98,7 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-hour">hour</a></td>
+ *       <td><a id="datetimefield-hour">hour</a></td>
  *       <td>{@link #getHour()}</td>
  *       <td>
  *         0 to 23 or {@link DatatypeConstants#FIELD_UNDEFINED}.
@@ -114,12 +110,12 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-minute">minute</a></td>
+ *       <td><a id="datetimefield-minute">minute</a></td>
  *       <td> {@link #getMinute()} </td>
  *       <td> 0 to 59 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-second">second</a></td>
+ *       <td><a id="datetimefield-second">second</a></td>
  *       <td>
  *         {@link #getSecond()} + {@link #getMillisecond()}/1000 or<br>
  *         {@link #getSecond()} + {@link #getFractionalSecond()}
@@ -135,7 +131,7 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a name="datetimefield-timezone">timezone</a></td>
+ *       <td><a id="datetimefield-timezone">timezone</a></td>
  *       <td> {@link #getTimezone()} </td>
  *       <td> Number of minutes or {@link DatatypeConstants#FIELD_UNDEFINED}.
  *         Value range from -14 hours (-14 * 60 minutes) to 14 hours (14 * 60 minutes).
@@ -748,26 +744,22 @@
      * Return the name of the XML Schema date/time type that this instance
      * maps to. Type is computed based on fields that are set.
      *
-     * <table border="2" rules="all" cellpadding="2">
+     * <table class="striped">
+     *   <caption>Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
+     *         <i>(timezone is optional for all date/time datatypes)</i></caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="7">
-     *         Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
-     *         <i>(timezone is optional for all date/time datatypes)</i>
-     *       </th>
+     *       <th>Datatype</th>
+     *       <th>year</th>
+     *       <th>month</th>
+     *       <th>day</th>
+     *       <th>hour</th>
+     *       <th>minute</th>
+     *       <th>second</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>Datatype</td>
-     *       <td>year</td>
-     *       <td>month</td>
-     *       <td>day</td>
-     *       <td>hour</td>
-     *       <td>minute</td>
-     *       <td>second</td>
-     *     </tr>
-     *     <tr>
      *       <td>{@link DatatypeConstants#DATETIME}</td>
      *       <td>X</td>
      *       <td>X</td>
@@ -911,21 +903,17 @@
      * instance, see
      * {@link #toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)}.
      *
-     * <table border="2" rules="all" cellpadding="2">
+     * <table class="striped">
+     *   <caption>Field by Field Conversion from this class to
+     *          {@code java.util.GregorianCalendar}</caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="2">
-     *          Field by Field Conversion from this class to
-     *          {@code java.util.GregorianCalendar}
-     *       </th>
+     *        <th>{@code java.util.GregorianCalendar} field</th>
+     *        <th>{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *        <td>{@code java.util.GregorianCalendar} field</td>
-     *        <td>{@code javax.xml.datatype.XMLGregorianCalendar} field</td>
-     *     </tr>
-     *     <tr>
      *       <td>{@code ERA}</td>
      *       <td>{@link #getEonAndYear()}{@code .signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD}</td>
      *     </tr>
--- a/src/java.xml/share/classes/javax/xml/datatype/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/datatype/package.html	Tue May 16 17:36:12 2017 -0700
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!doctype html>
 <!--
-Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,7 @@
 questions. 
 -->
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 
 	<head>
 		<title>javax.xml.xpath</title>
@@ -50,9 +49,10 @@
 			<li><a href="http://www.w3.org/TR/xpath-datamodel#dt-yearMonthDuration">XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a></li>
 		</ul>
 
-		<hr />
+		<hr>
 		
-		<table border="1" cellpadding="2">
+		<table class="striped">
+			<caption> W3C XML Schema/Java Type Mappings</caption>
 			<thead>
 				<tr>
 					<th>W3C XML Schema Data Type</th>
@@ -101,10 +101,11 @@
 			</tbody>
 		</table>
 		
-		<hr />
+		<hr>
 		
 		
-		<table border="1" cellpadding="2">
+		<table class="striped">
+			<caption>XQuery and XPath/Java Type Mappings</caption>
 			<thead>
 				<tr>
 					<th>XQuery 1.0 and XPath 2.0 Data Model</th>
@@ -124,7 +125,7 @@
 			</tbody>
 		</table>
 		
-		<hr />
+		<hr>
 		
 		<p>
 			W3C XML Schema data types that have a "<em>natural</em>" mapping to Java types are defined by
@@ -151,7 +152,7 @@
 			<li>xs:unsignedShort</li>
 		</ul>
 		
-		<hr />
+		<hr>
 		
 
 		<ul>
@@ -162,7 +163,7 @@
 			<li>Since 1.5</li>
 		</ul>
 		
-		<hr />
+		<hr>
 		
 
 	</body>
--- a/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -88,17 +88,12 @@
      * table describes the returned Namespace URI value for all
      * possible prefix values:
      *
-     * <table border="2" rules="all" cellpadding="4">
+     * <table class="striped">
+     *   <caption>Return value for specified prefixes</caption>
      *   <thead>
      *     <tr>
-     *       <td align="center" colspan="2">
-     *         {@code getNamespaceURI(prefix)}
-     *         return value for specified prefixes
-     *       </td>
-     *     </tr>
-     *     <tr>
-     *       <td>prefix parameter</td>
-     *       <td>Namespace URI return value</td>
+     *       <th>prefix parameter</th>
+     *       <th>Namespace URI return value</th>
      *     </tr>
      *   </thead>
      *   <tbody>
@@ -158,15 +153,10 @@
      * table describes the returned prefix value for all Namespace URI
      * values:
      *
-     * <table border="2" rules="all" cellpadding="4">
+     * <table class="striped">
+     * <caption>Return value for specified Namespace URIs</caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="2">
-     *         {@code getPrefix(namespaceURI)} return value for
-     *         specified Namespace URIs
-     *       </th>
-     *     </tr>
-     *     <tr>
      *       <th>Namespace URI parameter</th>
      *       <th>prefix value returned</th>
      *     </tr>
@@ -230,14 +220,10 @@
      * table describes the returned prefixes value for all Namespace
      * URI values:
      *
-     * <table border="2" rules="all" cellpadding="4">
+     * <table class="striped">
+     *   <caption>Return value for specified Namespace URIs</caption>
      *   <thead>
      *     <tr>
-     *       <th align="center" colspan="2">{@code
-     *         getPrefixes(namespaceURI)} return value for
-     *         specified Namespace URIs</th>
-     *     </tr>
-     *     <tr>
      *       <th>Namespace URI parameter</th>
      *       <th>prefixes value returned</th>
      *     </tr>
--- a/src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -64,21 +64,17 @@
    * Add an event to the output stream
    * Adding a START_ELEMENT will open a new namespace scope that
    * will be closed when the corresponding END_ELEMENT is written.
-   * <table border="2" rules="all" cellpadding="4">
+   * <table class="striped">
+   *   <caption>Required and optional fields for events added to the writer</caption>
    *   <thead>
    *     <tr>
-   *       <th align="center" colspan="2">
-   *         Required and optional fields for events added to the writer
-   *       </th>
-   *     </tr>
-   *   </thead>
-   *   <tbody>
-   *     <tr>
    *       <th>Event Type</th>
    *       <th>Required Fields</th>
    *       <th>Optional Fields</th>
    *       <th>Required Behavior</th>
    *     </tr>
+   *   </thead>
+   *   <tbody>
    *     <tr>
    *       <td> START_ELEMENT  </td>
    *       <td> QName name </td>
--- a/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,22 +36,18 @@
  * Each property varies in the level of support required by each implementation.
  * The level of support required is described in the 'Required' column.
  *
- *   <table border="2" rules="all" cellpadding="4">
+ *   <table class="striped">
+ *    <caption>Configuration Parameters</caption>
  *    <thead>
  *      <tr>
- *        <th align="center" colspan="5">
- *          Configuration parameters
- *        </th>
- *      </tr>
- *    </thead>
- *    <tbody>
- *      <tr>
  *        <th>Property Name</th>
  *        <th>Behavior</th>
  *        <th>Return type</th>
  *        <th>Default Value</th>
  *        <th>Required</th>
  *      </tr>
+ *    </thead>
+ *    <tbody>
  * <tr><td>javax.xml.stream.isValidating</td><td>Turns on/off implementation specific DTD validation</td><td>Boolean</td><td>False</td><td>No</td></tr>
  * <tr><td>javax.xml.stream.isNamespaceAware</td><td>Turns on/off namespace processing for XML 1.0 support</td><td>Boolean</td><td>True</td><td>True (required) / False (optional)</td></tr>
  * <tr><td>javax.xml.stream.isCoalescing</td><td>Requires the processor to coalesce adjacent character data</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
--- a/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,22 +36,18 @@
  * Each property varies in the level of support required by each implementation.
  * The level of support required is described in the 'Required' column.
  *
- *     <table border="2" rules="all" cellpadding="4">
+ *     <table class="striped">
+ *     <caption>Configuration Parameters</caption>
  *     <thead>
  *      <tr>
- *        <th align="center" colspan="2">
- *          Configuration parameters
- *        </th>
- *      </tr>
- *    </thead>
- *    <tbody>
- *      <tr>
  *        <th>Property Name</th>
  *        <th>Behavior</th>
  *        <th>Return type</th>
  *        <th>Default Value</th>
  *        <th>Required</th>
  *              </tr>
+ *    </thead>
+ *    <tbody>
  *         <tr><td>javax.xml.stream.isRepairingNamespaces</td><td>defaults prefixes
  *                 on the output side</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
  *      </tbody>
--- a/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -71,19 +71,15 @@
  * If a method is called in an invalid state the method will throw a
  * java.lang.IllegalStateException.
  *
- * <table border="2" rules="all" cellpadding="4">
+ * <table class="striped">
+ *   <caption>Valid methods for each state</caption>
  *   <thead>
  *     <tr>
- *       <th align="center" colspan="2">
- *         Valid methods for each state
- *       </th>
- *     </tr>
- *   </thead>
- *   <tbody>
- *     <tr>
  *       <th>Event Type</th>
  *       <th>Valid Methods</th>
  *     </tr>
+ *   </thead>
+ *   <tbody>
  *     <tr>
  *       <td> All States  </td>
  *       <td> getProperty(), hasNext(), require(), close(),
--- a/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,12 +38,10 @@
  * Each NAMESPACE
  * and ATTRIBUTE must be individually written.
  *
- * <table border="1" cellpadding="2" cellspacing="0">
+ * <table class="striped">
+ *     <caption>XML Namespaces, {@code javax.xml.stream.isRepairingNamespaces} and write method behaviour</caption>
  *     <thead>
- *         <tr>
- *             <th colspan="5">XML Namespaces, {@code javax.xml.stream.isRepairingNamespaces} and write method behaviour</th>
- *         </tr>
- *         <tr>
+ *         <tr style="border-bottom: 1px solid black">
  *             <th>Method</th> <!-- method -->
  *             <th colspan="2">{@code isRepairingNamespaces} == true</th>
  *             <th colspan="2">{@code isRepairingNamespaces} == false</th>
--- a/src/java.xml/share/classes/javax/xml/transform/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/transform/package.html	Tue May 16 17:36:12 2017 -0700
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!doctype html>
 <!--
-Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
@@ -24,11 +24,7 @@
 questions. 
 -->
 
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 
 <head>
   <title>javax.xml.transform</title>
@@ -97,7 +93,7 @@
 
 
 <h3>
-<a name="qname-delimiter">Qualified Name Representation</a>
+<a id="qname-delimiter">Qualified Name Representation</a>
 </h3>
 
 <p><a href="http://www.w3.org/TR/REC-xml-names">Namespaces</a>
--- a/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,7 @@
  * may not attempt to recursively invoke the {@code newSchema} method,
  * even from the same thread.
  *
- * <h2><a name="schemaLanguage"></a>Schema Language</h2>
+ * <h2><a id="schemaLanguage"></a>Schema Language</h2>
  * <p>
  * This spec uses a namespace URI to designate a schema language.
  * The following table shows the values defined by this specification.
@@ -84,7 +84,8 @@
  * validation implemented on this interface necessarily deviate from
  * the XML DTD semantics as defined in the XML 1.0</em>.
  *
- * <table border="1" cellpadding="2">
+ * <table class="striped">
+ *   <caption>URIs for Supported Schema languages</caption>
  *   <thead>
  *     <tr>
  *       <th>value</th>
--- a/src/java.xml/share/classes/javax/xml/validation/SchemaFactoryLoader.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/validation/SchemaFactoryLoader.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,7 +60,7 @@
      *      the list of available schema languages</a>.
      *
      * @throws NullPointerException
-     *      If the <tt>schemaLanguage</tt> parameter is null.
+     *      If the <code>schemaLanguage</code> parameter is null.
      *
      * @return <code>null</code> if the callee fails to create one.
      */
--- a/src/java.xml/share/classes/javax/xml/validation/Validator.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/validation/Validator.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -131,12 +131,10 @@
      * <p>This method places the following restrictions on the types of
      * the {@link Source}/{@link Result} accepted.
      *
-     * <table border=1>
+     * <table class="plain">
+     * <caption>{@code Source} / {@code Result} Accepted</caption>
      * <thead>
      *  <tr>
-     *   <th colspan="5">{@code Source} / {@code Result} Accepted</th>
-     *  </tr>
-     *  <tr>
      *   <th></th>
      *   <th>{@link javax.xml.transform.stream.StreamSource}</th>
      *   <th>{@link javax.xml.transform.sax.SAXSource}</th>
@@ -144,7 +142,7 @@
      *   <th>{@link javax.xml.transform.stax.StAXSource}</th>
      *  </tr>
      * </thead>
-     * <tbody align="center">
+     * <tbody style="text-align:center">
      *  <tr>
      *   <td>{@code null}</td>
      *   <td>OK</td>
--- a/src/java.xml/share/classes/javax/xml/validation/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/validation/package.html	Tue May 16 17:36:12 2017 -0700
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!doctype html>
 <!--
-Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
@@ -24,11 +24,7 @@
 questions. 
 -->
 
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 
 <head>
   <title>javax.xml.validation</title>
@@ -86,7 +82,7 @@
 		        process simple (see <a href="#example-1">example</a> below).</li>
           </ul>
 		<p>
-            <a name="example-1"><strong>Usage example</strong>.</a> The following example demonstrates validating
+            <a id="example-1"><strong>Usage example</strong>.</a> The following example demonstrates validating
             an XML document with the Validation API (for readability, some exception handling is not shown):
 		</p>
             <pre>
--- a/src/java.xml/share/classes/javax/xml/xpath/XPath.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/xpath/XPath.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,14 +31,18 @@
 
 /**
  * {@code XPath} provides access to the XPath evaluation environment and expressions.
+ * The XPath evaluation is affected by the factors described in the following table.
  *
- * <a name="XPath-evaluation"></a>
- * <table border="1" cellpadding="2">
+ * <a id="XPath-evaluation"></a>
+ * <table class="striped">
+ *    <caption>Evaluation of XPath Expressions</caption>
  *    <thead>
  *      <tr>
- *        <th colspan="2">Evaluation of XPath Expressions.</th>
+ *        <th>Factor</th>
+ *        <th>Behavior</th>
  *      </tr>
  *    </thead>
+ *    <tbody>
  *    <tr>
  *      <td>context</td>
  *      <td>
@@ -84,6 +88,7 @@
  *        Conversion to the return type follows XPath conversion rules.
  *      </td>
  *    </tr>
+ *    </tbody>
  * </table>
  *
  * <p>An XPath object is not thread-safe and not reentrant.
--- a/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java	Tue May 16 17:36:12 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,14 +30,18 @@
 
 /**
  * {@code XPathExpression} provides access to compiled XPath expressions.
+ * The XPath evaluation is affected by the factors described in the following table.
  *
- * <a name="XPathExpression-evaluation"></a>
- * <table border="1" cellpadding="2">
+ * <a id="XPathExpression-evaluation"></a>
+ * <table class="striped">
+ *    <caption>Evaluation of XPath Expressions</caption>
  *    <thead>
  *      <tr>
- *        <th colspan="2">Evaluation of XPath Expressions.</th>
+ *        <th>Factor</th>
+ *        <th>Behavior</th>
  *      </tr>
  *    </thead>
+ *    <tbody>
  *    <tr>
  *      <td>context</td>
  *      <td>
--- a/src/java.xml/share/classes/javax/xml/xpath/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/javax/xml/xpath/package.html	Tue May 16 17:36:12 2017 -0700
@@ -1,8 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!doctype html>
 <html>
 <head>
 <!--
-Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
 questions. 
 -->
 </head>
-<body bgcolor="white">
+<body>
 
 This package provides an <em>object-model neutral</em> API for the
 evaluation of XPath expressions and access to the evaluation
@@ -36,7 +36,7 @@
 The XPath API supports <a href="http://www.w3.org/TR/xpath">
     XML Path Language (XPath) Version 1.0</a>
 
-<hr />
+<hr>
 
 <ul>
     <li><a href='#XPath.Overview'>1. XPath Overview</a></li>
@@ -52,7 +52,7 @@
     <li><a href='#XPath.Use'>5. Using the XPath API</a></li>
 </ul>
 <p>
-<a name="XPath.Overview"></a>
+<a id="XPath.Overview"></a>
 <h3>1. XPath Overview</h3>
 
 <p>The XPath language provides a simple, concise syntax for selecting
@@ -69,7 +69,7 @@
 replace many lines of DOM API code.
 </p>
 
-<a name="XPath.Expressions"></a>
+<a id="XPath.Expressions"></a>
 <h3>2. XPath Expressions</h3>
 
 <p>An XPath <em>expression</em> is composed of a <em>location
@@ -139,11 +139,15 @@
 nodes. The following table gives examples of location paths for each
 of these node types:</p>
 
-<table border="1">
+<table class="striped">
+<caption>Examples of Location Path</caption>
+<thead>
 <tr>
-<td>Location Path</td>
-<td>Description</td>
+<th>Location Path</th>
+<th>Description</th>
 </tr>
+</thead>
+<tbody>
 <tr>
 <td>
 <code>/foo/bar/<strong>@id</strong></code>
@@ -171,6 +175,7 @@
 <code>&lt;bar&gt;</code> element.
 </td>
 </tr>
+</tbody>
 </table>
 
 <p>Predicates allow for refining the nodes selected by an XPath
@@ -194,7 +199,7 @@
 </pre>
 </blockquote>
 
-<a name="XPath.Datatypes"></a>
+<a id="XPath.Datatypes"></a>
 <h3>3. XPath Data Types</h3>
 
 <p>While XPath expressions select nodes in the XML document, the XPath
@@ -207,7 +212,7 @@
 <li><code>String</code></li>
 </ul>
 
-<a name="XPath.Datatypes.QName"></a>
+<a id="XPath.Datatypes.QName"></a>
 <h3>3.1 QName types</h3>
 The XPath API defines the following {@link javax.xml.namespace.QName} types to 
 represent return types of an XPath evaluation:
@@ -236,7 +241,7 @@
 <p>The <code>Number</code> return type attempts to coalesce the text
 of a node to a <code>double</code> data type.
 
-<a name="XPath.Datatypes.Class"></a>
+<a id="XPath.Datatypes.Class"></a>
 <h3>3.2 Class types</h3>
 In addition to the QName types, the XPath API supports the use of Class types
 through the <code>XPathExpression.evaluteExpression(...)</code> or 
@@ -254,14 +259,14 @@
 <p>
 Of the subtypes of Number, only Double, Integer and Long are supported.
          
-<a name="XPath.Datatypes.Enum"></a>
+<a id="XPath.Datatypes.Enum"></a>
 <h3>3.3 Enum types</h3>
 Enum types are defined in {@link javax.xml.xpath.XPathEvaluationResult.XPathResultType} 
 that provide mappings between the QName and Class types above. The result of 
 evaluating an expression using the <code>XPathExpression.evaluteExpression(...)</code> 
 or <code>XPath.evaluateExpression(...)</code> methods will be of one of these types.
 
-<a name="XPath.Context"></a>
+<a id="XPath.Context"></a>
 <h3>4. XPath Context</h3>
 
 <p>XPath location paths may be relative to a particular node in the
@@ -278,7 +283,7 @@
 It is an XML document tree represented as a hierarchy of nodes, a 
 {@link org.w3c.dom.Node} for example, in the JDK implementation.
 
-<a name="XPath.Use"></a>
+<a id="XPath.Use"></a>
 <h3>5. Using the XPath API</h3>
 
 Consider the following XML document:
--- a/src/java.xml/share/classes/org/w3c/dom/Attr.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/org/w3c/dom/Attr.java	Tue May 16 17:36:12 2017 -0700
@@ -111,7 +111,9 @@
  * <p>The following table gives some examples of the relations between the
  * attribute value in the original document (parsed attribute), the value as
  * exposed in the DOM, and the serialization of the value:
- * <table border='1' cellpadding='3'>
+ * <table class="striped">
+ * <caption>Examples of the Original, Normalized and Serialized Values </caption>
+ * <thead>
  * <tr>
  * <th>Examples</th>
  * <th>Parsed
@@ -119,6 +121,8 @@
  * <th>Initial <code>Attr.value</code></th>
  * <th>Serialized attribute value</th>
  * </tr>
+ * </thead>
+ * <tbody>
  * <tr>
  * <td valign='top' rowspan='1' colspan='1'>
  * Character reference</td>
@@ -126,7 +130,7 @@
  * <pre>"x&amp;#178;=5"</pre>
  * </td>
  * <td valign='top' rowspan='1' colspan='1'>
- * <pre>"x\u00b2=5"</pre>
+ * <pre>"x&#178;=5"</pre>
  * </td>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>"x&amp;#178;=5"</pre>
@@ -180,6 +184,7 @@
  * <td valign='top' rowspan='1' colspan='1'><em>Dependent on Implementation and Load Options</em></td>
  * <td valign='top' rowspan='1' colspan='1'><em>Dependent on Implementation and Load/Save Options</em></td>
  * </tr>
+ * </tbody>
  * </table>
  * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>.
  */
--- a/src/java.xml/share/classes/org/w3c/dom/Document.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/org/w3c/dom/Document.java	Tue May 16 17:36:12 2017 -0700
@@ -353,37 +353,42 @@
      *   instantiate.
      * @return A new <code>Element</code> object with the following
      *   attributes:
-     * <table border='1' cellpadding='3'>
+     * <table class="striped">
+     * <caption>Attributes of the {@code Element} object</caption>
+     * <thead>
      * <tr>
      * <th>Attribute</th>
      * <th>Value</th>
      * </tr>
+     * </thead>
+     * <tbody>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td><code>Node.nodeName</code></td>
+     * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.namespaceURI</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td><code>Node.namespaceURI</code></td>
+     * <td>
      *   <code>namespaceURI</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.prefix</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>prefix, extracted
+     * <td><code>Node.prefix</code></td>
+     * <td>prefix, extracted
      *   from <code>qualifiedName</code>, or <code>null</code> if there is
      *   no prefix</td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>local name, extracted from
+     * <td><code>Node.localName</code></td>
+     * <td>local name, extracted from
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Element.tagName</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td><code>Element.tagName</code></td>
+     * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
+     * </tbody>
      * </table>
      * @exception DOMException
      *   INVALID_CHARACTER_ERR: Raised if the specified
@@ -417,43 +422,48 @@
      * @param qualifiedName The qualified name of the attribute to
      *   instantiate.
      * @return A new <code>Attr</code> object with the following attributes:
-     * <table border='1' cellpadding='3'>
+     * <table class="striped">
+     * <caption>Attributes of the {@code Attr} object </caption>
+     * <thead>
      * <tr>
      * <th>
      *   Attribute</th>
      * <th>Value</th>
      * </tr>
+     * </thead>
+     * <tbody>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>qualifiedName</td>
+     * <td><code>Node.nodeName</code></td>
+     * <td>qualifiedName</td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td>
      *   <code>Node.namespaceURI</code></td>
-     * <td valign='top' rowspan='1' colspan='1'><code>namespaceURI</code></td>
+     * <td><code>namespaceURI</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td>
      *   <code>Node.prefix</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>prefix, extracted from
+     * <td>prefix, extracted from
      *   <code>qualifiedName</code>, or <code>null</code> if there is no
      *   prefix</td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>local name, extracted from
+     * <td><code>Node.localName</code></td>
+     * <td>local name, extracted from
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Attr.name</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td><code>Attr.name</code></td>
+     * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeValue</code></td>
-     * <td valign='top' rowspan='1' colspan='1'>the empty
+     * <td><code>Node.nodeValue</code></td>
+     * <td>the empty
      *   string</td>
      * </tr>
+     * </tbody>
      * </table>
      * @exception DOMException
      *   INVALID_CHARACTER_ERR: Raised if the specified
--- a/src/java.xml/share/classes/org/w3c/dom/Node.java	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/org/w3c/dom/Node.java	Tue May 16 17:36:12 2017 -0700
@@ -61,104 +61,109 @@
  * <p>The values of <code>nodeName</code>,
  * <code>nodeValue</code>, and <code>attributes</code> vary according to the
  * node type as follows:
- * <table border='1' cellpadding='3'>
+ * <table class="striped">
+ * <caption style="display:none">Interface table</caption>
+ * <thead>
  * <tr>
  * <th>Interface</th>
  * <th>nodeName</th>
  * <th>nodeValue</th>
  * <th>attributes</th>
  * </tr>
+ * </thead>
+ * <tbody>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td>
  * <code>Attr</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as <code>Attr.name</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as
+ * <td>same as <code>Attr.name</code></td>
+ * <td>same as
  * <code>Attr.value</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>CDATASection</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>CDATASection</code></td>
+ * <td>
  * <code>"#cdata-section"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the
+ * <td>same as <code>CharacterData.data</code>, the
  * content of the CDATA Section</td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Comment</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>Comment</code></td>
+ * <td>
  * <code>"#comment"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the
+ * <td>same as <code>CharacterData.data</code>, the
  * content of the comment</td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Document</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>Document</code></td>
+ * <td>
  * <code>"#document"</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td>
  * <code>DocumentFragment</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>"#document-fragment"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>"#document-fragment"</code></td>
+ * <td>
  * <code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>DocumentType</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as
+ * <td><code>DocumentType</code></td>
+ * <td>same as
  * <code>DocumentType.name</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td>
  * <code>Element</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as <code>Element.tagName</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td>same as <code>Element.tagName</code></td>
+ * <td><code>null</code></td>
+ * <td>
  * <code>NamedNodeMap</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Entity</code></td>
- * <td valign='top' rowspan='1' colspan='1'>entity name</td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>Entity</code></td>
+ * <td>entity name</td>
+ * <td><code>null</code></td>
+ * <td>
  * <code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>EntityReference</code></td>
- * <td valign='top' rowspan='1' colspan='1'>name of entity referenced</td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>EntityReference</code></td>
+ * <td>name of entity referenced</td>
+ * <td>
  * <code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Notation</code></td>
- * <td valign='top' rowspan='1' colspan='1'>notation name</td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>Notation</code></td>
+ * <td>notation name</td>
+ * <td>
  * <code>null</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>ProcessingInstruction</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same
+ * <td><code>ProcessingInstruction</code></td>
+ * <td>same
  * as <code>ProcessingInstruction.target</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as
+ * <td>same as
  * <code>ProcessingInstruction.data</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Text</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
+ * <td><code>Text</code></td>
+ * <td>
  * <code>"#text"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the content
+ * <td>same as <code>CharacterData.data</code>, the content
  * of the text node</td>
- * <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
+ * <td><code>null</code></td>
  * </tr>
+ * </tbody>
  * </table>
  * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>.
  */
@@ -687,30 +692,35 @@
      * textual content.
      * <br>The string returned is made of the text content of this node
      * depending on its type, as defined below:
-     * <table border='1' cellpadding='3'>
+     * <table class="striped">
+     * <caption style="display:none">Node/Content table</caption>
+     * <thead>
      * <tr>
      * <th>Node type</th>
      * <th>Content</th>
      * </tr>
+     * </thead>
+     * <tbody>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td>
      * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
      * DOCUMENT_FRAGMENT_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'>concatenation of the <code>textContent</code>
+     * <td>concatenation of the <code>textContent</code>
      * attribute value of every child node, excluding COMMENT_NODE and
      * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the
      * node has no children.</td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+     * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
      * PROCESSING_INSTRUCTION_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'><code>nodeValue</code></td>
+     * <td><code>nodeValue</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>DOCUMENT_NODE,
+     * <td>DOCUMENT_NODE,
      * DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'><em>null</em></td>
+     * <td><em>null</em></td>
      * </tr>
+     * </tbody>
      * </table>
      * @exception DOMException
      *   DOMSTRING_SIZE_ERR: Raised when it would return more characters than
@@ -737,30 +747,35 @@
      * textual content.
      * <br>The string returned is made of the text content of this node
      * depending on its type, as defined below:
-     * <table border='1' cellpadding='3'>
+     * <table class="striped">
+     * <caption style="display:none">Node/Content table</caption>
+     * <thead>
      * <tr>
      * <th>Node type</th>
      * <th>Content</th>
      * </tr>
+     * </thead>
+     * <tbody>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>
+     * <td>
      * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
      * DOCUMENT_FRAGMENT_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'>concatenation of the <code>textContent</code>
+     * <td>concatenation of the <code>textContent</code>
      * attribute value of every child node, excluding COMMENT_NODE and
      * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the
      * node has no children.</td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+     * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
      * PROCESSING_INSTRUCTION_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'><code>nodeValue</code></td>
+     * <td><code>nodeValue</code></td>
      * </tr>
      * <tr>
-     * <td valign='top' rowspan='1' colspan='1'>DOCUMENT_NODE,
+     * <td>DOCUMENT_NODE,
      * DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
-     * <td valign='top' rowspan='1' colspan='1'><em>null</em></td>
+     * <td><em>null</em></td>
      * </tr>
+     * </tbody>
      * </table>
      * @exception DOMException
      *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
--- a/src/java.xml/share/classes/org/w3c/dom/ranges/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/org/w3c/dom/ranges/package.html	Tue May 16 17:36:12 2017 -0700
@@ -2,7 +2,7 @@
 <head>
     <title>W3C IPR SOFTWARE NOTICE</title>
 </head>
-<body bgcolor="white">
+<body>
     <p>
       Document Object Model Level 2 Traversal and Range is a 
       platform and language-neutral interfaces that allow programs 
@@ -20,14 +20,14 @@
     <h1>
       W3C IPR SOFTWARE NOTICE
     </h1>
-    <h3>
+    <h2>
       Copyright &copy; 2000 <a href="http://www.w3.org/">World Wide Web
       Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
       Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
       National de Recherche en Informatique et en Automatique</a>, <a
       href="http://www.keio.ac.jp/">Keio University</a>). All Rights
       Reserved.
-    </h3>
+    </h2>
     <p>
       The DOM bindings are published under the W3C Software Copyright Notice
       and License. The software license requires "Notice of any changes or
@@ -42,14 +42,14 @@
       and License could be found at <a
       href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
     </p>
-    <h3>
+    <h2>
       Copyright &copy; 1994-2000 <a href="http://www.w3.org/">World Wide Web
       Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
       Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
       National de Recherche en Informatique et en Automatique</a>, <a
       href="http://www.keio.ac.jp/">Keio University</a>). All Rights
       Reserved. http://www.w3.org/Consortium/Legal/
-    </h3>
+    </h2>
     <p>
       This W3C work (including software, documents, or other related items) is
       being provided by the copyright holders under the following license. By
--- a/src/java.xml/share/classes/org/xml/sax/package.html	Mon May 15 20:27:38 2017 -0700
+++ b/src/java.xml/share/classes/org/xml/sax/package.html	Tue May 16 17:36:12 2017 -0700
@@ -24,14 +24,18 @@
 <em>setFeature</em>.  Those standard identifiers are: </p>
 
 
-<table border="1" cellpadding="3" cellspacing="0" width="100%">
-    <tr align="center" bgcolor="#ccccff">
+<table class="striped">
+    <caption>SAX2 Standard Features </caption>
+    <thead>
+    <tr>
 	<th>Feature ID</th>
 	<th>Access</th>
 	<th>Default</th>
 	<th>Description</th>
 	</tr>
-
+    </thead>
+   	
+    <tbody>
     <tr>
 	<td>external-general-entities</td>
 	<td><em>read/write</em></td>
@@ -208,7 +212,7 @@
         Returns "false" if the parser supports only XML 1.0.
 		</td>
     </tr>
-
+    </tbody>
 </table>
 
 <p> Support for the default values of the
@@ -236,11 +240,15 @@
 <code>dom-node</code>.  Manage those properties using
 <em>setProperty()</em>.  Those identifiers are: </p>
 
-<table border="1" cellpadding="3" cellspacing="0" width="100%">
-    <tr align="center" bgcolor="#ccccff">
+<table class="striped">
+<caption>SAX2 Standard Properties </caption>
+<thead>
+    <tr>
 	<th>Property ID</th>
 	<th>Description</th>
 	</tr>
+</thead>
+<tbody>
 
     <tr>
 	<td>declaration-handler</td>
@@ -287,7 +295,7 @@
 	<td> Readable only during a parser callback, this exposes a <b>TBS</b>
 	    chunk of characters responsible for the current event. </td>
 	</tr>
-
+</tbody>
 </table>
 
 <p> All of these standard properties are optional;