If you're working with XSL as a templating system, you'll want it to include the correct DTD.
The xsl:output tag has some options you need to configure correctly. At the top of your XSL file add
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="string" encoding="UTF-8" omit-xml-declaration="yes" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
Note: it is a closed tag. You need to omit-xml-declaration as the DOCTYPE must be the very first thing the browser sees.
Where you add the start HTML tag add the following:
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
You might want to use method="html" since "xml" will close any tags without content. This will break any empty <textarea> elements, since it is not a self-closing element.
Your pages should now validate correctly.