cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Dumon <>
Subject Re: Saxon broken -- DOMStreamer question
Date Sun, 16 Feb 2003 09:21:58 GMT
On Sun, 2003-03-16 at 09:02, Jeff Turner wrote:
> Hi,
> Currently, DOMStreamer.setNormalizeNamespaces() is hardcoded to true.
> This fixes the xmlns problem with Xalan, but breaks it with Saxon.
> Shouldn't we be doing the
> AbstractTextSerializer.needsNamespacesAttributes() check in DOMSerializer
> too?

I think it's more related to the "namespace-prefixes" parameter of the
xml-parser component (see the cocoon.xconf). So it would make more sense
to add a method createDOMStreamer to the Parser interface.

But the decission to create xmlns attributes is in fact something that
every SAX-generating component in the pipeline should be aware of and
honor. And AFAIK most/all transformers only generate
start/endPefixMapping events, and no xmlns attributes. So it seems only
logical that the DOMStreamer also shouldn't generate xmlns attributes.

If you want to quickly disable this behaviour in DOMStreamer so you can
get on with your work, just disable the following lines:
String pr1 = pr.equals("") ? "xmlns" : pr;
String qn = pr.equals("") ? "xmlns" : "xmlns:" + pr;
newAttrs.addAttribute("", pr1, qn, "CDATA", ns);

Bruno Dumon                   
Outerthought - Open Source, Java & XML Competence Support Center                

View raw message