[
https://issues.apache.org/jira/browse/XERCESC-2025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16081416#comment-16081416
]
Scott Cantor commented on XERCESC-2025:
---------------------------------------
The source of the problem isn't the code in the bug report, but the extra
printNewline() calls in each of the Element, Comment, and PI branches of the
processNode method.
The problem is that it would take a redesign to fix it because the
Element/Comment/PI doesn't know what came before it. They might need to print
the LF, and they might not. Fixing it trivially doesn't help, it just moves the
bug to other combinations of content.
> Empty line generated when fgDOMXMLDeclaration is disabled
> ---------------------------------------------------------
>
> Key: XERCESC-2025
> URL: https://issues.apache.org/jira/browse/XERCESC-2025
> Project: Xerces-C++
> Issue Type: Bug
> Components: DOM
> Affects Versions: 3.0.0, 3.0.1, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4
> Reporter: Jose M. Sanchez
> Priority: Minor
> Labels: DOMLSSerializer, empty, line
>
> The DOMLSSerializer implementation is generating a leading empty line
> in case that the generation of the XML Declaration is disabled.
> The source code looks like this:
> https://svn.apache.org/repos/asf/xerces/c/trunk/src/xercesc/dom/impl/DOMLSSerializerImpl.cpp
> if (getFeature(XML_DECLARATION)) {
> // use the version and encoding resolved
> *fFormatter << gXMLDecl_VersionInfo << fDocumentVersion <<
> gXMLDecl_separator;
> *fFormatter << gXMLDecl_EncodingDecl << fEncodingUsed <<
> gXMLDecl_separator;
> const XMLCh* st = (docu->getXmlStandalone())?
> XMLUni::fgYesString : XMLUni::fgNoString;
> *fFormatter << gXMLDecl_SDDecl << st << gXMLDecl_separator;
> *fFormatter << gXMLDecl_endtag;
> }
> DOMNodeSPtr child = nodeToWrite->getFirstChild();
> while( child != 0)
> {
> processNode(child, level);
> child = child->getNextSibling();
> }
> printNewLine();
> The printNewLine() method is called even if no XML declaration was written,
> thus generating a leading empty line.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]