From 8ad91c8c86477981d8e4eb50261bd5cf0408f594 Mon Sep 17 00:00:00 2001 From: Maxim Mossienko Date: Wed, 19 Jan 2005 13:54:58 +0300 Subject: [PATCH] jspx documentation --- .../xml/impl/schema/AnyXmlElementDescriptor.java | 2 +- .../util/documentation/XmlDocumentationProvider.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/source/com/intellij/xml/impl/schema/AnyXmlElementDescriptor.java b/source/com/intellij/xml/impl/schema/AnyXmlElementDescriptor.java index 0668eb5ce856..cbab6491a493 100644 --- a/source/com/intellij/xml/impl/schema/AnyXmlElementDescriptor.java +++ b/source/com/intellij/xml/impl/schema/AnyXmlElementDescriptor.java @@ -67,7 +67,7 @@ public class AnyXmlElementDescriptor implements XmlElementDescriptor { } public XmlElementDescriptor getElementDescriptor(XmlTag tag){ - return myParentDescriptor.getElementDescriptor(tag); + return myParentDescriptor!=null ? myParentDescriptor.getElementDescriptor(tag):null; } public XmlAttributeDescriptor[] getAttributesDescriptors() { diff --git a/source/com/intellij/xml/util/documentation/XmlDocumentationProvider.java b/source/com/intellij/xml/util/documentation/XmlDocumentationProvider.java index 0468be232c1f..9bc6c4e53514 100644 --- a/source/com/intellij/xml/util/documentation/XmlDocumentationProvider.java +++ b/source/com/intellij/xml/util/documentation/XmlDocumentationProvider.java @@ -7,6 +7,7 @@ import com.intellij.xml.util.XmlUtil; import com.intellij.xml.impl.schema.XmlElementDescriptorImpl; import com.intellij.xml.impl.schema.TypeDescriptor; import com.intellij.xml.impl.schema.ComplexTypeDescriptor; +import com.intellij.xml.impl.schema.AnyXmlElementDescriptor; import com.intellij.openapi.util.Key; import com.intellij.psi.PsiElement; import com.intellij.psi.search.PsiElementProcessor; @@ -102,10 +103,13 @@ public class XmlDocumentationProvider implements JavaDocManager.DocumentationPro try { String tagText = object.toString(); - String namespace = xmlTag.getNamespace(); + String namespacePrefix = XmlUtil.findPrefixByQualifiedName(tagText); + String namespace = xmlTag.getNamespaceByPrefix(namespacePrefix); if (namespace!=null && namespace.length() > 0) { - tagText+=" xmlns=\""+namespace+"\""; + tagText+=" xmlns"; + if (namespacePrefix.length() > 0) tagText += ":" + namespacePrefix; + tagText +="=\""+namespace+"\""; } tagText = "<" + tagText +"/>"; @@ -120,6 +124,10 @@ public class XmlDocumentationProvider implements JavaDocManager.DocumentationPro } } + if (elementDescriptor instanceof AnyXmlElementDescriptor) { + elementDescriptor = tagFromText.getDescriptor(); + } + if (elementDescriptor!=null) { PsiElement declaration = elementDescriptor.getDeclaration(); declaration.putUserData(DESCRIPTOR_KEY,elementDescriptor);