The power in XML can be traced to document type declarations. You use these declarations to give your custom tags meaning and to communicate information about the content in your document to the XML application. People often refer to document type declarations as DTDs because they're the equivalent of SGML's DTDs, or Document Type Definitions. In most programming languages there's a semantic difference between declarations and definitions. In XML, however, declarations can be contained in either the XML document or an external DTD file.
Attribute declarations define the attribute list for an element.
The second occurrence of HEAD1 outside the closing parenthesis indicates that it is the default value. The content fragment can either be text within the document, part of a document type declaration, or a reference to an external file. The specification also distinguishes among internal, external, and parameter entities. The language of XML is necessarily complex, and space constraints prevent a thorough discussion here. But document type declarations are fertile ground for future columns, so stay tuned.