[ 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