Michael,

Thank you for this suggestion.
I can use this. Before I call the serializer I will strip off all whitespace in "whitespace-only" complex nodes because otherwise I do not get a pretty-print:
For example:
String xml = "<root>" +
" <child1>text</ child1><child2> </child2></root>";
results in :
<?xml version="1.0" encoding="UTF-16"?>
<root>                                  <child1>text</child1>
    <child2>   </child2>
</root>

But stripping of this whitespace before will not be too difficult.

I feel it is a pitty that the LSSerializer will not be maintained anymore, because we do not have alternatives that supply the same functionality. I am afraid that maybe in the future there may be new xml (or DOM) feautures that have effects on the serialization. Then we are totally dependent on other libraries to implement that functionality.


But I understand you have to make choices where to spent the effort.

Thanks
Dick Deneer


Op 21-nov-2009, om 20:07 heeft Michael Glavassevich het volgende geschreven:

You should also be able to control whether spaces are preserved by registering an LSSerializerFilter.

When I added one to your test program:

        if (useXerces)
        {
            domWriter = new DOMSerializerImpl();
            domWriter.setFilter(new LSSerializerFilter() {
                public int getWhatToShow() {
                    return LSSerializerFilter.SHOW_ALL;
                }
                public short acceptNode(Node n) {
                    return LSSerializerFilter.FILTER_ACCEPT;
                }});
        }

the output I get is:

Program started
Xerces serializer will be used
<?xml version="1.0" encoding="UTF-16"?>
<root>
<child1>text</child1>
<child2> </child2>
</root>

Xalan serializer will be used
<?xml version="1.0" encoding="UTF-16"?><root>
<child1>text</child1>
<child2> </child2>
</root>

which I believe is what you were expecting.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrgla...@ca.ibm.com
E-mail: mrgla...@apache.org

Dick Deneer <dick.den...@donkeydevelopment.com> wrote on 11/21/2009 01:19:27 PM:

> Hi Jake,
>
>
> I just tried your suggestion and the spaces are indeed preserved.
> But still, I woud prefer another solution. I do not have any clue
> about the xml (I use xerces in a xml editor) and I do not want to
> change the xml.
> And also I would like to stay with the LSSerializer (it also
> serilalizes doctype nodes).
> If there is another way please let me know.
>
> Thanks
> Dick Deneer
>
>
>
> Op 21-nov-2009, om 19:03 heeft Jacob Kjome het volgende geschreven:
>
> > Have you tried xml:space="preserve"?
> >
> > Jake
> >
> > On 11/20/2009 4:36 PM, Dick Deneer wrote:
> >> I am still using the deprecated LSSerializer because the xalan
> >> serializer has issues with the pretty print.
> >> But when I have simple elements with only space, the serializer
> >> produces
> >> empty elements. Is there a tweak to keep the spaces in this elements?
> >>
> >> Sample xml:
> >> <root><child1>text</child1><child2> </child2></root>
> >> I attached a simple test program, that you can just run to see the
> >> results:
> >>
> >> Program started
> >> Xerces serializer will be used
> >> <?xml version="1.0" encoding="UTF-16"?>
> >> <root>
> >> <child1>text</child1>
> >> <child2/>
> >> </root>
> >>
> >> Xalan serializer will be used
> >> <?xml version="1.0" encoding="UTF-16"?><root>
> >> <child1>text</child1>
> >> <child2> </child2>
> >> </root>
> >>
> >> Regards
> >> Dick Deneer
> >>
> >> ---------------------------------------------------------------------
> >> ---
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
> > For additional commands, e-mail: j-users-h...@xerces.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
> For additional commands, e-mail: j-users-h...@xerces.apache.org


Reply via email to