Ovanes Markarian wrote:
David,how big is the chance that FormatterToXML gets a new member variable: XalanDOMChar m_indentChar; which is default initialized with XalanUnicode::charSpace and a public member function: void setIndentChar(XalanDOMChar ch); This way the printSpace member function would call accumContent(m_indentChar) instead of accumContent(XalanUnicode::charSpace): void FormatterToXML::printSpace(int n) { for (int i = 0; i < n; i ++) { accumContent(m_indentChar); } } I think this change is minimal to the lib, but can bring some performance and size benefits. I can post later what was the size change
By "performance and size benefits," I'm going to assume you mean in your particular case. Your's is the first request that I can remember for writing tabs instead of space characters when doing "pretty-printing."
If you're really interested in improved performance and reduced size, I suggest you forgo pretty-printing altogether. If you do that, then you can get much better performance using the XalanXMLSerializerFactory factory to create your FormatterListener. You'll then get a compile-time optimized FormatterListener that has no overhead at all for pretty-printing.
Dave
