Replace libxml++ w/ libxml2
rakhimov opened this issue · 1 comments
rakhimov commented
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:
- DOM parser & read-only document (from file & stream)
- XInclude processing (automatic w/ libxml2)
- RelaxNG validator
- Element nodes only (w/ attribute & text values)