Protect XercesDOMParser with a mutex
and replace a few std::string with const std::string&
from https://xerces.apache.org/xerces-c/faq-parse-3.html#faq-6:
Within an address space, an instance of the parser may be used without
restriction from a single thread, or an instance of the parser can be
accessed from multiple threads, provided the application guarantees that
only one thread has entered a method of the parser at any one time.
so I've added a mutex + locking to insure the above