Internationalization
- Last Updated: January 17, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
XML documents may be encoded using any of a wide a variety of
character encoding. The DOM parser returns character data to ABL
interpreter encoded, if possible, according to -cpinternal, the
Internal Code Page parameter. This translation is performed by the
DOM parser using its own translation functions. If the DOM parser
cannot perform the translation according to -cpinternal, it translates
to UTF8 which is then translated by the interpreter from UNICODE
to the character encoding specified by -cpinternal.
The encoding used in an XML document is specified by an optional encoding
declaration at its very beginning. If the encoding declaration
is present, it specifies the encoding used in the remainder of the
document. If the declaration is not present, the document's encoding
is assumed to be UTF-8 or UTF-16.
When the LOAD method is used to load an XML
document, the ENCODING attribute of the X-document
object will be set to the name of encoding found in the encoding
declaration of the document. For output, you can set the X-document
object's ENCODING attribute to the name of the
desired encoding.
When the SAVE method is used to write an output XML
document from a memory-resident DOM tree, the generated XML text
is encoded by the DOM parser according to the value of the ENCODING attribute.
When you SAVE a document to a stream, the specified
encoding is used and the value of -cpstream is ignored.
According to the XML recommendation, "it is a fatal error when an XML processor encounters an entity with an encoding that it is unable to process." If this error occurs while ABL is attempting to load a document, the document will be empty.