String (Project project) { if (myProvider != null) { String remoteSource = myProvider.getRemoteSource(); if (remoteSource != null) { return remoteSource; } VirtualFile schemaFile = myProvider.getSchemaFile(); if (schemaFile == null) return ""; if (schemaFile instanceof HttpVirtualFile) { return schemaFile.getUrl(); } if (schemaFile.getFileSystem() instanceof JarFileSystem) { return schemaFile.getUrl(); } return getRelativePath(project, schemaFile.getPath()); } else { assert myUrl != null; return myUrl; } }