[jdom-interest] XMLOutputter - Unwanted line breaks occurring
between tags
Brett McLaughlin
brett.mclaughlin at lutris.com
Fri Oct 6 09:45:48 PDT 2000
kendrick at us.ibm.com wrote:
>
> I am using XMLOutputter to output XML with line breaks, and it is working
> reasonably well. However, I have noticed that when an element whose
> content is null is outputted, a line break occurs between the opening and
> closing tags. I would prefer that the opening and closing tags occur on
> the same line as they do when the element's content is an empty string.
Hi Kendrick -
I made some changes to XMLOuputter early this week that should ensure
that getContent() never returns null - could you get the latest version
from CVS today and see if the problem goes away, and let us know either
way? Thanks...
If you still have problems, I 'll track them down.
-Brett
>
> For example, the following code:
> root.addContent(new Element("name").setText(null));
> produces the following output:
> <name>
> </name>
>
> However the following code:
> root.addContent(new Element("name").setText(""));
> produces the following output:
> <name></name>
>
> The line break appears to occur because the test for "stringOnly" in the
> printElement() method of XMLOutputter results in false when the element's
> content is null. I recommend modifying the test for "stringOnly" to
> include the check for a null value. That seems to cause the output of an
> element's tags to appear on the same line when the content is null.
>
> protected void printElement(Element element, Writer out,
> int indentLevel, NamespaceStack namespaces) throws
> IOException {
> List mixedContent = element.getMixedContent();
> boolean empty = mixedContent.size() == 0;
> boolean stringOnly =
> !empty &&
> mixedContent.size() == 1 &&
> (mixedContent.get(0) instanceof String || mixedContent.get(0) ==
> null);
>
> Sincerely,
> Shannon Kendrick
>
> IBM e-business Integration Services - Atlanta, GA
>
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com
--
Brett McLaughlin, Enhydra Strategist
Lutris Technologies, Inc.
1200 Pacific Avenue, Suite 300
Santa Cruz, CA 95060 USA
http://www.lutris.com
http://www.enhydra.org
More information about the jdom-interest
mailing list