Summary
Remove the implNote in the DOM package description added through JDK-8249643.
Problem
The implNote added through JDK-8249643 intended to clarify why the JDK implementation had a discrepancy
over the DOM specification. The assessment was that the DOM specification did not follow the XML specification
with regard to characters in the surrogate block. However, that assessment was incorrect since the XML specification,
while excluding the surrogate block, did include character range [ #x10000-#x10FFFF ]
.
Solution
Remove the implNote added through JDK-8249643.
Specification
- Implementation Note:
- The JDK implementation of LSSerializer follows the Characters section of the XML Specification in handling
- characters output. In particular, the specification defined a character range that excluded the surrogate blocks.
- As a result, the JDK LSSerializer writes characters in the surrogate blocks as Character References.
- Character 0xf0 0x9f 0x9a 0xa9 (Unicode code point U+1F6A9) for example will be written as 🚩.
- This behavior is different from what is defined in the class description of LSSerializer. The relevant section is quoted below:
- Within the character data of a document (outside of markup), any characters that cannot be represented directly
- are replaced with character references... Any characters that cannot be represented directly in the output character
- encoding are serialized as numeric character references
- The JDK implementation does not follow this definition because it is not consistent with the XML Specification
- that defined an explicit character range with no association to the setting of the output character encoding.
- csr of
-
JDK-8251495 Remove the implNote in the DOM package description added by JDK-8249643
-
- Resolved
-
- relates to
-
JDK-8249904 Clarify DOM documentation
-
- Closed
-