summaryrefslogtreecommitdiff
path: root/xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java
diff options
context:
space:
mode:
Diffstat (limited to 'xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java')
-rw-r--r--xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java b/xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java
index 4ece939ffac0..e54a93394242 100644
--- a/xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java
+++ b/xml/xml-psi-impl/src/com/intellij/xml/HtmlXmlExtension.java
@@ -3,6 +3,7 @@ package com.intellij.xml;
import com.intellij.ide.highlighter.HtmlFileType;
import com.intellij.psi.PsiFile;
import com.intellij.psi.xml.XmlDocument;
+import com.intellij.xml.util.HtmlUtil;
import org.jetbrains.annotations.Nullable;
/**
@@ -19,6 +20,16 @@ public class HtmlXmlExtension extends DefaultXmlExtension {
@Nullable
@Override
public String[][] getNamespacesFromDocument(XmlDocument parent, boolean declarationsExist) {
- return super.getNamespacesFromDocument(parent, false);
+ String[][] namespaces = super.getNamespacesFromDocument(parent, false);
+ if (namespaces == null || !HtmlUtil.isHtml5Document(parent)) return namespaces;
+
+ for (String[] namespace : namespaces) {
+ if ("xlink".equals(namespace[0])) return namespaces;
+ }
+
+ String[][] newNamespaces = new String[namespaces.length + 1][2];
+ System.arraycopy(namespaces, 0, newNamespaces, 0, namespaces.length);
+ newNamespaces[namespaces.length] = new String[] {"xlink", "http://www.w3.org/1999/xlink"};
+ return newNamespaces;
}
}