I tried writing \t as well as &#x09. \t gets written as literal tab whereas
	 gets written as 	 replacing the & value. 

What I need finally is 	 written out to xml file. Alternatively, Is
there any way to escape & in the value of 	 getting replaced to &

- Ritesh
--------------------------------------------------------------

John Lilley wrote:
> 
> 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 );
>> ----------------------------------------------------------------------
>>    
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Xerces-CPP-does-not-replace-tab-character-in-attribute-value-with-hexadecimal-char-reference-tp28157670p28165406.html
Sent from the Xerces - C - Users mailing list archive at Nabble.com.

Reply via email to