[490769] XML Schema validation shows incorrect location for error
diff --git a/xml/bundles/org.eclipse.wst.xsd.core/META-INF/MANIFEST.MF b/xml/bundles/org.eclipse.wst.xsd.core/META-INF/MANIFEST.MF
index 87167de..be4c8ae 100644
--- a/xml/bundles/org.eclipse.wst.xsd.core/META-INF/MANIFEST.MF
+++ b/xml/bundles/org.eclipse.wst.xsd.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_UI_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.xsd.core; singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.2.100.qualifier
 Bundle-Activator: org.eclipse.wst.xsd.core.internal.XSDCorePlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: plugin
diff --git a/xml/bundles/org.eclipse.wst.xsd.core/pom.xml b/xml/bundles/org.eclipse.wst.xsd.core/pom.xml
index 376fe88..931eeaf 100644
--- a/xml/bundles/org.eclipse.wst.xsd.core/pom.xml
+++ b/xml/bundles/org.eclipse.wst.xsd.core/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.sourceediting</groupId>
   <artifactId>org.eclipse.wst.xsd.core</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.2.100-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/xml/bundles/org.eclipse.wst.xsd.core/src-validation/org/eclipse/wst/xsd/core/internal/validation/eclipse/XSDMessageInfoHelper.java b/xml/bundles/org.eclipse.wst.xsd.core/src-validation/org/eclipse/wst/xsd/core/internal/validation/eclipse/XSDMessageInfoHelper.java
index ea4cc34..e62035e 100644
--- a/xml/bundles/org.eclipse.wst.xsd.core/src-validation/org/eclipse/wst/xsd/core/internal/validation/eclipse/XSDMessageInfoHelper.java
+++ b/xml/bundles/org.eclipse.wst.xsd.core/src-validation/org/eclipse/wst/xsd/core/internal/validation/eclipse/XSDMessageInfoHelper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
+ * Copyright (c) 2001, 2020 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     Nikolay Metchev <nikolaymetchev@gmail.com> - 490769: XML Schema validation shows incorrect location for error
  *******************************************************************************/
 package org.eclipse.wst.xsd.core.internal.validation.eclipse;
 
@@ -25,12 +26,12 @@
   public String[] createMessageInfo(String errorKey, String errorMessage)
   { 
     //Now map the error key to what we would want to underline:
-    String nameOrValue = "";
-    String selectionStrategy = "";
+    String nameOrValue = ""; //$NON-NLS-1$
+    String selectionStrategy = ""; //$NON-NLS-1$
     if(errorKey != null)
     {
-      if (errorKey.equals("s4s-elt-invalid-content.1") || errorKey.equals("s4s-elt-must-match.1") || 
-    		  errorKey.equals("s4s-att-must-appear") || errorKey.equals("s4s-elt-invalid-content.2"))  //$NON-NLS-1$  //$NON-NLS-2$  //$NON-NLS-3$  //$NON-NLS-4$
+      if (errorKey.equals("s4s-elt-invalid-content.1") || errorKey.equals("s4s-elt-must-match.1") ||   //$NON-NLS-1$//$NON-NLS-2$
+          errorKey.equals("s4s-att-must-appear") || errorKey.equals("s4s-elt-invalid-content.2"))  //$NON-NLS-1$  //$NON-NLS-2$
       { 
     	selectionStrategy = "START_TAG"; //$NON-NLS-1$
       }
@@ -46,15 +47,23 @@
       }
       else if (errorKey.equals("s4s-elt-character")) //$NON-NLS-1$
       { 
-    	selectionStrategy = "TEXT"; //$NON-NLS-1$
+        selectionStrategy = "TEXT"; //$NON-NLS-1$
       }
       else if (errorKey.equals("src-resolve.4.2") || errorKey.equals("src-resolve"))  //$NON-NLS-1$  //$NON-NLS-2$
       { 
-    	selectionStrategy = "VALUE_OF_ATTRIBUTE_WITH_GIVEN_VALUE"; //$NON-NLS-1$
-        nameOrValue = getFirstStringBetweenSingleQuotes(errorMessage);
+        if (errorMessage.endsWith("to a(n) 'type definition' component.")) //$NON-NLS-1$
+        {
+          selectionStrategy = "ATTRIBUTE_VALUE"; //$NON-NLS-1$
+          nameOrValue = "type"; //$NON-NLS-1$
+        }
+        else
+        {
+          selectionStrategy = "VALUE_OF_ATTRIBUTE_WITH_GIVEN_VALUE"; //$NON-NLS-1$
+          nameOrValue = getFirstStringBetweenSingleQuotes(errorMessage);
+        }
       }
-      else if (errorKey.equals("EqRequiredInAttribute") || errorKey.equals("OpenQuoteExpected") || 
-    		  errorKey.equals("LessthanInAttValue")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+      else if (errorKey.equals("EqRequiredInAttribute") || errorKey.equals("OpenQuoteExpected") ||  //$NON-NLS-1$ //$NON-NLS-2$
+               errorKey.equals("LessthanInAttValue")) //$NON-NLS-1$
       {
       	selectionStrategy = "ATTRIBUTE_NAME"; //$NON-NLS-1$
         nameOrValue = getFirstStringBetweenQuotes(errorMessage);