Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 697
DevSolar Avatar asked Sep 09 '10 16:09

DevSolar


1 Answers

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:

  • "Xerces-C++ API Reference 3.1.1"
  • "Xerces-C++ API Reference 2.8.0"
like image 142
linuxbuild Avatar answered Oct 02 '22 22:10

linuxbuild