In addition to tags, SGML also allow for the definition of entities. Entities provide a means for simple keyword expansion. This is useful not only for a shorthand notation, but also as a way of parameterizing a document to make future changes easy. Entity references begin with an ampersand and end with a semicolon. All entities are typically defined in the DTD .
Entities are particularly useful to prevent text from being interpreted as markup.
However, this should typically not be a problem because misinterpretation is only possible when these opening characters are followed directly by a non-space character. Once the DTD has been specified, the user can then structure the information in the body of the SGML document. Once the tags are specified they can be used like the commands in other markup languages. If the elements are composed incorrectly, a parser will point out the problems. This is the level at which most SGML users will operate.