void DataDictionary::readFromStream( std::istream& stream ) throw( ConfigError ) { #ifdef HAVE_LIBXML DOMDocumentPtr pDoc = DOMDocumentPtr(new LIBXML_DOMDocument()); #elif _MSC_VER DOMDocumentPtr pDoc = DOMDocumentPtr(new MSXML_DOMDocument()); #else DOMDocumentPtr pDoc = DOMDocumentPtr(new LIBXML_DOMDocument()); #endif if(!pDoc->load(stream)) throw ConfigError("Could not parse data dictionary stream"); readFromDocument( pDoc ); }
void DataDictionary::readFromURL( const std::string& url ) throw( ConfigError ) { #ifdef HAVE_LIBXML DOMDocumentPtr pDoc = DOMDocumentPtr(new LIBXML_DOMDocument()); #elif _MSC_VER DOMDocumentPtr pDoc = DOMDocumentPtr(new MSXML_DOMDocument()); #else DOMDocumentPtr pDoc = DOMDocumentPtr(new LIBXML_DOMDocument()); #endif if(!pDoc->load(url)) throw ConfigError(url + ": Could not parse data dictionary file"); try { readFromDocument( pDoc ); } catch( ConfigError& e ) { throw ConfigError( url + ": " + e.what() ); } }