@pcooper said:
That *might* actually be somewhat in complance with specs, if I recall right... if you want to output XHTML, you'd need to use the HTML namespace and it probably wouldn't hurt to use an xsl:output saying the output is xml.
Sorry, much as I'd love to blame MickeySoft, it's you.
From the W3C (Gospel) at http://www.w3.org/TR/xslt#output:
=================
The default for the method
attribute is chosen as follows. If
-
the root node of the result tree has an element child,
-
the expanded-name of the first element child of the root node (i.e. the document element) of the result tree has local part
html
(in any combination of upper and lower case) and a null namespace URI, and -
any text nodes preceding the first element child of the root node of the result tree contain only whitespace characters,
then the default output method is html
; otherwise, the default output method is xml
. The default output method should be used if there are no xsl:output
elements or if none of the xsl:output
elements specifies a value for the method
attribute.
=====================
i.e. you didn't tell it what you were writing out, and the first thing you wrote out was an <html> tag. Therefore, it (sensibly) defaults to HTML output. Not XHTML, as that breaks some stupid braindead browsers... which may well be Microsoft's fault...