Xerces-C: Migration from v2.x to v3.x?

DevSolar picture DevSolar · Sep 9, 2010 · Viewed 7.7k times · Source

I would like to migrate a project (legacy code which I am not quite familiar with) from Xerces-C v2.x to v3.x.

It turns out that Xerces-C v3 dropped the DOMBuilder class. The migration archive tells me this:

...a number of DOM interfaces (DOMBuilder, DOMWriter, DOMInputSource, etc.) were replaced as part of the the final DOM Level 3 specification conformance work.

That's nice. But is there any guide on how to migrate code that relies on these classes to the new API?

Answer

linuxbuild picture linuxbuild · Jan 28, 2011

Replacements for removed APIs:

  • Use XercesDOMParser or DOMLSParser instead of DOMBuilder (more info):

    xercesDOMParser->setCreateCommentNodes(true);

  • Use DOMLSSerializer instead of DOMWriter:

    DOMLSSerializer* writer = ((DOMImplementationLS*)impl)->createLSSerializer(); DOMConfiguration* dc = writer->getDomConfig(); dc->setParameter(XMLUni::fgDOMErrorHandler,errorHandler); dc->setParameter(XMLUni::fgDOMWRTDiscardDefaultContent,true);

  • Use DOMLSInput instead of DOMInputSource.

See also: