No, it lets you make up names for your own elements. If you think tags and elements are the same thing you are already in trouble: read the rest of this question carefully.
Before we start this one, Bob DuCharme notes: Don't confuse the term `tag' with the term `element' . They are not interchangeable. An element usually contains two different kinds of tag: a start-tag and an end-tag, with text or more markup between them.
XML lets you decide which elements you want in your document and then indicate your element boundaries using the appropriate start- and end-tags for those elements. Each
<!ELEMENT... declaration defines a class of elements that may or may not be used in a document conforming to that DTD. We call this class of elements an `element type' . Just as the HTML DTD includes the
P element types, your document can have
price element types.
Non-empty elements are made up of a start-tag, the element's content, and an end-tag.
<color>red</color> is a complete instance of the
<color> is only the start-tag of the element, showing where it begins; it is not the element itself.
Empty elements are a special case that may be represented either as a pair of start- and end-tags with nothing between them (eg
<price retail="123"></price>) or as a single empty element start-tag that has a closing slash to tell the parser `don't go looking for an end-tag to match this' (eg
<price retail="123"/>). [Bob DuCharme]