If you need well-defined data types, bear in mind that XML Schema definition provides much more expressive power compared to Document type. Compared to schema definition, DOCTYPE can be considered rudimentary. Also, DTD in XML Standard is not a keyword of the language but a term used in language definition (very dirty, buy the way); there is Document type or DOCTYPE, which is only parsed as a part of XML document. DTD is also just a usual type extension for so called external reference and. The difference seems subtle but it has been a source of many confusions.
To get answers to all you question, see this and the references from this document:
http://www.w3.org/TR/REC-xml/[
^]. In particular, you will see that multiplicity specification is limited by '?', '*' and '+'.
—SA