using namespace std;
ParserPool::ParserPool(bool namespaceAware, bool schemaAware)
- : m_namespaceAware(namespaceAware), m_schemaAware(schemaAware), m_lock(Mutex::create()) {}
+ : m_namespaceAware(namespaceAware), m_schemaAware(schemaAware), m_lock(Mutex::create()), m_security(new SecurityManager()) {}
ParserPool::~ParserPool()
{
m_pool.pop();
}
delete m_lock;
+ delete m_security;
}
DOMDocument* ParserPool::newDocument()
parser->setProperty(XMLUni::fgXercesSchemaExternalSchemaLocation,const_cast<XMLCh*>(temp.get()));
#endif
}
+ parser->setProperty(XMLUni::fgXercesSecurityManager, m_security);
parser->setFeature(XMLUni::fgXercesUserAdoptsDOMDocument,true);
parser->setEntityResolver(this);
parser->setErrorHandler(this);
#include <xercesc/dom/DOM.hpp>
#include <xercesc/sax/InputSource.hpp>
#include <xercesc/util/BinInputStream.hpp>
+#include <xercesc/util/SecurityManager.hpp>
#if defined (_MSC_VER)
#pragma warning( push )
bool m_namespaceAware,m_schemaAware;
std::stack<xercesc::DOMBuilder*> m_pool;
Mutex* m_lock;
+ xercesc::SecurityManager* m_security;
};
/**