xsl-list
[Top] [All Lists]

Re: [xsl] Wrong indentation with javax.xml.transform.Transformer

2011-09-20 06:31:08
On 20 September 2011 12:20, Olivier Lefevre <lefevrol(_at_)yahoo(_dot_)com> 
wrote:
Hi,

I am using javax.xml.transform.Transformer to pretty-print DOM
documents or fragments thereof, pulled with XPath. The relevant
code is:

 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount";,
"2");

It works fine for the root node, i.e., for a full document, but
if I try that on a node retrieved with XPath the indentation is
all messed up. For instance if I pull the location node from
this document:

<GeocodeResponse>
 <status>OK</status>
 <result>
   <geometry>
     <location>
       <lat>51.3398300</lat>
       <lng>12.3627600</lng>
     </location>
   </geometry>
 </result>
</GeocodeResponse>

using "//location" and print it I get

<location>
       <lat>51.3398300</lat>
       <lng>12.3627600</lng>
     </location>

Is this a known issue or am I doing something wrong? This is with
Java 1.6.0_27; I am unsure which exact version of the XML
libraries that implies.

That's correct... you will probably want to strip whitespace only text
nodes from the input (which is fine provided you don't have any 'mixed
content' elements).


-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--