aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/support/include_entity_resolver.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/support/include_entity_resolver.cc b/src/support/include_entity_resolver.cc
index b9e20f9..deac1d5 100644
--- a/src/support/include_entity_resolver.cc
+++ b/src/support/include_entity_resolver.cc
@@ -40,11 +40,17 @@ namespace InputXSLT {
boost::filesystem::path IncludeEntityResolver::getPathFromSystemId(
const XMLCh* const systemId) {
- return boost::filesystem::path(
+ const std::string rawPath(
*XercesStringGuard<char>(
shiftSystemIdPastPrefix(systemId)
)
);
+
+ if ( auto extractedPath = extractFilePath(rawPath) ) {
+ return *extractedPath;
+ } else {
+ return boost::filesystem::path(rawPath);
+ }
}
IncludeEntityResolver::IncludeEntityResolver(