This is more an enhancement request than a bug report, please treat it accordingly.
As a client of XML::LibXML, I would like to be able to store and retrieve the parsed (binary) DOM, such that the time to parse can be saved.
In a little more detail: in my application, I am dealing with many and partially quite big (~ 5 MB) XML files, which altogether take noticeable time to parse. I'd like to apply a caching mechanism, which would parse these files only once, note their path/size/timestamp, and only parse again if the time/size stat() information changed. Currently this does not work well, since the XML::LibXML::* objects are merely pointers to the libxml2 data structure, which cannot be stored e.g. using Storable. I was hoping that someone would be able to pick this up, and provide two methods in XML::LibXML:
a) a method to dump the binary libxml2 DOM into a string, which could be saved to a file
b) a method that would read such a string and store it as a valid libxml2 DOM in memory (i.e., the given object).
This would allow to apply the FREEZE/THAW methods of Storable.
Many thanks and best regards,
Marek