DTDs are very useful if you want to describe the structure of a document. They have been used to do this for well over a decade. Unfortunately, they come up short when it comes to the needs of XML application developers. Due to the fact that XML is used, and will continue to be used, to create data-intensive applications, XML is not used to simply markup a document--it's used to markup data.
DTD is CFG for document type. It lacks Data types, Inheritance, and Default values. Also, it is Non-XML.
XML Schemas express shared vocabularies and allow machines to carry out rules made by people. They provide a means for defining the structure, content and semantics of XML documents. XML Schema is a language for defining the structure of XML documents.