diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java b/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java index 90933cc..e22410a 100644 --- a/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java +++ b/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java @@ -333,8 +333,16 @@ public SVGElement getElement(URI path, boolean loadIfAbsent) { try { + String schemeSpecific = path.getSchemeSpecificPart(); + if (schemeSpecific.startsWith("file:///")) + { + //Work around for URIs of resources obtained by Class.getResource() + schemeSpecific = "file:/" + schemeSpecific.substring(8); + } + + //Strip fragment from URI - URI xmlBase = new URI(path.getScheme(), path.getSchemeSpecificPart(), null); + URI xmlBase = new URI(path.getScheme(), schemeSpecific, null); SVGDiagram dia = (SVGDiagram) loadedDocs.get(xmlBase); if (dia == null && loadIfAbsent)