VirtualFile (SAXParseException ex) { String publicId = ex.getPublicId(); String systemId = ex.getSystemId(); if (publicId == null) { if (systemId != null) { if (systemId.startsWith("file:/")) { VirtualFile file = VirtualFileManager.getInstance() .findFileByUrl(systemId.startsWith("file://") ? systemId : systemId.replace("file:/", "file://")); if (file != null) return file; } final String path = myXmlResourceResolver.getPathByPublicId(systemId); if (path != null) return UriUtil.findRelativeFile(path,null); final PsiFile file = myXmlResourceResolver.resolve(null, systemId); if (file != null) return file.getVirtualFile(); } return myFile.getVirtualFile(); } final String path = myXmlResourceResolver.getPathByPublicId(publicId); if (path != null) return UriUtil.findRelativeFile(path,null); return null; }