[jdom-interest] Problems outputting HTML

Jason Hunter jhunter at xquery.com
Tue Apr 27 16:40:18 PDT 2004


> <script language="JavaScript" src="http://www.newatlanta.com/shared/us.js"></script>
> 
> Although the body of this tag is empty, it is expanded because, if it is not, then
> some browsers won't import the script library.

I've hit that browser bug too.  I think adding a space of text content 
between the script tags is also helpful on some browsers, and a 
convenient workaround to the issue you have here.

> It appears that unless I set expandEmptyElements(true), then XMLOutputter
> will collapse empty elements (although this is not stated in the Javadocs).
> (It seems like there should be an collapseEmptyElements(boolean flag) since
> <tag></tag> is still well-formed XML..)

Semantically the expanded and unexpanded forms are identical.  You're 
just trying to work around browser bugs.  We have the 
expandEmptyElements() option specifically for this.

> Not a problem...until <br/> tags are expanded. The browser interprets both
> <br> and <br/> as line breaks!

It's <br> and </br> actually, which a decent browser shouldn't see as 
two breaks.  Argh.

> One solutions was proposed over a year ago (sublass XMLOutputter and implement an HTMLOutputter...)
> http://www.servlets.com/archive/servlet/ReadMsg?msgId=335507&listName=jdom-interest
> 
> Is this still the case? Are there any other solutions?

No one's bothered with an HTMLOutputter yet.  For you adding a space in 
the script element and leaving empties unexpanded would fix the issue.

-jh-




More information about the jdom-interest mailing list