You don't need either DTD or XSD to render XHTML from an XML document. XSLT is enough.DTD or XSD is needed to validate the grammer of an XML document. To actually perform the validation, yes, you need to use a validator.The order I'd advice is XML, (XSLT & XPath), (DOM & XPath), XSD, DTD. XPath needs to be studied together with XSLT and/or DOM, because it doesn't make sence in a vacuum. XSLT on the other hand can't really do anything without XPath. DOM could, but having the "node sence" that XPath provides helps.As for attributes - an attribute can occur once per element, and can't hav