Я пытаюсь преобразовать XML в xHTML с помощью XSLT.
После этого я получаю атрибут xmlns="" во всех тегах HTML (<p>).
xmlns=""
<p>
Это моя часть моего XSL-файла
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/> <html xmlns="http://www.w3.org/1999/xhtml">
В чем может быть проблема?
Если вы хотите, чтобы все ваши элементы результата находились в пространстве имен XHTML http://www.w3.org/1999/xhtml, вам нужно поместить это объявление пространства имен в элемент * xsl:stylesheet, поэтому используйте
http://www.w3.org/1999/xhtml
xsl:stylesheet
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="foo"> <p> <xsl:apply-templates/> </p> </xsl:template> ... </xsl:stylesheet>