I asked how to get this:
<root xmlns="http://example.com/foo">
<foo>
<blah/>
</foo>
</root>
rather than this:
<foo:root xmlns:foo="http://example.com/foo">
<foo xmlns="http://example.com/foo">
<blah/>
</foo>
</foo:root>
i.e. with no more namespace attributes than necessary.
Geert Josten suggested:
> How about adding the following to the xsl:stylesheet element:
> exclude-result-prefixes="foo"
Unfortunately this doesn't work; I get exactly the same output.
Andrew Welch suggested:
> Use a default namespace in the stylesheet, eg:
>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0"
> xmlns="http://example.com/foo">
>
> (note the foo prefix has been removed)
This does work - thanks Andrew - but I'm not keen on changing the
namespace prefixes for all the literal elements like this; I was hoping
for an easier way, such as an attribute on xsl:output or something like
that.
More googling has found the xsl:namespace element in 2.0. Is this
useful for this problem? Is there anything else I can do?
Cheers,
--Phil.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--