### Eclipse Workspace Patch 1.0
#P org.jboss.tools.common
Index: src/org/jboss/tools/common/xml/XMLUtilities.java
===================================================================
--- src/org/jboss/tools/common/xml/XMLUtilities.java	(revision 39150)
+++ src/org/jboss/tools/common/xml/XMLUtilities.java	(working copy)
@@ -155,7 +155,8 @@
     public static EntityResolver createEmptyEntityResolver() {
 		return new EntityResolver() {
 			public InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId) throws SAXException, java.io.IOException {
-				if((systemId != null) && systemId.toLowerCase().endsWith(".dtd")) { // this deactivates DTD //$NON-NLS-1$
+				if((systemId != null) && 
+						(systemId.toLowerCase().endsWith(".dtd") || systemId.toLowerCase().endsWith(".ent"))) { // this deactivates DTD //$NON-NLS-1$ //$NON-NLS-2$
 					return new InputSource(new ByteArrayInputStream("<?xml version='1.0' encoding='UTF-8'?>".getBytes())); //$NON-NLS-1$
 				} else {
 					return null;
Index: src/org/jboss/tools/common/xml/XMLEntityResolver.java
===================================================================
--- src/org/jboss/tools/common/xml/XMLEntityResolver.java	(revision 39150)
+++ src/org/jboss/tools/common/xml/XMLEntityResolver.java	(working copy)
@@ -10,6 +10,7 @@
 import java.util.Properties;
 
 import org.eclipse.core.runtime.FileLocator;
+import org.jboss.tools.common.CommonPlugin;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -96,10 +97,15 @@
 			}
         }
 
-		if(deactivate && (systemId != null) && (source == null) && (systemId.toLowerCase().endsWith(".dtd"))) { // this deactivates DTD //$NON-NLS-1$
+		if(deactivate && (systemId != null) && (source == null) 
+				// this deactivates DTD for .dtd and .ent resources
+				&& (systemId.toLowerCase().endsWith(".dtd") || systemId.toLowerCase().endsWith(".ent"))) { //$NON-NLS-1$ //$NON-NLS-2$
 			source = new InputSource(new ByteArrayInputStream("<?xml version='1.0' encoding='UTF-8'?>".getBytes())); //$NON-NLS-1$
 		}
-
+		if(source == null) {
+			CommonPlugin.getDefault().logError("WARNING: Cannot resolve entity " + systemId); //$NON-NLS-1$
+		}
+		// TODO study if we can always return non-null value. 
         return source;
     }
 
#P org.jboss.tools.common.model
Index: src/org/jboss/tools/common/model/filesystems/impl/AbstractXMLFileImpl.java
===================================================================
--- src/org/jboss/tools/common/model/filesystems/impl/AbstractXMLFileImpl.java	(revision 39150)
+++ src/org/jboss/tools/common/model/filesystems/impl/AbstractXMLFileImpl.java	(working copy)
@@ -13,7 +13,6 @@
 import java.text.MessageFormat;
 import java.util.*;
 import org.jboss.tools.common.model.markers.ResourceMarkers;
-import org.jboss.tools.common.model.plugin.ModelPlugin;
 import org.jboss.tools.common.model.XModelObjectConstants;
 import org.jboss.tools.common.model.XModelObject;
 import org.jboss.tools.common.model.filesystems.impl.RecognizedFileImpl;
@@ -54,7 +53,12 @@
 	}
 
 	protected final void setErrors(String body, boolean checkDTD, boolean checkSchema) {
-		String[] errors = (body.length() == 0) ? null : XMLUtil.getXMLErrors(new java.io.StringReader(body), checkDTD, checkSchema);
+		String[] errors = (body.length() == 0) ? null 
+				//do not compute errors for unrecognized files.
+			: "FileXML".equals(getModelEntity().getName()) ? null //$NON-NLS-1$
+				//do not compute errors for files in jars
+			: (getParent() instanceof JarFolderImpl) ? null 
+			: XMLUtil.getXMLErrors(new java.io.StringReader(body), checkDTD, checkSchema);
 		if(errors == null || errors.length == 0) {
 			if(loaderError != null) errors = new String[]{loaderError};
 		}
@@ -85,7 +89,7 @@
 //				        but use similar format to mention io exception.  
 //				ModelPlugin.getPluginLog().logError(e);
 			}
-			String ep = MessageFormat.format("ERROR: {0} {1}", FindObjectHelper.makeRef(getPath() + ":" + ln1, ln + ":" + pos), er); //$NON-NLS-2$ //$NON-NLS-3$
+			String ep = MessageFormat.format("ERROR: {0} {1}", FindObjectHelper.makeRef(getPath() + ":" + ln1, ln + ":" + pos), er);  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			if(iln < 0) markers.lines.remove(ep);
 			else markers.lines.put(ep, Integer.valueOf(iln));
 			sb.append(ep).append('\n');
Index: src/org/jboss/tools/common/model/filesystems/impl/FileXMLImpl.java
===================================================================
--- src/org/jboss/tools/common/model/filesystems/impl/FileXMLImpl.java	(revision 39150)
+++ src/org/jboss/tools/common/model/filesystems/impl/FileXMLImpl.java	(working copy)
@@ -31,7 +31,8 @@
 		if(name.equals("_hasErrors_")) { //$NON-NLS-1$
 			return super.get(XModelObjectConstants.ATTR_NAME_IS_INCORRECT);
 		}
-		if(!markersReset && isActive()) {
+		if(!markersReset && isActive()
+				&& !"NAME".equals(name) && !"EXTENSION".equals(name) && !"overlapped".equals(name)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			updateMarkers(super.get(XModelObjectConstants.ATTR_NAME_BODY));
 		}
 		return super.get(name);
