Represents an XML DOCTYPE declaration; that is, the contents of
<!DOCTYPE ... >. DOCTYPES can be used to declare the DTD of a document, as well as being used to declare
entities used in the document.
Constructor @param parent If first is String, it must be String and set to
external_id. Otherwise, it is set as the parent of this object. @param
first can be multiple types. If String, name is set to this and external_id
is set to nil. If DocType, the object is cloned.
If Source, the source is scanned for the DOCTYPE
declaration.