Author: scabanovich
Date: 2010-09-03 10:48:25 -0400 (Fri, 03 Sep 2010)
New Revision: 24698
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.xml/src/org/jboss/tools/cdi/xml/beans/model/CDINamespaces.java
Log:
https://jira.jboss.org/browse/JBIDE-6983
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.xml/src/org/jboss/tools/cdi/xml/beans/model/CDINamespaces.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.xml/src/org/jboss/tools/cdi/xml/beans/model/CDINamespaces.java 2010-09-03
14:39:24 UTC (rev 24697)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.xml/src/org/jboss/tools/cdi/xml/beans/model/CDINamespaces.java 2010-09-03
14:48:25 UTC (rev 24698)
@@ -101,12 +101,20 @@
if(namespaceMapping == null) namespaceMapping = new NamespaceMapping();
StringBuffer loc = new StringBuffer();
loc.append(object.getAttributeValue("xsi:schemaLocation")); //$NON-NLS-1$
+
+ doValidateNamespaces(object, element, namespaceMapping, loc);
+
+ object.setAttributeValue("xsi:schemaLocation", loc.toString());
//$NON-NLS-1$
+ }
+
+ void doValidateNamespaces(XModelObject object, Element element, NamespaceMapping
namespaceMapping, StringBuffer loc) {
XModelObject[] cs = object.getChildren();
Set<String> ns = new HashSet<String>();
for (int i = 0; i < cs.length; i++) {
String n = null;
if(cs[i].getModelEntity().getName().equals(XModelObjectLoaderUtil.ENT_ANY_ELEMENT)) {
n = cs[i].getAttributeValue("tag");
+ doValidateNamespaces(cs[i], element, namespaceMapping, loc);
} else {
n = cs[i].getModelEntity().getXMLSubPath();
}
@@ -124,12 +132,11 @@
if(actualNamespace == null) actualNamespace = defaultNamespace;
element.setAttribute(XMLNS_PREFIX + actualNamespace, uri);
String schema = getSchema(defaultNamespace);
- if(loc.indexOf(uri) < 0) {
+ if(loc.indexOf(uri) < 0 && schema != null) {
loc.append(' ').append(uri).append(' ').append(schema);
}
}
- object.setAttributeValue("xsi:schemaLocation", loc.toString());
//$NON-NLS-1$
}
}