[ 
https://issues.apache.org/jira/browse/XMLBEANS-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773135#action_12773135
 ] 

Raman Gupta commented on XMLBEANS-262:
--------------------------------------

Good point about option #1. Option #3 it is then.

For the enhancement, I how about two new XmlOption's:

setEolStyle(String eolStyle)
setEolStyleDeclaration(String eolStyle)

with the following constants as possible values:

EOLSTYLE_LF = "LF";
EOLSTYLE_CRLF = "CRLF";
EOLSTYLE_SYS = "SYS";

To maintain backwards compatibility, the option eolStyle would be set by the 
user to EOLSTYLE_LF and eolStyleDeclaration would be EOLSTYLE_SYS. However, the 
defaults provided by XmlBeans should probably be EOLSTYLE_LF or EOLSTYLE_SYS 
for both. My personal preference would be _LF but I suspect most people would 
expect _SYS to be the default.

> Line ending behavior inconsistent when using save(OutputStream)
> ---------------------------------------------------------------
>
>                 Key: XMLBEANS-262
>                 URL: https://issues.apache.org/jira/browse/XMLBEANS-262
>             Project: XMLBeans
>          Issue Type: Improvement
>          Components: XmlObject
>    Affects Versions: Version 2.1
>         Environment: Windows, JDK 1.5.0_06
>            Reporter: Raman Gupta
>            Assignee: Radu Preotiuc-Pietro
>            Priority: Minor
>
> When executing an XmlObject.save(OutputStream) call, the output's line 
> endings do not conform to any consistent and expected behavior. Even though 
> this should not be a problem for any conformant XML processor due to 
> http://www.w3.org/TR/REC-xml/#sec-line-ends, this sometimes causes problems 
> with other tools or code.
> Here is a code snippet to reproduce:
> XmlObject  x = XmlObject.Factory.parse("<root>\r\n<test/>\r\n</root>");
> OutputStream o = new FileOutputStream("out.xml");
> x.save(o);
> o.close();
> Viewing out.xml in a hex editor will show that the line ending after the XML 
> declaration is determined by the System property line.separator (on windows, 
> default is \r\n, or 0x0D, 0x0A) but the line endings after all the other 
> elements is always a single \n (0x0A), regardless of line.separator and the 
> input XML.  In other words, line endings do not match either the line endings 
> provided in the input XML, or the platform default value on Windows.
> I suppose there are several options for fixing this:
> 1) The XML declaration continues to use the System property, but for other 
> line endings, the input XML's line endings should be respected when output 
> (\r\n on the input is output as is), OR
> 2) That the output XML uses the System property and makes all line endings 
> consistent.
> 3) Some combination of the above with new XmlOption's settings.
> My preference would be #3 so that the line ending behavior can be controlled 
> by the user. For the default, I have no preference except to have some known 
> documented behavior. Option #1 will sometimes result in a file with 
> inconsistent line endings, but it could be argued that the user requested it 
> so it is ok.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xmlbeans.apache.org
For additional commands, e-mail: dev-h...@xmlbeans.apache.org

Reply via email to