summaryrefslogtreecommitdiff
path: root/cpp/src/XMLTransform/XMLTransform.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2003-01-09 23:58:55 +0000
committerBenoit Foucher <benoit@zeroc.com>2003-01-09 23:58:55 +0000
commitffd4da24e61917f21c5ba0b1112e8954c6e5bfeb (patch)
tree5e16fa550467277cf308f3e1e196352694945519 /cpp/src/XMLTransform/XMLTransform.cpp
parentfixes (diff)
downloadice-ffd4da24e61917f21c5ba0b1112e8954c6e5bfeb.tar.bz2
ice-ffd4da24e61917f21c5ba0b1112e8954c6e5bfeb.tar.xz
ice-ffd4da24e61917f21c5ba0b1112e8954c6e5bfeb.zip
Fix to display correct error message if imported file isn't found.
Diffstat (limited to 'cpp/src/XMLTransform/XMLTransform.cpp')
-rw-r--r--cpp/src/XMLTransform/XMLTransform.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/cpp/src/XMLTransform/XMLTransform.cpp b/cpp/src/XMLTransform/XMLTransform.cpp
index 9997baed84c..bf6bf03ef3e 100644
--- a/cpp/src/XMLTransform/XMLTransform.cpp
+++ b/cpp/src/XMLTransform/XMLTransform.cpp
@@ -1758,27 +1758,29 @@ XMLTransform::TransformFactory::import(DocumentMap& documents, set<string>& impo
//
string file = findFile(loc, paths);
- ArrayJanitor<XMLCh> s(XMLString::transcode(file.c_str()));
- LocalFileInputSource source(s.get());
-
- string systemId = toString(source.getSystemId());
-
- if(importedFiles.find(systemId) != importedFiles.end())
- {
- //
- // Already imported, nothing to do.
- //
- return;
- }
-
DOMTreeErrorReporter errorReporter;
XercesDOMParser parser;
parser.setValidationScheme(AbstractDOMParser::Val_Never);
parser.setDoNamespaces(true);
parser.setErrorHandler(&errorReporter);
+ string systemId;
+
try
{
+ ArrayJanitor<XMLCh> s(XMLString::transcode(file.c_str()));
+ LocalFileInputSource source(s.get());
+
+ systemId = toString(source.getSystemId());
+
+ if(importedFiles.find(systemId) != importedFiles.end())
+ {
+ //
+ // Already imported, nothing to do.
+ //
+ return;
+ }
+
parser.parse(source);
}
catch(const XMLException& ex)