rakhimov / scram

Probabilistic Risk Analysis Tool (fault tree analysis, event tree analysis, etc.)
https://scram-pra.org
GNU General Public License v3.0
133 stars 54 forks source link

Replace libxml++ w/ libxml2 #218

Closed rakhimov closed 7 years ago

rakhimov commented 7 years ago

XML parser facilities are only needed to process MEF and config files. SCRAM does not need all the bells & whistles provided by libxml++. It should be possible to replace libxml++ with a custom minimal adapter around libxml2, providing only the needed functionality. This would free SCRAM from libxml++ and its dependencies (glib, glibmm, libsigc++).

Moreover, the performance should improve slightly if the custom wrapper does not manage wrapper node databases and XML modification as libxml++ does.

The codebase needs to be updated for the new libxml++3 API anyway, so this is a good excuse for creating the custom adaptor and dropping libxml++.

Required features:

rakhimov commented 7 years ago

libxml++ is fully replaced by libxml2 custom wrapper, but error message construction is not handled. This is delegated to #219 .