apply equalToParent dom namespace check heuristic only to non-qualified tags

This commit is contained in:
peter
2011-07-12 13:20:37 +02:00
parent 05eb3a7a1c
commit d6b7a7b8d4
4 changed files with 9 additions and 5 deletions
@@ -180,7 +180,8 @@ public class DomImplUtil {
public static boolean isNameSuitable(final EvaluatedXmlName evaluatedXmlName, final String localName, final String qName, final String namespace,
final XmlFile file) {
final String localName1 = evaluatedXmlName.getXmlName().getLocalName();
return (localName1.equals(localName) || localName1.equals(qName)) && evaluatedXmlName.isNamespaceAllowed(namespace, file);
return (localName1.equals(localName) || localName1.equals(qName)) && evaluatedXmlName.isNamespaceAllowed(namespace, file,
!localName1.equals(qName));
}
@NotNull
@@ -48,7 +48,7 @@ public class DummyEvaluatedXmlName implements EvaluatedXmlName {
return EvaluatedXmlNameImpl.createEvaluatedXmlName(name, namespaceKey, false);
}
public boolean isNamespaceAllowed(final String namespace, final XmlFile file) {
public boolean isNamespaceAllowed(final String namespace, final XmlFile file, boolean qualified) {
return namespace.equals(myNamespace);
}
@@ -29,7 +29,7 @@ public interface EvaluatedXmlName {
EvaluatedXmlName evaluateChildName(@NotNull XmlName name);
boolean isNamespaceAllowed(String namespace, final XmlFile file);
boolean isNamespaceAllowed(String namespace, final XmlFile file, boolean qualified);
@NotNull @NonNls
String getNamespace(@NotNull XmlElement parentElement, final XmlFile file);
@@ -128,8 +128,11 @@ public class EvaluatedXmlNameImpl implements EvaluatedXmlName {
}
public final boolean isNamespaceAllowed(String namespace, final XmlFile file) {
return myNamespaceKey == null || myEqualToParent || isNamespaceAllowed(namespace, getNamespaceList(file));
public final boolean isNamespaceAllowed(String namespace, final XmlFile file, boolean qualified) {
if (myEqualToParent && qualified) {
System.out.println();
}
return myNamespaceKey == null || myEqualToParent && !qualified || isNamespaceAllowed(namespace, getNamespaceList(file));
}
@NotNull @NonNls