If element content is not vital, they can be created using the ANY model. This does not removes all syntax checking, so this method should be avoided if possible and a specific content model should be defined. The following example shows how unrestricted elements are setup.
Example: <!ELEMENT courses ANY>
Empty elements are those that do not have closing tags. The following example defines an empty element for <classes />
Example: <!ELEMENT classes EMPTY>
Child elements are elements that are contained within another. This can be accomplished by providing the name of the child element. The following example shows how to set this up.
Example: <!ELEMENT courses (course)>
If multiple child elements are required, this can be accomplished by adding a sequence, which is a list of elements separated by commas. When using this method, it is important to remember that the tags must be in the same order in the XML document as they are specified in the sequence. An example of how to set this up is the following:
Example: <!ELEMENT courses (description, url)>