PsiReference (PsiElement element, String s) { PsiElement parent = element.getParent(); if (XmlUtil.isUrlText(s, element.getProject()) || (parent instanceof XmlAttribute && ( ((XmlAttribute)parent).isNamespaceDeclaration() || NAMESPACE_ATTR_NAME.equals(((XmlAttribute)parent).getName()) ) ) ) { if (!s.startsWith(XmlUtil.TAG_DIR_NS_PREFIX)) { boolean namespaceSoftRef = parent instanceof XmlAttribute && NAMESPACE_ATTR_NAME.equals(((XmlAttribute)parent).getName()) && ((XmlAttribute)parent).getParent().getAttributeValue(XmlUtil.SCHEMA_LOCATION_ATT) != null; if (!namespaceSoftRef && parent instanceof XmlAttribute && ((XmlAttribute)parent).isNamespaceDeclaration()) { namespaceSoftRef = parent.getContainingFile().getContext() != null; } return new URLReference(element, null, namespaceSoftRef); } } return null; }