nxml-mode: DTDs

 
 7 DTDs
 ******
 
 nXML mode is designed to support the creation of standalone XML
 documents that do not depend on a DTD.  Although it is common practice
 to insert a DOCTYPE declaration referencing an external DTD, this has
 undesirable side-effects.  It means that the document is no longer
 self-contained.  It also means that different XML parsers may interpret
 the document in different ways, since the XML Recommendation does not
 require XML parsers to read the DTD.  With DTDs, it was impractical to
 get validation without using an external DTD or reference to an
 parameter entity.  With RELAX NG and other schema languages, you can
 simultaneously get the benefits of validation and standalone XML
 documents.  Therefore, I recommend that you do not reference an external
 DOCTYPE in your XML documents.
 
    One problem is entities for characters.  Typically, as well as
 providing validation, DTDs also provide a set of character entities for
 documents to use.  Schemas cannot provide this functionality, because
 schema validation happens after XML parsing.  The recommended solution
 is to either use the Unicode characters directly, or, if this is
 impractical, use character references.  nXML mode supports this by
 providing commands for entering characters and character references
 using the Unicode names, and can display the glyph corresponding to a
 character reference.