From: Stephen Tredrea [mailto:stephen(_dot_)tredrea(_at_)com-du-it(_dot_)com]
Is there any way to stop a transformation putting the
namespace declarations into html tags?
For example, this XSL...
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
<h1>Hello world</h1>
</xsl:template>
</xsl:stylesheet>
...produces this html...
<h1 xmlns:dc="http://purl.org/dc/elements/1.1/">Hello world</h1>
You can suppress specific namespace prefixes like this -
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://purl.org/dc/elements/1.1/"
exclude-result-prefixes='dc'>
However, you might want to tell us a little more about what you want to
achieve here. True html is not xml and does not support namespaces. If
you want xhtml, you should be including a document type declaration that
says so, but then it won't be so easy to insert elements from the dc
namespace.
I speculate that you want to produce something that looks enough like
html to get by a browser, but isn't literally either html or xhtml. Is
that right?
Cheers,
Tom P