La présence du code suivant xmlns="http://www.w3.org/TR/xhtml1/strict" au sein de la déclaration <xsl:stylesheet/> provoque une erreur de rendu dans Firefox.
Internet Explorer, Opera et Safari ne présentent pas le problème.

Exemple sans la directive xmlns

Exemple avec la directive xmlns
diff -u without_xmlns.xsl with_xmlns.xsl
--- without_xmlns.xsl 2008-11-17 11:17:48.000000000 +0100
+++ with_xmlns.xsl 2008-11-17 13:17:15.000000000 +0100
@@ -1,5 +1,6 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
+ xmlns="http://www.w3.org/TR/xhtml1/strict"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
Testé avec :
L'erreur vient de la (mauvaise ?) lecture de la recommendation XSLT qui, dans son paragraphe 2.3 "Literal Result Element as Stylesheet", montre le code :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/xhtml1/strict">
Or, dans la recommendation XHTML 1.0, on trouve au pagraphe 3.1.1 "Strictly Conforming Documents" que l'adresse à fournir à l'attribut xmlns est : http://www.w3.org/1999/xhtml.
Dès lors, le rendu dans Firefox est correct comme le montre le second exemple avec la directive xmlns.
diff -u with_xmlns.xsl with_xmlns2.xsl
--- with_xmlns.xsl 2008-11-17 14:26:19.000000000 +0100
+++ with_xmlns2.xsl 2008-11-17 14:49:52.000000000 +0100
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
- xmlns="http://www.w3.org/TR/xhtml1/strict"
+ xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">