Used by a the DOM to determine how to produce markup. Delegates details about converted entities and some formatting
details. This exists to handle the differences between traditional HTML output (which is SGML based, meaning there
can be elements that are valid without a close tag) and "modern" XML, such as XHTML. Generally speaking, for XHTML
it is vital that a !DOCTYPE be included in the rendered response, or the browser will be unable to display the result
Encodes the characters into the buffer for use in a quoted value (that is, an attribute value), converting
control characters (such as '<') into corresponding entities (such as <). In addition, double quotes
must be quoted or otherwise escaped.