I think that was the first line in the example: > pRow->setAttribute(L"description", L"\tThe value of PI");
-----Original Message----- From: Alberto Massari [mailto:[email protected]] Sent: Wednesday, April 07, 2010 1:10 AM To: [email protected] Subject: Re: Xerces CPP does not replace tab character in attribute value with hexadecimal char reference If you invoke pRow1->setAttribute(L"description", L"	The vale of PI"); what you are writing is the literal "	", not a tab character. Have you tried writing the same content as in the Java version, pRow1->setAttribute(L"description", L"test tab \t, and \x09 as	 value" ); Alberto On 4/6/2010 11:20 PM, ritesh.dhope wrote: > I have a sample xerces writer code to create an attribute with tab character > in value. When I write the xml file out, the tab character is preserved and > written as literal tab. I want to convert this tab character to its > hexadecimal char reference (	) so that this tab character can be parsed > back. I tried the same code using Xerces-J and it is replacing the tab > character with hexadecimal char reference. > > Here is the code snippets. > ------------------- > C++ > ------------------- > XMLPlatformUtils::Initialize(); > > DOMImplementation * pDOMImplementation = NULL; > > pDOMImplementation = > DOMImplementationRegistry::getDOMImplementation(XMLString::transcode("core")); > > DOMDocument * pDOMDocument = NULL; > > > pDOMDocument = pDOMImplementation->createDocument(0, L"Hello_World", 0); > > > > DOMElement * pRootElement = NULL; > pRootElement = pDOMDocument->getDocumentElement(); > > > > DOMElement * pRow = NULL; > > > pRow = pDOMDocument->createElement(L"row"); > pRow->setAttribute(L"description", L"\tThe value of PI"); > pRootElement->appendChild(pRow); > > DOMElement * pRow1 = NULL; > pRow1 = pDOMDocument->createElement(L"row"); > pRow1->setAttribute(L"description", L"	The vale of PI"); > pRootElement->appendChild(pRow1); > > DOMElement * pRow2 = NULL; > > > pRow2 = pDOMDocument->createElement(L"row"); > pRow2->setAttribute(L"description", L"\nThe value of PI"); > pRootElement->appendChild(pRow2); > > DOMWriter *pwriter = pDOMImplementation->createDOMWriter(); > XMLFormatTarget *pTarget = new > LocalFileFormatTarget("f:\\june1\\june.xml"); > > > pwriter->writeNode(pTarget, *pDOMDocument); > ------------------------------------------------------------------------- > > ------------------ > Java > ------------------ > Document zTest = > DocumentBuilderFactoryImpl.newInstance().newDocumentBuilder().newDocument(); > Element base = zTest.createElement( "Base" ); > base.setAttribute( "test", "test tab \t, and \u0009 > as	 > value" ); > zTest.appendChild( base ); > > Serializer z = new XMLSerializer(); > > z.setOutputByteStream( System.out ); > z.asDOMSerializer().serialize( zTest ); > ---------------------------------------------------------------------- >
