But since I already have the xhtml namespace above as
the default namespace (xmlns="..."), why doesn't an
unadorned node name go into that namespace already?
Because that's what the spec says!
Why does the spec say that? The reason is that the result document might
want to use a different default namespace from the source document. The
default namespace in the stylesheet can't then be used to refer to both
the default namespace in the result document and the default namespace
in the source, so they decided it was better to use it for the latter,
which means that every namespace in the source document must be referred
to (in the stylesheet) using an explicit prefix.
Michael Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list