[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] How to remove unnecessary "xmlns:xx" attributes?


Subject: Re: [xsl] How to remove unnecessary "xmlns:xx" attributes?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 10 Nov 2010 23:07:59 +0100

Hi Wendell,

I think the OP actually does want the namespaces that are actually used.

Yes, indeed, I believe I misunderstood that part ;-)


Kind regards,
Abel



On 10-11-2010 20:22, Wendell Piez wrote:
Abel,
You don't want the namespaces but the output:

<?xml version="1.0" encoding="UTF-8"?>
<doc xmlns="p/q/r" xmlns:abc="a/b/c" xmlns:def="d/e/f" xmlns:ghi="g/h/i">
<abc:bef>The quick brown fox jumps over the lazy dog</abc:bef>

still contains them.

I think the OP actually does want the namespaces that are actually used.


The object is to remove namespaces (and hence namespace declarations) that aren't actually needed by virtue of being used in any names.

Given that, the only potential issue I see in Wolfgang's code is that he matches "/node()" for the top level, which would match any comment or PI siblings of the document element as well as the element itself.

If you want to keep the local part and remove the namespace part of an element, you'll have to use xsl:element with only a local-part.

True, but that's a different problem (at least if I understood the OP).


Current Thread