The DTD can contain several different types of declarations:
Element declarations let you specify what kinds of tags can be used, and what (if anything) can appear inside the contents of the element.
Attribute declarations define what attributes you can use inside a given element.
Entity declarations define chunks of fixed text that can be included elsewhere.
Notation declarations define file types (like JPG and WAV files) so you can refer to non-XML files like image and sound files.
We'll discuss element declarations first, since they make up most or all of a typical DTD.