You can use any simple text editor, (for example: Windows NotePad) to create XHTML documents. As long as you place the XHTML tags in the correct place around your content, any web browser will render the page. It is the tags that define the structure of the document. The ideal approach to take when marking up documents for the web is to use the tags to define the meaning of the content being marked up, (for example: use a heading tag to define a heading). This will create what is known as a semantic web page structure for your document.
This is a string that needs to be placed at the very beginning of your web document. The DTD describes the tags used in the document and how they can be used. This helps the browser render the page correctly and not have to make any guesses about how to render any tags it does not understand. If you look at the DTD you will see it contains a URL that points to a file that contains the definition of all the tags and their usage.
If you want to find out more information on markup languages, DTD's and indeed anything else related to the Web, then this is the place to visit. The W3C is an international consortium that is developing the technologies, specifications and guidelines to improve the way the Web works and is used.