This commit was manufactured by cvs2svn to create tag 'R1_5_3'.
diff --git a/features/org.eclipse.wst.web_tests.feature/feature.xml b/features/org.eclipse.wst.web_tests.feature/feature.xml
index 8ce37b9..2b04e3a 100644
--- a/features/org.eclipse.wst.web_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.web_tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.web_tests.feature"
       label="%featureName"
-      version="1.5.0.qualifier"
+      version="1.5.3.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.xml_tests.feature/feature.xml b/features/org.eclipse.wst.xml_tests.feature/feature.xml
index ba94a9a..7eee87e 100644
--- a/features/org.eclipse.wst.xml_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.xml_tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.xml_tests.feature"
       label="%featureName"
-      version="1.5.0.qualifier"
+      version="1.5.3.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
index 67ce0e5..95be1ed 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsp.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.1.qualifier
 Bundle-ClassPath: jspcoretests.jar
 Bundle-Activator: org.eclipse.jst.jsp.core.tests.JSPCoreTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
@@ -17,6 +17,7 @@
 Require-Bundle: org.junit,
  org.eclipse.wst.html.core,
  org.eclipse.wst.xml.core,
+ org.eclipse.wst.sse.ui,
  org.eclipse.wst.sse.core,
  org.eclipse.core.resources,
  org.eclipse.core.runtime,
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
index 98c2b0b..18e9eaf 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/JSPCoreTestSuite.java
@@ -16,6 +16,7 @@
 import org.eclipse.jst.jsp.core.tests.cleanupformat.FormatTester;
 import org.eclipse.jst.jsp.core.tests.contenttypeidentifier.contentspecific.TestContentTypeHandlers;
 import org.eclipse.jst.jsp.core.tests.contenttypeidentifier.contentspecific.TestModelHandlers;
+import org.eclipse.jst.jsp.core.tests.dom.TestImportedNodes;
 import org.eclipse.jst.jsp.core.tests.model.TestModelIncludes;
 import org.eclipse.jst.jsp.core.tests.model.TestModelRelease;
 import org.eclipse.jst.jsp.core.tests.model.TestModelWithNoFile;
@@ -33,7 +34,7 @@
 	}
 
 	public JSPCoreTestSuite() {
-		super("SSEModelTestSuiteForJSP");
+		super("SSE JSP Core Test Suite");
 
 		addTest(TestCeanupFormat.suite());
 		addTest(ModelCloneSuite.suite());
@@ -50,6 +51,7 @@
 		addTest(new TestSuite(JSPCorePreferencesTest.class));
 		addTest(new TestSuite(JSPedCSSSourceParserTest.class, "Special Parsing Tests for JSP-CSS content"));
 		addTest(new TestSuite(JSPJavaValidatorTest.class, "JSP Java Validator Tests"));
+		addTest(new TestSuite(TestImportedNodes.class, "Imported Nodes Tests"));
 
 	}
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java
new file mode 100644
index 0000000..2cd2740
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/dom/TestImportedNodes.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     
+ *******************************************************************************/
+
+package org.eclipse.jst.jsp.core.tests.dom;
+
+import junit.framework.TestCase;
+
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.w3c.dom.Node;
+
+public class TestImportedNodes extends TestCase {
+
+
+	public void testImportedComments() {
+		IDOMModel orgModel = (IDOMModel) StructuredModelManager.getModelManager().
+
+		createUnManagedStructuredModelFor("org.eclipse.jst.jsp.core.jspsource");
+		IDOMModel foreignModel = (IDOMModel) StructuredModelManager.getModelManager().
+
+		createUnManagedStructuredModelFor("org.eclipse.jst.jsp.core.jspsource");
+		foreignModel.getStructuredDocument().set("<%-- abc --%>");
+		Node child = foreignModel.getDocument().getLastChild();
+		// import comment node
+		child = orgModel.getDocument().importNode(child, true);
+		orgModel.getDocument().appendChild(child);
+		// create text node and insert it after comment node
+		child = orgModel.getDocument().createTextNode("abc");
+		orgModel.getDocument().appendChild(child);
+		String text = orgModel.getStructuredDocument().get();
+		assertEquals("document text was not expected", "<%-- abc --%>abc", text);
+	}
+
+}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
index 9b59392..c17019a 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
@@ -16,7 +16,10 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Enumeration;
+import java.util.List;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
@@ -29,6 +32,10 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jst.jsp.core.tests.JSPCoreTestsPlugin;
 
 public class BundleResourceUtil {
@@ -75,12 +82,10 @@
 				}
 			}
 			catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				e.printStackTrace(System.err);
 			}
 			catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				e.printStackTrace(System.err);
 			}
 		}
 		return file;
@@ -90,7 +95,7 @@
 		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
 			public void run(IProgressMonitor monitor) throws CoreException {
 				_copyBundleEntriesIntoWorkspace(rootEntry, fullTargetPath);
-				ResourcesPlugin.getWorkspace().checkpoint(ResourcesPlugin.getWorkspace().isAutoBuilding());
+				ResourcesPlugin.getWorkspace().checkpoint(true);
 			}
 		};
 		ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
@@ -101,7 +106,7 @@
 		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
 			public void run(IProgressMonitor monitor) throws CoreException {
 				file[0] = _copyBundleEntryIntoWorkspace(entryname, fullPath);
-				ResourcesPlugin.getWorkspace().checkpoint(ResourcesPlugin.getWorkspace().isAutoBuilding());
+				ResourcesPlugin.getWorkspace().checkpoint(true);
 			}
 		};
 		ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
@@ -139,4 +144,36 @@
 		}
 		return project;
 	}
+	public static final String JAVA_NATURE_ID = "org.eclipse.jdt.core.javanature";
+	
+	/**
+	 * Add a library entry (like a jar) to the classpath of a project.
+	 * The jar must be in your poject. You can copy the jar into your workspace using
+	 * copyBundleEntryIntoWorkspace(String entryname, String fullPath)
+	 * 
+	 * @param proj assumed it has java nature
+	 * @param pathToJar project relative, no leading slash
+	 */
+	public static void addLibraryEntry(IProject proj, String pathToJar) {
+		
+		IPath projLocation = proj.getLocation();
+		IPath absJarPath = projLocation.append(pathToJar);
+		
+		IJavaProject jProj = JavaCore.create(proj);
+		
+		IClasspathEntry strutsJarEntry = JavaCore.newLibraryEntry(absJarPath, null, null);
+		try {
+			IClasspathEntry[] currentEntries = jProj.getRawClasspath();
+			
+			List l = new ArrayList();
+			l.addAll(Arrays.asList(currentEntries));
+			l.add(strutsJarEntry);
+			
+			IClasspathEntry[] newEntries = (IClasspathEntry[])l.toArray(new IClasspathEntry[l.size()]);
+			jProj.setRawClasspath(newEntries, new NullProgressMonitor());
+		}
+		catch (JavaModelException e) {
+			e.printStackTrace();
+		}	
+	}
 }
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
index 42fb455..5d27063 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
@@ -19,7 +19,12 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.internal.core.ClasspathEntry;
 import org.eclipse.jst.jsp.core.taglib.IJarRecord;
 import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
 import org.eclipse.jst.jsp.core.taglib.IURLRecord;
@@ -219,6 +224,9 @@
 		assertEquals(uri, ((IJarRecord) taglibRecord2).getURI());
 	}
 
+	/**
+	 * test caching from session-to-session
+	 */
 	public void testCaching1() throws Exception {
 		// Create new project
 		IProject project = BundleResourceUtil.createSimpleProject("testcache1", null, null);
@@ -226,19 +234,141 @@
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testcache1", "/testcache1");
 		BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testcache1/WebContent/WEB-INF/lib/sample_tld.jar");
 
-		ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+		ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match", 5, records.length);
 
 		TaglibIndex.shutdown();
 		TaglibIndex.startup();
-		ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+		ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
 		assertEquals("total ITaglibRecord count doesn't match (1st restart)", records.length, records2.length);
 		TaglibIndex.shutdown();
 		TaglibIndex.startup();
-		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
 		assertEquals("total ITaglibRecord count doesn't match (2nd restart)", records.length, records2.length);
 		TaglibIndex.shutdown();
 		TaglibIndex.startup();
-		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1"));
+		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache1/WebContent"));
 		assertEquals("total ITaglibRecord count doesn't match (3rd restart)", records.length, records2.length);
 	}
+
+	/**
+	 * test caching from session-to-session with an addition in one session
+	 */
+	public void testCachingWithAddingLibrary() throws Exception {
+		// Create new project
+		IProject project = BundleResourceUtil.createSimpleProject("testcache2", null, null);
+		assertTrue(project.exists());
+		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testcache2", "/testcache2");
+
+		ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+		TaglibIndex.shutdown();
+
+		TaglibIndex.startup();
+		ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (1st restart)", records.length, records2.length);
+		BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testcache2/WebContent/WEB-INF/lib/sample_tld.jar");
+		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (1st restart, added jar file)", records.length + 1, records2.length);
+		TaglibIndex.shutdown();
+
+		TaglibIndex.startup();
+		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (2nd restart)", records.length + 1, records2.length);
+		BundleResourceUtil.addLibraryEntry(project, "WebContent/WEB-INF/lib/sample_tld.jar");
+		TaglibIndex.shutdown();
+
+		TaglibIndex.startup();
+		assertEquals("total ITaglibRecord count doesn't match (3nd restart)", records.length + 1, records2.length);
+		TaglibIndex.shutdown();
+
+		TaglibIndex.startup();
+		records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testcache2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match changed value (4th restart, add jar to build path)", records.length + 2, records2.length);
+	}
+
+	public void testAvailableFromExportedBuildpaths() throws Exception {
+		TaglibIndex.shutdown();
+
+		// Create project 1
+		IProject project = BundleResourceUtil.createSimpleProject("testavailable1", null, null);
+		assertTrue(project.exists());
+		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testavailable1", "/testavailable1");
+
+		// Create project 2
+		IProject project2 = BundleResourceUtil.createSimpleProject("testavailable2", null, null);
+		assertTrue(project2.exists());
+		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/testavailable2", "/testavailable2");
+		BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/bug_118251-sample/sample_tld.jar", "/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar");
+
+		TaglibIndex.startup();
+
+		// make sure project 1 sees no taglibs
+		ITaglibRecord[] records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+		assertEquals("ITaglibRecords were found", 0, records.length);
+		// make sure project 2 sees two taglibs
+		ITaglibRecord[] records2 = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+		if(records2.length != 2) {
+			for (int i = 0; i < records2.length; i++) {
+				System.err.println(records2[i]);
+			}
+		}
+		assertEquals("total ITaglibRecord count doesn't match", 2, records2.length);
+
+		TaglibIndex.shutdown();
+		TaglibIndex.startup();
+
+
+		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match after restart", 2, records.length);
+
+		IJavaProject created = JavaCore.create(project2);
+		assertTrue("/availabletest2 not a Java project", created.exists());
+
+		// export the jar from project 2
+		IClasspathEntry[] entries = created.getRawClasspath();
+		boolean found = false;
+		for (int i = 0; i < entries.length; i++) {
+			IClasspathEntry entry = entries[i];
+			if (entry.getPath().equals(new Path("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar"))) {
+				found = true;
+				assertFalse("was exported", ((ClasspathEntry) entry).isExported);
+				((ClasspathEntry) entry).isExported = true;
+			}
+		}
+		assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not found in build path", found);
+		IClasspathEntry[] entries2 = new IClasspathEntry[entries.length];
+		System.arraycopy(entries, 1, entries2, 0, entries.length - 1);
+		entries2[entries.length - 1] = entries[0];
+		created.setRawClasspath(entries2, new NullProgressMonitor());
+
+		entries = created.getRawClasspath();
+		found = false;
+		for (int i = 0; i < entries.length; i++) {
+			IClasspathEntry entry = entries[i];
+			if (entry.getPath().equals(new Path("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar"))) {
+				found = true;
+				assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not exported", ((ClasspathEntry) entry).isExported);
+			}
+		}
+		assertTrue("/testavailable2/WebContent/WEB-INF/lib/sample_tld.jar was not found in build path", found);
+
+		// project 2 should still have just two taglibs
+		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (after exporting jar)", 2, records.length);
+
+		// now one taglib should be visible from project 1
+		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (after exporting jar)", 1, records.length);
+
+		TaglibIndex.shutdown();
+		TaglibIndex.startup();
+
+		// project 2 should still have just two taglibs
+		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable2/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (after exporting jar and restarting)", 2, records.length);
+
+		// and one taglib should still be visible from project 1
+		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
+		assertEquals("total ITaglibRecord count doesn't match (after exporting jar and restarting)", 1, records.length);
+	}
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath
new file mode 100644
index 0000000..8d5f4fb
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" exported="false" kind="src" path="/testavailable2"/>
+	<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project
new file mode 100644
index 0000000..5baaadd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>testavailable1</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+	<display-name>
+	test1</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+	<taglib>
+	  <taglib-uri>/tags/sample2</taglib-uri>
+	  <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+	</taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga  << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable1/src/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath
new file mode 100644
index 0000000..0a9f2ba
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="WebContent/WEB-INF/lib/sample_tld.jar"/>
+	<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project
new file mode 100644
index 0000000..5baaadd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>testavailable1</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+	<display-name>
+	test1</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+	<taglib>
+	  <taglib-uri>/tags/sample2</taglib-uri>
+	  <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+	</taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga  << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testavailable2/src/.keepme
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
similarity index 60%
rename from tests/org.eclipse.wst.xml.catalog.tests/.classpath
rename to tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
index 751c8f2..5ec3b3b 100644
--- a/tests/org.eclipse.wst.xml.catalog.tests/.classpath
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.classpath
@@ -2,6 +2,5 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project
new file mode 100644
index 0000000..274293f
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>testcache2</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld
new file mode 100644
index 0000000..04f9bc5
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/tld/sample2_for_118251-e.tld
@@ -0,0 +1,25 @@
+<taglib>
+
+     <tlibversion>0.0.1</tlibversion>
+     <jspversion>1.2</jspversion>
+     <shortname>sample</shortname>
+     <uri>http://example.com/sample2_for_118251-e</uri>
+     <info>
+        This tag library contains just one tag.  Ha ha! 
+     </info>
+
+     <tag>
+       <name>code</name>
+       <tagclass>sample.taglib.CodeTag</tagclass>
+       <bodycontent>tagdependent</bodycontent>
+       <attribute>
+         <name>fontAttributes</name>
+       </attribute>
+       <attribute>
+         <name>commentColor</name>
+       </attribute>
+       <attribute>
+         <name>stringColor</name>
+       </attribute>
+     </tag>
+   </taglib>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..a3d07f0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+	<display-name>
+	test1</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+	<taglib>
+	  <taglib-uri>/tags/sample2</taglib-uri>
+	  <taglib-location>/WEB-INF/tld/sample2_for_118251-e.tld</taglib-location>
+	</taglib>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp
new file mode 100644
index 0000000..2be00cd
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/WebContent/test1.jsp
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib uri="http://java.sun.com/jsf/core" prefix="c"%>
+<%@taglib prefix="sample" uri="http://example.com/sample-taglib" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+
+<sample:code> asdgjalskjga  << </sample:code>
+
+<c:out value=""></c:out>
+</body>
+</html>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/testcache2/src/.keepme
diff --git a/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
index 161345c..61275fe 100644
--- a/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsp.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: jspencodingtests.jar
 Bundle-Activator: org.eclipse.jst.jsp.tests.encoding.JSPEncodingTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
index cfb741e..2f89228 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.jsp.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsp.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: jspuitests.jar
 Bundle-Activator: org.eclipse.jst.jsp.ui.tests.JSPUITestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
@@ -23,6 +23,7 @@
  org.eclipse.jst.jsp.ui.tests.search,
  org.eclipse.jst.jsp.ui.tests.threaded,
  org.eclipse.jst.jsp.ui.tests.util,
+ org.eclipse.jst.jsp.ui.tests.validation,
  org.eclipse.jst.jsp.ui.tests.viewer
 Require-Bundle: org.eclipse.jface.text,
  org.eclipse.ui,
@@ -42,5 +43,7 @@
  org.eclipse.ui.views,
  org.eclipse.core.runtime,
  org.eclipse.wst.xml.ui,
- com.ibm.icu
+ com.ibm.icu,
+ org.eclipse.wst.html.ui,
+ org.eclipse.wst.validation
 Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
index 5b41a17..978ece5 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/JSPUITestSuite.java
@@ -25,6 +25,7 @@
 import org.eclipse.jst.jsp.ui.tests.pagedirective.TestPageDirective;
 import org.eclipse.jst.jsp.ui.tests.partitioning.TestStructuredPartitionerJSP;
 import org.eclipse.jst.jsp.ui.tests.registry.AdapterFactoryRegistryTest;
+import org.eclipse.jst.jsp.ui.tests.validation.JSPHTMLValidatorTest;
 import org.eclipse.jst.jsp.ui.tests.viewer.TestViewerConfigurationJSP;
 
 
@@ -60,6 +61,7 @@
 		addTest(new TestSuite(TestModelEmbeddedContentType.class, "TestModelEmbeddedContentType"));
 
 		addTest(new TestSuite(TestContentDescription.class, "Content Description Tests"));
+		addTest(new TestSuite(JSPHTMLValidatorTest.class, "JSPHTMLValidatorTest"));
 		// pa_TODO fix this test
 		//addTest(new TestSuite(JSPSearchTests.class));
 	}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
index faaa540..48d0b31 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/TestModelClone.java
@@ -12,30 +12,41 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 import junit.framework.Test;
 import junit.framework.TestCase;
 
 import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter;
+import org.eclipse.jst.jsp.core.internal.modelquery.JSPModelQueryAdapterImpl;
+import org.eclipse.jst.jsp.core.internal.modelquery.JSPModelQueryImpl;
 import org.eclipse.jst.jsp.core.internal.provisional.contenttype.ContentTypeIdForJSP;
 import org.eclipse.wst.html.core.internal.modelhandler.EmbeddedHTML;
+import org.eclipse.wst.html.core.internal.modelquery.HTMLModelQueryImpl;
+//import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeFamilyForHTML;
 import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler;
 import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
 import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.modelhandler.EmbeddedXML;
+import org.eclipse.wst.xml.core.internal.modelquery.XMLModelQueryImpl;
 import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
 import org.w3c.dom.Document;
+import org.w3c.dom.Node;
 
 /**
  * 
  */
 public class TestModelClone extends TestCase {
 
+	private HashMap embeddedModelQueries = new HashMap();
+
 	/**
 	 * Constructor for TestModelClone.
 	 */
@@ -114,33 +125,33 @@
 		assertTrue("model could not be created!", model != null);
 		// note, we initialy expect HTML, since there is not content
 		checkEmbeddedType(model, EmbeddedHTML.class);
-
+	
 		String testContent = "<%@ page contentType=\"text/xml\" %>";
 		model.getStructuredDocument().setText(this, testContent);
-
+	
 		// modified for design change, where re-init should be handled before 
 		// set returns.
 		assertTrue("model should not need reinit", !model.isReinitializationNeeded());
-
+	
 		//		but if it did need re-init, here's the right calling sequence		
 		//		if (model.isReinitializationNeeded()) {
 		//			model.aboutToChangeModel();
 		//			model = model.reinit();
 		//			model.changedModel();
 		//		}
-
+	
 		checkEmbeddedType(model, EmbeddedXML.class);
-
+	
 		IStructuredModel clonedModel = model.newInstance();
 		assertTrue("cloned model could not be created!", clonedModel != null);
 		checkEmbeddedType(clonedModel, EmbeddedXML.class);
-
+	
 	}
 
 	private void checkEmbeddedType(IStructuredModel model, Class expectedType) {
 		Document doc = ((IDOMModel) model).getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getExistingAdapter(PageDirectiveAdapter.class);
-		assertNotNull("model did not have embedded adapter", pageDirectiveAdapter);
+		assertNotNull("model did not have pageDirective", pageDirectiveAdapter);
 
 		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
 		assertNotNull("model did not have embedded handler", embeddedHandler);
@@ -154,10 +165,10 @@
 		IModelManager modelManager = StructuredModelManager.getModelManager();
 		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
 		assertTrue("model could not be created!", model != null);
-
+	
 		ArrayList factories = (ArrayList) model.getFactoryRegistry().getFactories();
 		factories = (ArrayList) factories.clone();
-
+	
 		IStructuredModel clonedModel = model.newInstance();
 		if (model.getModelHandler() == null) {
 			System.out.println();
@@ -165,40 +176,175 @@
 		}
 		assertTrue("cloned model could not be created!", clonedModel != null);
 		// make sure the critical variables are correct.
-
+	
 		ArrayList newFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
 		newFactories = (ArrayList) newFactories.clone();
-
+	
 		boolean passed = checkFactoriesListForIdentity(factories, newFactories);
 		assertTrue("newInstance of structured model is not correct", passed);
-
+	
 		passed = checkForSameEmbeddedFactories(model, clonedModel);
 		assertTrue("newInstance of structured model is not correct", passed);
-
+	
 		// Now, assigning some content shouldn't change the factories
 		clonedModel.getStructuredDocument().replaceText(this, 0, 0, "<sample> text");
 		ArrayList twoFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
 		twoFactories = (ArrayList) twoFactories.clone();
-
+	
 		passed = checkFactoriesListForIdentity(factories, twoFactories);
 		assertTrue("newInstance of structured model is not correct", passed);
-
+	
 		passed = checkForSameEmbeddedFactories(model, clonedModel);
 		assertTrue("newInstance of structured model is not correct", passed);
-
-
+	
+	
 		// Now, assigning use a page directive, but leaving embedded type the same as default
 		clonedModel.getStructuredDocument().setText(this, "<%@ page contentType=\"text/html\"");
 		ArrayList threeFactories = (ArrayList) clonedModel.getFactoryRegistry().getFactories();
 		threeFactories = (ArrayList) threeFactories.clone();
-
+	
 		passed = checkFactoriesListForIdentity(factories, threeFactories);
 		assertTrue("newInstance of structured model is not correct", passed);
-
+	
 		passed = checkForSameEmbeddedFactories(model, clonedModel);
 		assertTrue("newInstance of structured model is not correct", passed);
+	
+	
+	}
+
+	public void testCreateStructuredModelJSPXHTML() throws IOException {
+		// First make (empty) structuredDocument
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+		assertTrue("model could not be created!", model != null);
+	
+	
+	
+	
+		// Now, assigning use a page directive, but leaving embedded type the same as default
+		model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" + 
+				"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n" + 
+				"\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" + 
+				"<%@page language=\"java\" contentType=\"text/xml; charset=ISO-8859-1\"\n" + 
+				"        pageEncoding=\"ISO-8859-1\"%>\n" + 
+				"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + 
+				"<head>\n" + 
+				"<meta http-equiv=\"Content-Type\" content=\"text/xml; charset=ISO-8859-1\" />\n" + 
+				"<style>\n" + 
+				"A { color: red; }\n" + 
+				"</style>\n" + 
+				"</head>\n" + 
+				"</html>\n" + 
+				"");
+	
+			checkEmbeddedType(model, EmbeddedHTML.class);
+			checkModelQuery(model, JSPModelQueryImpl.class);
+			checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+			
+			
+			
+			
+	}
+
+	public void testCreateStructuredModelJSPXHTMnoDoctype() throws IOException {
+		// First make (empty) structuredDocument
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+		assertTrue("model could not be created!", model != null);
+	
+	
+	
+	
+		// Now, assigning use a page directive, but leaving embedded type the same as default
+		model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" + 
+				"<%@page language=\"java\" contentType=\"text/xml; charset=ISO-8859-1\"\n" + 
+				"        pageEncoding=\"ISO-8859-1\"%>\n" + 
+				"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + 
+				"<head>\n" + 
+				"<meta http-equiv=\"Content-Type\" content=\"text/xml; charset=ISO-8859-1\" />\n" + 
+				"<style>\n" + 
+				"A { color: red; }\n" + 
+				"</style>\n" + 
+				"</head>\n" + 
+				"</html>\n" + 
+				"");
+	
+			checkEmbeddedType(model, EmbeddedHTML.class);
+			checkModelQuery(model, JSPModelQueryImpl.class);
+			checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+			
+			
+			
+			
+	}
+
+	public void testCreateStructuredModelJSPXHTML2() throws IOException {
+		// First make (empty) structuredDocument
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+		assertTrue("model could not be created!", model != null);
 
 
+
+
+		// Now, assigning use a page directive, but leaving embedded type the same as default
+		model.getStructuredDocument().setText(this, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" + 
+					"<%@page language=\"java\" contentType=\"application/xml; charset=ISO-8859-1\"\n" + 
+					"        pageEncoding=\"ISO-8859-1\"%>\n" + 
+					"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n" + 
+				"\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" + 
+				"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + 
+				"<head>\n" + 
+				"<meta http-equiv=\"Content-Type\" content=\"application/xml; charset=ISO-8859-1\" />\n" + 
+				"<style>\n" + 
+				"A { color: red; }\n" + 
+				"</style>\n" + 
+				"</head>\n" + 
+				"</html>\n" + 
+				"");
+
+			checkEmbeddedType(model, EmbeddedHTML.class);
+			checkModelQuery(model, JSPModelQueryImpl.class);
+			checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+			
+			
+			
+			
+	}
+
+	private void checkModelQuery(IStructuredModel model, Class class1) {
+		Document doc = ((IDOMModel) model).getDocument();
+		ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter) ((INodeNotifier) doc).getExistingAdapter(ModelQueryAdapter.class);
+		assertNotNull("model did not have modelQueryAdapter", modelQueryAdapter);
+		
+		assertTrue("modelQueryAdapter is wrong class", class1.equals(JSPModelQueryImpl.class));
+		
+	}
+
+	private void checkEmbeddedModelQuery(IStructuredModel model, Class outerQueryAdapter, Class outerQueryClass, Class embeddedQueryClass) {
+
+		Document doc = ((IDOMModel) model).getDocument();
+		ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter) ((INodeNotifier) doc).getExistingAdapter(ModelQueryAdapter.class);
+		assertNotNull("model did not have modelQueryAdapter", modelQueryAdapter);
+
+		Class expected = outerQueryAdapter;
+		Class actual = modelQueryAdapter.getClass();
+		assertEquals("document's model query is not as expected", expected, actual);
+		
+		ModelQuery modelQuery = modelQueryAdapter.getModelQuery();
+		expected = outerQueryClass;
+		actual = modelQuery.getClass();
+		assertEquals("model query adapter's model query is not as expected", expected, actual);
+		
+		ModelQuery nodeQuery = getEmbeddedModelQuery(doc);
+		assertNotNull("node does not have a modelQueryAdapter", nodeQuery);
+		
+		expected = embeddedQueryClass;
+		actual = nodeQuery.getClass();
+		assertEquals("documents model query is not as expected", expected, actual);
+
+
+		
 	}
 
 	/**
@@ -309,5 +455,158 @@
 
 	}
 
+	private ModelQuery getEmbeddedModelQuery(Node node) {
+		ModelQuery embeddedModelQuery = null;
+
+		if (node instanceof INodeNotifier) { 
+			Node ownerNode = node.getOwnerDocument();
+			if (ownerNode == null) {
+				// then must be the document itself
+				ownerNode = node; 
+			}
+			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) ownerNode).getAdapterFor(PageDirectiveAdapter.class);
+			if (pageDirectiveAdapter != null) {
+
+				String effectiveContentType = null;
+				ModelQuery potentialModelQueryObject = null;
+
+				String familyId = pageDirectiveAdapter.getEmbeddedType().getFamilyId();
+				//if (ContentTypeFamilyForHTML.HTML_FAMILY.equals(familyId)) {
+				if ("org.eclipse.wst.html.core.contentfamily.html".equals(familyId)) {
+					effectiveContentType = "text/html";
+				}
+				else {
+					effectiveContentType = pageDirectiveAdapter.getContentType();
+				}
+				
+				potentialModelQueryObject = (ModelQuery) embeddedModelQueries.get(effectiveContentType);
+				
+				if (potentialModelQueryObject == null) {
+					ModelQueryAdapter embeddedAdapter = (ModelQueryAdapter) pageDirectiveAdapter.adapt((INodeNotifier) node, ModelQueryAdapter.class);
+					if (embeddedAdapter != null) {
+						// we will cache one model query per content type
+						embeddedModelQuery = embeddedAdapter.getModelQuery();
+						embeddedModelQueries.put(effectiveContentType, embeddedModelQuery);
+					}
+				}
+				else {
+					embeddedModelQuery = potentialModelQueryObject;
+				}
+			}
+		}
+		return embeddedModelQuery;
+	}
+
+	public void testCreateStructuredModelJSPXML() throws IOException {
+		// First make (empty) structuredDocument
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+		assertTrue("model could not be created!", model != null);
+	
+	
+	
+	
+		// Now, assigning use a page directive, but leaving embedded type the same as default
+		model.getStructuredDocument().setText(this, "<%-- keep JSP page compiler from generating code that accesses the session --%>\n" + 
+				"<%@ page session=\"false\"  contentType=\"text/xml; charset=ISO-8859-1\" %>\n" + 
+				"\n" + 
+				"<!-- load WPS portlet tag library and initialize objects -->\n" + 
+				"<%@ taglib uri=\"/WEB-INF/tld/portlet.tld\" prefix=\"portletAPI\" %>\n" + 
+				"<portletAPI:init /> \n" + 
+				"\n" + 
+				"<%-- Replace the name of the layout specified by the layoutName attribute of the canvas element below with the layout name for your portlet. --%>\n" + 
+				"<canvas xmlns =\"http://www.volantis.com/xmlns/marlin-cdm\" \n" + 
+				"        xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" + 
+				"        layoutName=\"/sample_layout.mlyt\" \n" + 
+				"        type=\"portlet\" >\n" + 
+				"\n" + 
+				"\n" + 
+				"<%-- Specify the pane name from your layout policy as the value for the name attribute of the pane element below  --%>\n" + 
+				"<pane name=\"sample_pane\">\n" + 
+				"    <p>Hello!</p>\n" + 
+				"    <p>This is an XDIME <b>view mode</b> page . You have to edit this page to customize it for your own use.<br/><br/>\n" + 
+				"    The source file for this page is \"/Web Content/testportlet_legacy/jsp/xdime/TemplateLegacyPortletView.jsp\".\n" + 
+				"</p>\n" + 
+				"\n" + 
+				"<br/>\n" + 
+				"This is image 1    \n" + 
+				"<img src=\"/paw.mimg\" alt=\"noimg\" />\n" + 
+				"\n" + 
+				"<br/>\n" + 
+				"This is image 2    \n" + 
+				"<img src=\"paw.mimg\" alt=\"noimg\" />\n" + 
+				"\n" + 
+				"</pane>\n" + 
+				"</canvas>");
+	
+			checkEmbeddedType(model, EmbeddedXML.class);
+			checkModelQuery(model, JSPModelQueryImpl.class);
+			checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, XMLModelQueryImpl.class);
+			
+			
+			
+			
+	}
+
+	public void testCreateStructuredModelJSPWML() throws IOException {
+		// First make (empty) structuredDocument
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IStructuredModel model = modelManager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
+		assertTrue("model could not be created!", model != null);
+	
+	
+	
+	
+		// Now, assigning use a page directive, but leaving embedded type the same as default
+		model.getStructuredDocument().setText(this, "<%@ page contentType=\"text/vnd.wap.wml\" %>\n" + 
+				"\n" + 
+				"  <jsp:useBean id=\"beanInstanceName\" scope=\"session\" class=\"package.class\" />\n" + 
+				"  <jsp:getProperty name=\"beanInstanceName\" property=\"*\" />\n" + 
+				"\n" + 
+				"  <?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + 
+				"  <!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">\n" + 
+				"  <wml>\n" + 
+				"\n" + 
+				"    <template>\n" + 
+				"      <!-- Template implementation here. -->\n" + 
+				"      <do type=\"prev\"><prev/></do>\n" + 
+				"    </template>\n" + 
+				"\n" + 
+				"  <%\n" + 
+				"  if (session.isNew() || session.getAttribute(\"userid\")==null ) {\n" + 
+				"  %>\n" + 
+				"    <card id=\"card1\" title=\"Card #1\">\n" + 
+				"\n" + 
+				"      <do type=\"unknown\" label=\"Next\">\n" + 
+				"        <go href=\"#card2\"/>\n" + 
+				"      </do>\n" + 
+				"      <p align=\"center\">\n" + 
+				"        <big><b>First Card</b></big>\n" + 
+				"      </p>\n" + 
+				"    </card>\n" + 
+				"\n" + 
+				"  <%\n" + 
+				"  } else {\n" + 
+				"  %>\n" + 
+				"    <card id=\"card2\" title=\"Card #2\">\n" + 
+				"\n" + 
+				"      <p align=\"center\">\n" + 
+				"        <big><b> <%= beanInstanceName.getUserid() %> </b></big>\n" + 
+				"      </p>\n" + 
+				"    </card>\n" + 
+				"  <%\n" + 
+				"  }\n" + 
+				"  %>\n" + 
+				"  </wml>");
+	
+			checkEmbeddedType(model, EmbeddedHTML.class);
+			checkModelQuery(model, JSPModelQueryImpl.class);
+			checkEmbeddedModelQuery(model, JSPModelQueryAdapterImpl.class, JSPModelQueryImpl.class, HTMLModelQueryImpl.class);
+			
+			
+			
+			
+	}
+
 
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
index 0c651db..d37a574 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/JSPTranslationTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -83,7 +83,7 @@
 		JSPTranslation translation = adapter.getJSPTranslation();
 		try {
 			HashMap java2jsp = translation.getJava2JspMap();
-			assertEquals("java2jsp map size:", 13, java2jsp.size());
+			assertEquals("java2jsp map size:", 11, java2jsp.size());
 
 			HashMap jsp2java = translation.getJsp2JavaMap();
 			assertEquals("jsp2java map size:", 3, jsp2java.size());
@@ -97,7 +97,7 @@
 			
 			int jspTestPosition = translation.getJspText().indexOf("<%= ") + 4;
 			int javaOffset = translation.getJavaOffset(jspTestPosition) - classnameLength;
-			assertEquals("JSPTranslation java offset:", 1009, javaOffset);
+			assertEquals("JSPTranslation java offset:", 972, javaOffset);
 			
 			// (<%= | %>)
 			int javaTestPostition = translation.getJavaText().indexOf("out.print(\"\"+\n   \n);") + 14;
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
index d704363..09e105d 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/contentassist/translated_text.bin
@@ -28,8 +28,6 @@
 javax.swing.JButton BEAN_includedBean = new javax.swing.JButton();
  int include_include_int = 5; 
 javax.swing.JButton includesUseBean = new javax.swing.JButton();
-{ // <gifts:gift>
-} // </gifts:gift>
 out.print(""+
    
 );
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
index 4b2b307..338b54a 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/util/ProjectUtil.java
@@ -7,14 +7,18 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Enumeration;
 import java.util.List;
 
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspaceRunnable;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
@@ -61,15 +65,26 @@
 		}	
 	}
 
-	/**
-	 * 
-	 * @param entryname path relative to TEST plugin starting w/ a "/"
-	 * 						(eg. "/testfiles/bugnumber/struts-logic.tld")
-	 * @param fullPath path relative to junit test workpace
-	 * 						(eg. "/myruntimeproj/struts-logic.tld")
-	 * @return
-	 */
-	public static IFile copyBundleEntryIntoWorkspace(String entryname, String fullPath) {
+	static void _copyBundleEntriesIntoWorkspace(final String rootEntry, final String fullTargetPath) throws CoreException {
+		Enumeration entries = JSPUITestsPlugin.getDefault().getBundle().getEntryPaths(rootEntry);
+		while (entries != null && entries.hasMoreElements()) {
+			String entryPath = entries.nextElement().toString();
+			String targetPath = new Path(fullTargetPath + "/" + entryPath.substring(rootEntry.length())).toString();
+			if (entryPath.endsWith("/")) {
+				IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(targetPath));
+				if (!folder.exists()) {
+					folder.create(true, true, new NullProgressMonitor());
+				}
+				_copyBundleEntriesIntoWorkspace(entryPath, targetPath);
+			}
+			else {
+				_copyBundleEntryIntoWorkspace(entryPath, targetPath);
+			}
+			// System.out.println(entryPath + " -> " + targetPath);
+		}
+	}
+
+	static IFile _copyBundleEntryIntoWorkspace(String entryname, String fullPath) throws CoreException {
 		IFile file = null;
 		URL entry = JSPUITestsPlugin.getDefault().getBundle().getEntry(entryname);
 		if (entry != null) {
@@ -83,7 +98,12 @@
 				}
 				file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fullPath));
 				if (file != null) {
-					file.create(new ByteArrayInputStream(output.toByteArray()), true, new NullProgressMonitor());
+					if (!file.exists()) {
+						file.create(new ByteArrayInputStream(output.toByteArray()), true, new NullProgressMonitor());
+					}
+					else {
+						file.setContents(new ByteArrayInputStream(output.toByteArray()), true, false, new NullProgressMonitor());
+					}
 				}
 			}
 			catch (IOException e) {
@@ -95,6 +115,46 @@
 		}
 		return file;
 	}
+
+	public static void copyBundleEntriesIntoWorkspace(final String rootEntry, final String fullTargetPath) {
+		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor monitor) throws CoreException {
+				_copyBundleEntriesIntoWorkspace(rootEntry, fullTargetPath);
+				ResourcesPlugin.getWorkspace().checkpoint(true);
+			}
+		};
+		try {
+			ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
+		}
+		catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 
+	 * @param entryname path relative to TEST plugin starting w/ a "/"
+	 * 						(eg. "/testfiles/bugnumber/struts-logic.tld")
+	 * @param fullPath path relative to junit test workpace
+	 * 						(eg. "/myruntimeproj/struts-logic.tld")
+	 * @return
+	 */
+	public static IFile copyBundleEntryIntoWorkspace(final String entryname, final String fullPath) {
+		final IFile file[] = new IFile[1];
+		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor monitor) throws CoreException {
+				file[0] = _copyBundleEntryIntoWorkspace(entryname, fullPath);
+				ResourcesPlugin.getWorkspace().checkpoint(true);
+			}
+		};
+		try {
+			ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
+		}
+		catch (CoreException e) {
+			e.printStackTrace();
+		}
+		return file[0];
+	}
 	
 	public static  IProject createProject(String name, IPath location, String[] natureIds) {
 		IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(name);
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java
new file mode 100644
index 0000000..01b331d
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/JSPHTMLValidatorTest.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.jsp.ui.tests.util.ProjectUtil;
+import org.eclipse.wst.html.internal.validation.HTMLValidator;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+
+/**
+ * Tests HTML validator on jsp file
+ */
+public class JSPHTMLValidatorTest extends TestCase {
+	String wtp_autotest_noninteractive = null;
+	private static final String PROJECT_NAME = "bug_143209";
+
+	protected void setUp() throws Exception {
+		super.setUp();
+		String noninteractive = System.getProperty("wtp.autotest.noninteractive");
+		if (noninteractive != null)
+			wtp_autotest_noninteractive = noninteractive;
+		System.setProperty("wtp.autotest.noninteractive", "true");
+
+		if (!ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME).exists()) {
+			ProjectUtil.createProject(PROJECT_NAME, null, new String[]{JavaCore.NATURE_ID});
+			ProjectUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + PROJECT_NAME, "/" + PROJECT_NAME);
+		}
+		assertTrue("project could not be created", ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME).exists());
+	}
+
+	protected void tearDown() throws Exception {
+		super.tearDown();
+		if (wtp_autotest_noninteractive != null)
+			System.setProperty("wtp.autotest.noninteractive", wtp_autotest_noninteractive);
+	}
+
+	/**
+	 * Tests jsp expression in html attributes in jsp file
+	 * 
+	 * @throws Exception
+	 */
+	public void testJSPinAttributes() throws Exception {
+		HTMLValidator validator = new HTMLValidator();
+		IReporter reporter = new ReporterForTest();
+		ValidationContextForTest helper = new ValidationContextForTest();
+		String filePath = "/" + PROJECT_NAME + "/WebContent/usejspinattribute.jsp";
+		helper.setURI(filePath);
+		validator.validate(helper, reporter);
+
+		assertTrue("jsp in attributes are errors when they should not be (in .jsp)", reporter.getMessages().isEmpty());
+	}
+
+	/**
+	 * Tests jsp expression in html attributes in html file
+	 * 
+	 * @throws Exception
+	 */
+	public void testJSPinAttributesHTML() throws Exception {
+		HTMLValidator validator = new HTMLValidator();
+		IReporter reporter = new ReporterForTest();
+		ValidationContextForTest helper = new ValidationContextForTest();
+		String filePath = "/" + PROJECT_NAME + "/WebContent/usejspinattribute.html";
+		helper.setURI(filePath);
+		validator.validate(helper, reporter);
+
+		assertTrue("jsp in attributes are not errors when they should be (in .html)", !reporter.getMessages().isEmpty());
+	}
+
+	/**
+	 * Tests bad attribute names in jsp file false
+	 * 
+	 * @throws Exception
+	 */
+	public void testBadAttributeName() throws Exception {
+		HTMLValidator validator = new HTMLValidator();
+		IReporter reporter = new ReporterForTest();
+		ValidationContextForTest helper = new ValidationContextForTest();
+		String filePath = "/" + PROJECT_NAME + "/WebContent/badattributenames.jsp";
+		helper.setURI(filePath);
+		validator.validate(helper, reporter);
+
+		assertTrue("bad attribute name is not error when it should be", !reporter.getMessages().isEmpty());
+	}
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java
new file mode 100644
index 0000000..fea98ac
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ReporterForTest.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.wst.validation.internal.core.IMessageAccess;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.eclipse.wst.validation.internal.provisional.core.IValidator;
+
+class ReporterForTest implements IReporter {
+	List list = new ArrayList();
+
+	public ReporterForTest() {
+		super();
+	}
+
+	public void addMessage(IValidator origin, IMessage message) {
+		list.add(message);
+	}
+
+	public void displaySubtask(IValidator validator, IMessage message) {
+		/* do not need to implement */
+	}
+
+	public IMessageAccess getMessageAccess() {
+		return null;
+	}
+
+	public boolean isCancelled() {
+		return false;
+	}
+
+	public void removeAllMessages(IValidator origin, Object object) { // do
+		/* do not need to implement */
+	}
+
+	public void removeAllMessages(IValidator origin) {
+		/* do not need to implement */
+	}
+
+	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {// do
+		/* do not need to implement */
+	}
+
+	public List getMessages() {
+		return list;
+	}
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java
new file mode 100644
index 0000000..3f613fa
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/validation/ValidationContextForTest.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsp.ui.tests.validation;
+
+import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
+
+class ValidationContextForTest implements IValidationContext {
+	private String fURI = null;
+
+	public void setURI(String uri) {
+		fURI = uri;
+	}
+
+	public String[] getURIs() {
+		if (fURI != null)
+			return new String[]{fURI};
+		return new String[0];
+	}
+
+	public Object loadModel(String symbolicName) {
+		return null;
+	}
+
+	public Object loadModel(String symbolicName, Object[] parms) {
+		return null;
+	}
+
+}
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
index a445736..207e50e 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
+++ b/tests/org.eclipse.jst.jsp.ui.tests/src/org/eclipse/jst/jsp/ui/tests/viewer/ViewerTestJSP.java
@@ -41,6 +41,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
 import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.w3c.dom.Attr;
@@ -223,6 +224,53 @@
 					fSourceViewer.resetVisibleRegion();
 				}
 			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Change Visibility in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+						int proceed = dlg.open();
+						if (proceed == Window.CANCEL)
+							return;
+						sourceViewer.resetVisibleRegion();
+						sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+					}
+				}
+			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Show All in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						sourceViewer.resetVisibleRegion();
+					}
+				}
+			});
 			mgr.add(new Separator());
 			// no longer able to set input to NULL
 			// mgr.add(new Action() {
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/test.xml b/tests/org.eclipse.jst.jsp.ui.tests/test.xml
index d3b7cde..0b6ad65 100644
--- a/tests/org.eclipse.jst.jsp.ui.tests/test.xml
+++ b/tests/org.eclipse.jst.jsp.ui.tests/test.xml
@@ -1,51 +1,115 @@
-<project name="testsuite" default="run" basedir=".">
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- Set a meaningful default value for when it is not. -->
-	<!--<property name="eclipse-home" value="${basedir}\..\.."/>-->
+<?xml version="1.0" encoding="UTF-8"?>
 
-	<!-- sets the properties plugin-name, and library-file -->
-	<property name="plugin-name" value="org.eclipse.jst.jsp.ui.tests" />
-	<property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+<project
+    name="testsuite"
+    default="run"
+    basedir=".">
+    
+    <!-- The following properties should be passed into this script -->
+    <!-- ${eclipse-home}   -->
+    <!-- ${buildDirectory}  -->
+    <!-- ${buildLabel}        -->
+
+    <!-- should be little need to change what's above  -->
+    
+    <property
+        name="plugin-name"
+        value="org.eclipse.jst.jsp.ui.tests" />
+    <property
+        name="classname"
+        value="org.eclipse.jst.jsp.ui.tests.JSPUITestSuite" />
+    <property
+        name="testType"
+        value="ui-test" />
+
+    <!-- should be little need to change what's below -->
+
+    <echo message="basedir: ${basedir}" />
+    <echo message="eclipse-home: ${eclipse-home}" />
+    <echo message="buildDirectory: ${buildDirectory}" />
+    <echo message="plugin-name: ${plugin-name}" />
+    <echo message="classname: ${classname}" />
+    <echo message="testType ${testType}" />
 
 
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<delete>
-			<fileset dir="${eclipse-home}" includes="org.eclipse.jst.jsp.ui.tests.*xml" />
-		</delete>
-	</target>
+    <property
+        name="library-file"
+        value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+    <property
+        name="workspace"
+        value="${eclipse-home}/junitworkspaces/${plugin-name}" />
+        
+    <!-- This target holds all initialization code that needs to be done for -->
+    <!-- all tests that are to be run. Initialization for individual tests -->
+    <!-- should be done within the body of the suite target. -->
+    <target name="init">
+        <tstamp />
+        <delete>
+            <fileset
+                dir="${eclipse-home}"
+                includes="${plugin-name}.*xml" />
+        </delete>
+        <!-- make directory, in case path doesn't exist yet -->
+        <mkdir dir="${workspace}" />
+        <!--  but delete to make sure fresh contents-->
+        <delete
+            dir="${workspace}"
+            quiet="true" />
 
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite">
-		<delete dir="${workspace}" quiet="true" />
-		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="data-dir" value="${workspace}" />
-			<property name="plugin-name" value="${plugin-name}" />
-			<property name="classname" value="org.eclipse.jst.jsp.ui.tests.JSPUITestSuite" />
-			<property
-				name="workspace"
-				value="${eclipse-home}/junitworkspace-${plugin-name}" />
+    </target>
 
-		</ant>
-	</target>
+    <!-- This target defines the tests that need to be run. -->
+    <target name="suite">
 
-	<!-- This target holds code to cleanup the testing environment after -->
-	<!-- after all of the tests have been run. You can use this target to -->
-	<!-- delete temporary files that have been created. -->
-	<target name="cleanup">
-		<!--<delete dir="${workspace}" quiet="true"/>-->
-	</target>
+        <ant
+            target="${testType}"
+            antfile="${library-file}"
+            dir="${eclipse-home}">
+            <property
+                name="data-dir"
+                value="${workspace}" />
+            <property
+                name="plugin-name"
+                value="${plugin-name}" />
+            <property
+                name="classname"
+                value="${classname}" />
+            <property
+                name="plugin-path"
+                value="${eclipse-home}/plugins/${plugin-name}" />
+        </ant>
 
-	<!-- This target runs the test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target name="run" depends="init,suite,cleanup">
-		<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="includes" value="org.eclipse.jst.jsp.ui.tests.*xml" />
-			<property name="output-file" value="${plugin-name}.xml" />
-		</ant>
-		<!--		<emailResults resultsFile="${build-results-home}/${plugin-name}.xml" addresslist="david_williams@us.ibm.com" /> -->
-	</target>
+        <copy
+            failonerror="false"
+            file="${workspace}/.metadata/.log"
+            tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" />
+
+    </target>
+
+    <!-- This target holds code to cleanup the testing environment after -->
+    <!-- after all of the tests have been run. You can use this target to -->
+    <!-- delete temporary files that have been created. -->
+    <target name="cleanup">
+        <!-- usually no need to delete workspace until next run, and leaving it allows inspection -->
+        <!-- <delete dir="${workspace}" quiet="true" /> -->
+    </target>
+
+    <!-- This target runs the test suite. Any actions that need to happen -->
+    <!-- after all the tests have been run should go here. -->
+    <target
+        name="run"
+        depends="init,suite,cleanup">
+        <ant
+            target="collect"
+            antfile="${library-file}"
+            dir="${eclipse-home}">
+            <property
+                name="includes"
+                value="${plugin-name}.*xml" />
+            <property
+                name="output-file"
+                value="${plugin-name}.xml" />
+        </ant>
+    </target>
 
 </project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/lib/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..2e1d7c0
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/WEB-INF/web.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+	<display-name>bug_143209</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp
new file mode 100644
index 0000000..c515970
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/badattributenames.jsp
@@ -0,0 +1,9 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body fakename="">
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html
new file mode 100644
index 0000000..95bd566
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<!-- jsp expression in attribute value -->
+<body bgcolor="<%="red" %>">
+<!-- jsp expression in attribute name -->
+<p <%="align" %>="left" />
+<!-- jsp expression as attribute name & value -->
+<a <%="href='http://www.eclipse.org'" %>>Eclipse link</a>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp
new file mode 100644
index 0000000..95bd566
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/WebContent/usejspinattribute.jsp
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<!-- jsp expression in attribute value -->
+<body bgcolor="<%="red" %>">
+<!-- jsp expression in attribute name -->
+<p <%="align" %>="left" />
+<!-- jsp expression as attribute name & value -->
+<a <%="href='http://www.eclipse.org'" %>>Eclipse link</a>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/build/classes/.keepme
diff --git a/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.ui.tests/testfiles/bug_143209/src/.keepme
diff --git a/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
index feb06a4..9dabb8d 100644
--- a/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.css.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: csscoretests.jar
 Bundle-Activator: org.eclipse.wst.css.core.tests.CSSCoreTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
index f61c419..311836e 100644
--- a/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.css.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: cssencodingtests.jar
 Bundle-Activator: org.eclipse.wst.css.tests.encoding.CSSEncodingTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
index dfd32b5..7ed46c7 100644
--- a/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.css.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.css.ui.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.css.ui.tests.CSSUITestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: plugin
diff --git a/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
index 2f740e4..1e933be 100644
--- a/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.dtd.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.dtd.ui.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: dtduitests.jar
 Bundle-Activator: org.eclipse.wst.dtd.ui.tests.internal.DTDUITestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java b/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
index 77c6722..ed9c3ce 100644
--- a/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
+++ b/tests/org.eclipse.wst.dtd.ui.tests/src/org/eclipse/wst/dtd/ui/tests/viewer/ViewerTestDTD.java
@@ -41,6 +41,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
 import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.w3c.dom.Attr;
@@ -226,6 +227,53 @@
 					fSourceViewer.resetVisibleRegion();
 				}
 			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Change Visibility in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+						int proceed = dlg.open();
+						if (proceed == Window.CANCEL)
+							return;
+						sourceViewer.resetVisibleRegion();
+						sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+					}
+				}
+			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Show All in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						sourceViewer.resetVisibleRegion();
+					}
+				}
+			});
 			mgr.add(new Separator());
 			// no longer able to set fInput to NULL
 			// mgr.add(new Action() {
diff --git a/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
index 3604de8..86d9a6b 100644
--- a/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.html.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: htmlcoretests.jar
 Bundle-Activator: org.eclipse.wst.html.core.tests.HTMLCoreTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
index 28fecf1..b2d7522 100644
--- a/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.html.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: htmlencodingtests.jar
 Bundle-Activator: org.eclipse.wst.html.tests.encoding.HTMLEncodingTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
index 3ae04f9..04516c2 100644
--- a/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.html.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.html.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: htmluitests.jar
 Bundle-Activator: org.eclipse.wst.html.ui.tests.HTMLUITestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java b/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
index 1e201cf..54b9892 100644
--- a/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
+++ b/tests/org.eclipse.wst.html.ui.tests/src/org/eclipse/wst/html/ui/tests/viewer/ViewerTestHTML.java
@@ -41,6 +41,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
 import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.w3c.dom.Attr;
@@ -224,6 +225,54 @@
 				}
 			});
 			mgr.add(new Separator());
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Change Visibility in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+						int proceed = dlg.open();
+						if (proceed == Window.CANCEL)
+							return;
+						sourceViewer.resetVisibleRegion();
+						sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+					}
+				}
+			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Show All in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						sourceViewer.resetVisibleRegion();
+					}
+				}
+			});
+			mgr.add(new Separator());
 			// no longer able to set input to NULL
 			//			mgr.add(new Action() {
 			//				public String getText() {
diff --git a/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
index 3ebefad..6c7381e 100644
--- a/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.sse.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.sse.core.tests
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: ssemodeltests.jar
 Bundle-Activator: org.eclipse.wst.sse.core.tests.SSEModelTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
index 797125a..3aadc77 100644
--- a/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.sse.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.sse.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: sseeditortests.jar
 Bundle-Activator: org.eclipse.wst.sse.ui.tests.SSETestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore b/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.project b/tests/org.eclipse.wst.xml.catalog.tests/.project
deleted file mode 100644
index c417514..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.core</name>
-	<comment></comment>
-	<projects></projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 6c7d10e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Mar 25 17:34:01 EST 2005
-eclipse.preferences.version=1
-encoding//data/PublicationCatalogue/Catalogue.xsd=UTF8
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 55f6cc3..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Test Plug-in
-Bundle-SymbolicName: org.eclipse.wst.xml.catalog.tests; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.wst.xml.catalog.tests.internal.TestPlugin
-Bundle-Vendor: IBM
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.xml.catalog.tests.internal,
- org.eclipse.wst.xml.resolver.tools.tests.internal,
- org.eclipse.wst.xml.uriresolver.validation.tests.internal
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.wst.xml.core,
- org.apache.xerces,
- org.eclipse.xsd
-Eclipse-AutoStart: true
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/about.html b/tests/org.eclipse.wst.xml.catalog.tests/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/build.properties b/tests/org.eclipse.wst.xml.catalog.tests/build.properties
deleted file mode 100644
index 46ff36b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.catalogtests.jar = src/
-output.catalogtests.jar = bin/
-bin.includes = actual_results/,\
-               data/,\
-               jars/,\
-               plugin.xml,\
-               test.xml,\
-               META-INF/,\
-               catalogtests.jar,\
-               about.html
-
-src.includes = actual_results/
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd b/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd
deleted file mode 100644
index 0737ba6..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.dtd
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!ELEMENT Invoice (Header,Item+)>
-<!ELEMENT Header (Date,BillTo)>
-<!ATTLIST Header
- invoiceNumber CDATA #REQUIRED
->
-<!ELEMENT Item (description*)>
-<!ATTLIST Item
- price CDATA #REQUIRED
- discount (promotion | regular) "regular"
->
-<!ELEMENT Date ((Month,Day,Year)|(Day,Month,Year))>
-<!ELEMENT BillTo (Address)>
-<!ATTLIST BillTo
- custNumber ID #REQUIRED
- name CDATA #IMPLIED
- phone CDATA #IMPLIED
->
-<!ELEMENT description (#PCDATA)>
-<!ELEMENT Address (street1,street2?,city,(state|province),zip,country?)>
-<!ELEMENT street1 (#PCDATA)>
-<!ELEMENT street2 (#PCDATA)>
-<!ELEMENT city (#PCDATA)>
-<!ELEMENT state (#PCDATA)>
-<!ELEMENT province (#PCDATA)>
-<!ELEMENT zip (#PCDATA)>
-<!ELEMENT country (#PCDATA)>
-<!ELEMENT Month (#PCDATA)>
-<!ELEMENT Day (#PCDATA)>
-<!ELEMENT Year (#PCDATA)>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml
deleted file mode 100644
index 6afe397..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Invoice/Invoice.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Invoice PUBLIC "InvoiceId_test" "Invoice.dtd" >
-<Invoice>
-  <Header invoiceNumber="12345">
-    <Date>
-      <Month>July</Month>
-      <Day>15</Day>
-      <Year>2001</Year>
-    </Date>
-    <BillTo custNumber="X5739" name="Milton McGoo" phone="416-448-4414">
-      <Address>
-        <street1>IBM</street1>
-        <street2>1150 Eglinton Ave East</street2>
-        <city>Toronto</city>
-        <state>Ontario</state>
-        <zip>M3C 1H7</zip>
-        <country>Canada</country>
-      </Address>
-    </BillTo>
-  </Header>
-  <Item discount="promotion" price="57">
-    <description>high speed 3D graphics card</description>
-  </Item>
-</Invoice>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml
deleted file mode 100644
index c2f725b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal-schema.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	   xsi:noNamespaceSchemaLocation='personal.xsd'>
-
-  <person id="Big.Boss" >
-    <name><family>Boss</family> <given>Big</given></name>
-    <email>chief@foo.com</email>
-    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
-  </person>
-
-  <person id="one.worker">
-    <name><family>Worker</family> <given>One</given></name>
-    <email>one@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="two.worker">
-    <name><family>Worker</family> <given>Two</given></name>
-    <email>two@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="three.worker">
-    <name><family>Worker</family> <given>Three</given></name>
-    <email>three@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="four.worker">
-    <name><family>Worker</family> <given>Four</given></name>
-    <email>four@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="five.worker">
-    <name><family>Worker</family> <given>Five</given></name>
-    <email>five@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-</personnel>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd
deleted file mode 100644
index c64e48a..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.dtd
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml encoding="UTF-8"?>
-<!ELEMENT personnel (person)+>
-
-<!ELEMENT person (name,email*,url*,link?)>
-<!ATTLIST person id ID #REQUIRED>
-<!ATTLIST person note CDATA #IMPLIED>
-<!ATTLIST person contr (true|false) 'false'>
-<!ATTLIST person salary CDATA #IMPLIED>
-
-<!ELEMENT name ((family,given)|(given,family))>
-
-<!ELEMENT family (#PCDATA)>
-
-<!ELEMENT given (#PCDATA)>
-
-<!ELEMENT email (#PCDATA)>
-
-<!ELEMENT url EMPTY>
-<!ATTLIST url href CDATA 'http://'>
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link manager IDREF #IMPLIED>
-<!ATTLIST link subordinates IDREFS #IMPLIED>
-
-<!NOTATION gif PUBLIC '-//APP/Photoshop/4.0' 'photoshop.exe'>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml
deleted file mode 100644
index 9c3e438..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE personnel SYSTEM "http://personal/personal.dtd">
-<personnel>
-
-  <person id="Big.Boss">
-    <name><family>Boss</family> <given>Big</given></name>
-    <email>chief@foo.com</email>
-    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
-  </person>
-
-  <person id="one.worker">
-    <name><family>Worker</family> <given>One</given></name>
-    <email>one@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="two.worker">
-    <name><family>Worker</family> <given>Two</given></name>
-    <email>two@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="three.worker">
-    <name><family>Worker</family> <given>Three</given></name>
-    <email>three@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="four.worker">
-    <name><family>Worker</family> <given>Four</given></name>
-    <email>four@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-  <person id="five.worker">
-    <name><family>Worker</family> <given>Five</given></name>
-    <email>five@foo.com</email>
-    <link manager="Big.Boss"/>
-  </person>
-
-</personnel>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd
deleted file mode 100644
index 05e3183..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/Personal/personal.xsd
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
-
- <xs:element name="personnel">
-  <xs:complexType>
-   <xs:sequence>
-     <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>
-   </xs:sequence>
-  </xs:complexType>
-
-  <xs:unique name="unique1">
-   <xs:selector xpath="person"/>
-   <xs:field xpath="name/given"/>
-   <xs:field xpath="name/family"/>
-  </xs:unique>
-  <xs:key name='empid'>
-   <xs:selector xpath="person"/>
-   <xs:field xpath="@id"/>
-  </xs:key>
-  <xs:keyref name="keyref1" refer='empid'>
-   <xs:selector xpath="person"/> 
-   <xs:field xpath="link/@manager"/>  
-  </xs:keyref>
-
- </xs:element>
-
- <xs:element name="person">
-  <xs:complexType>
-   <xs:sequence>
-     <xs:element ref="name"/>
-     <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>
-     <xs:element ref="url"   minOccurs='0' maxOccurs='unbounded'/>
-     <xs:element ref="link"  minOccurs='1' maxOccurs='1'/>
-   </xs:sequence>
-   <xs:attribute name="id"  type="xs:ID" use='required'/>
-   <xs:attribute name="note" type="xs:string"/>
-   <xs:attribute name="contr" default="false">
-    <xs:simpleType>
-     <xs:restriction base = "xs:string">
-       <xs:enumeration value="true"/>
-       <xs:enumeration value="false"/>
-     </xs:restriction>
-    </xs:simpleType>
-   </xs:attribute>
-   <xs:attribute name="salary" type="xs:integer"/>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="name">
-  <xs:complexType>
-   <xs:all>
-    <xs:element ref="family"/>
-    <xs:element ref="given"/>
-   </xs:all>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="family" type='xs:string'/>
-
- <xs:element name="given" type='xs:string'/>
-
- <xs:element name="email" type='xs:string'/>
-
- <xs:element name="url">
-  <xs:complexType>
-   <xs:attribute name="href" type="xs:string" default="http://"/>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="link">
-  <xs:complexType>
-   <xs:attribute name="manager" type="xs:IDREF"/>
-   <xs:attribute name="subordinates" type="xs:IDREFS"/>
-  </xs:complexType>
- </xs:element>
-
- <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>
-
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml
deleted file mode 100644
index e66621d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<c:Catalogue xmlns:c="http://www.eclipse.org/webtools/Catalogue/test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/webtools/Catalogue/test Catalogue.xsd ">
-	<c:Book>
-		<title>Professional XML Schema</title>
-		<date>2001</date>
-		<isbn>1-861005-47-4</isbn>
-		<publisher>Wrox Press</publisher>
-	</c:Book>
-	<c:Magazine>
-		<title>WebSphere Developer's Journal</title>
-		<date>2001</date>
-	</c:Magazine>
-	<c:Book>
-		<title>Java and XSLT</title>
-		<date>2001</date>
-		<isbn>0-596-00143-6</isbn>
-		<publisher>O'Reilly</publisher>
-	</c:Book>
-</c:Catalogue>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd
deleted file mode 100644
index 1668642..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PublicationCatalogue/Catalogue.xsd
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://www.eclipse.org/webtools/Catalogue/test"
-	xmlns="http://www.w3.org/2001/XMLSchema"
-	xmlns:c="http://www.eclipse.org/webtools/Catalogue/test"
-	xsi:schemaLocation="http://www.eclipse.org/webtools/Catalogue/test Catalogue.xsd ">
-	<group name="test">
-		<sequence>
-			<element name="test1"></element>
-		</sequence>
-	</group>
-	<complexType name="PublicationType">
-		<sequence>
-			<element name="title" type="string"></element>
-			<element name="author" type="string" minOccurs="0"
-				maxOccurs="unbounded">
-			</element>
-			<element name="date" type="gYear"></element>
-		</sequence>
-	</complexType>
-
-	<complexType name="BookType">
-		<complexContent>
-			<extension base="c:PublicationType">
-				<sequence>
-					<element name="isbn" type="string" />
-					<element name="publisher" type="string" />
-				</sequence>
-			</extension>
-		</complexContent>
-	</complexType>
-
-	<complexType name="MagazineType">
-		<complexContent>
-			<restriction base="c:PublicationType">
-				<sequence>
-					<element name="title" type="string" />
-					<element name="author" type="string" minOccurs="0"
-						maxOccurs="0" />
-					<element name="date" type="gYear"></element>
-				</sequence>
-			</restriction>
-		</complexContent>
-	</complexType>
-
-	<element name="Publication" type="c:PublicationType"
-		abstract="true">
-	</element>
-
-	<element name="Book" type="c:BookType"
-		substitutionGroup="c:Publication">
-	</element>
-
-	<element name="Magazine" type="c:MagazineType"
-		substitutionGroup="c:Publication">
-	</element>
-
-	<element name="Catalogue">
-		<complexType>
-			<sequence>
-				<element ref="c:Publication" maxOccurs="unbounded"></element>
-			</sequence>
-		</complexType>
-	</element>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml
deleted file mode 100644
index 12bd7e6..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<po:purchaseOrder orderDate="2001-01-01" xmlns:po="http://www.ibm.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com PurchaseOrder.xsd">
-  <shipTo country="US">
-    <name>Alice Smith</name>
-    <street>125 Maple Street</street>
-    <city>Mill Valley</city>
-    <state>CA</state>
-    <zip>90952</zip>
-  </shipTo>
-  <billTo country="US">
-    <name>Robert Smith</name>
-    <street>8 Oak Avenue</street>
-    <city>Old Town</city>
-    <state>PA</state>
-    <zip>95819</zip>
-  </billTo>
-  <po:comment>Hurry, my lawn is going wild!</po:comment>
-  <items>
-    <item partNum="872-AA">
-      <productName>Lawnmower</productName>
-      <quantity>1</quantity>
-      <USPrice>148.95</USPrice>
-      <po:comment>Confirm this is electric</po:comment>
-    </item>
-    <item partNum="926-AA">
-      <productName>Baby Monitor</productName>
-      <quantity>1</quantity>
-      <USPrice>39.98</USPrice>
-      <shipDate>2001-07-21</shipDate>
-    </item>
-  </items>
-</po:purchaseOrder>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd
deleted file mode 100644
index d0fb094..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/PurchaseOrder.xsd
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.ibm.com"
- xmlns:po="http://www.ibm.com">
-    <annotation>
-        <documentation xml:lang="en">
-            Purchase order schema example from XML Schema Part 0: Primer
-        
-            Copyright 2001, IBM Corp. All rights reserved
-            Copyright 2001, World Wide Web Consortium, 
-            (Massachusetts Institute of Technology, Institut National de Recherche en Informatiqueet en Automatique, Keio University).
-            All Rights Reserved.
-        </documentation>
-    </annotation>
-
-    <element name="purchaseOrder" type="po:PurchaseOrderType"/>
-
-    <element name="comment" type="string"/>
-
-    <complexType name="PurchaseOrderType">
-        <sequence>
-            <element name="shipTo" type="po:USAddress"/>
-            <element name="billTo" type="po:USAddress"/>
-            <element ref="po:comment" minOccurs="0"/>
-            <element name="items" type="po:Items"/>
-        </sequence>
-        <attribute name="orderDate" type="date"/>
-    </complexType>
-
-    <complexType name="USAddress">
-        <sequence>
-            <element name="name" type="string"/>
-            <element name="street" type="string"/>
-            <element name="city" type="string"/>
-            <element name="state" type="po:USState"/>
-            <element name="zip" type="decimal"/>
-        </sequence>
-        <attribute name="country" type="NMTOKEN" fixed="US"/>
-    </complexType>
-
-    <complexType name="Items">
-        <sequence>
-            <element name="item" minOccurs="0" maxOccurs="unbounded">
-                <complexType>
-                    <sequence>
-                        <element name="productName" type="string"/>
-                        <element name="quantity">
-                            <simpleType>
-                                <restriction base="positiveInteger">
-                                    <maxExclusive value="100"/>
-                                </restriction>
-                            </simpleType>
-                        </element>
-                        <element name="USPrice" type="decimal"/>
-                        <element ref="po:comment" minOccurs="0"/>
-                        <element name="shipDate" type="date" minOccurs="0"/>
-                    </sequence>
-                    <attribute name="partNum" type="po:SKU" use="required"/>
-                </complexType>
-            </element>
-        </sequence>
-    </complexType>
-
-    <simpleType name="SKU">
-        <restriction base="string">
-            <pattern value="\d{3}-[A-Z]{2}"/>
-        </restriction>
-    </simpleType>
-    
-    <simpleType name="USState">
-        <restriction base="string">
-            <enumeration value="CA"></enumeration>
-            <enumeration value="PA"></enumeration>
-            <enumeration value="AR"></enumeration>
-        </restriction>
-    </simpleType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd
deleted file mode 100644
index 26ea442..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/address.xsd
+++ /dev/null
@@ -1,68 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
-        xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
-  <documentation xml:lang="en">
-   Addresses for International Purchase order schema
-   Copyright 2000 Example.com. All rights reserved.
-  </documentation> 
- </annotation>
-
- <complexType name="Address">
-  <sequence>
-   <element name="name"   type="string"/>
-   <element name="street" type="string"/>
-   <element name="city"   type="string"/>
-  </sequence>
- </complexType>
-
- <complexType name="USAddress">
-  <complexContent>
-   <extension base="ipo:Address">
-    <sequence>
-     <element name="state" type="ipo:USState"/>
-     <element name="zip"   type="positiveInteger"/>
-    </sequence>
-   </extension>
-  </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
-  <complexContent>
-   <extension base="ipo:Address">
-    <sequence>
-     <element name="postcode" type="ipo:UKPostcode"/>
-    </sequence>
-    <attribute name="exportCode" type="positiveInteger" fixed="1"/>
-   </extension>
-  </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries --> 
-
- <simpleType name="USState">
-  <restriction base="string">
-   <enumeration value="AK"/>
-   <enumeration value="AL"/>
-   <enumeration value="AR"/>
-   <!-- and so on ... -->
-  </restriction>
- </simpleType>
-
- <!-- simple type definition for Postcode -->
- <simpleType name="Postcode">
-  <restriction base="string">
-  </restriction>
- </simpleType>
-
- <!-- simple type definition for UKPostcode -->
- <simpleType name="UKPostcode">
-  <restriction base="ipo:Postcode">
-    <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}"/>
-  </restriction>
- </simpleType>
-
-
-</schema>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml
deleted file mode 100644
index d483ade..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<ipo:purchaseOrder
-  orderDate="2001-01-01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO" xsi:schemaLocation="http://www.example.com/IPO ipo.xsd ">
-
-    <shipTo exportCode="1" xsi:type="ipo:UKAddress">
-        <name>Helen Zoe</name>
-        <street>47 Eden Street</street>
-        <city>Cambridge</city>
-        <postcode>CB1 1JR</postcode>
-    </shipTo>
-
-    <billTo xsi:type="ipo:USAddress">
-        <name>Robert Smith</name>
-        <street>8 Oak Avenue</street>
-        <city>Old Town</city>
-        <state>AR</state>
-        <zip>95819</zip>
-    </billTo>
-
-    <items>
-        <item partNum="833-AA">
-            <productName>Lapis necklace</productName>
-            <quantity>1</quantity>
-            <USPrice>99.95</USPrice>
-            <ipo:comment>Want this for the holidays!</ipo:comment>
-            <shipDate>1999-12-05</shipDate>
-        </item>
-    </items>
-</ipo:purchaseOrder>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd
deleted file mode 100644
index 7a63d01..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
-        xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
-  <documentation xml:lang="en">
-   International Purchase order schema for Example.com
-   Copyright 2000 Example.com. All rights reserved.
-  </documentation> 
- </annotation>
-
- <!-- include address constructs -->
- <include
-  schemaLocation="address.xsd"/>
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
-  <sequence>
-   <element name="shipTo"     type="ipo:Address"/>
-   <element name="billTo"     type="ipo:Address"/>
-   <element ref="ipo:comment" minOccurs="0"/>
-   <element name="items"      type="ipo:Items"/>
-  </sequence>
-  <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="Items">
-  <sequence>
-   <element name="item" minOccurs="0" maxOccurs="unbounded">
-    <complexType>
-     <sequence>
-      <element name="productName" type="string"/>
-      <element name="quantity">
-       <simpleType>
-        <restriction base="positiveInteger">
-         <maxExclusive value="100"/>
-        </restriction>
-       </simpleType>
-      </element>
-      <element name="USPrice"    type="decimal"/>
-      <element ref="ipo:comment" minOccurs="0"/>
-      <element name="shipDate"   type="date" minOccurs="0"/>
-     </sequence>
-     <attribute name="partNum" type="ipo:SKU" use="required"/>
-    </complexType>
-   </element>
-  </sequence>
- </complexType>
-
- <simpleType name="SKU">
-  <restriction base="string">
-   <pattern value="\d{3}-[A-Z]{2}"/>
-  </restriction>
- </simpleType>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd
deleted file mode 100644
index 436d49d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/ipo_.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
-        xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
-  <documentation xml:lang="en">
-   International Purchase order schema for Example.com
-   Copyright 2000 Example.com. All rights reserved.
-  </documentation> 
- </annotation>
-
- <!-- include address constructs -->
- <include
-  schemaLocation="address_.xsd"/>
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
-  <sequence>
-   <element name="shipTo"     type="ipo:Address"/>
-   <element name="billTo"     type="ipo:Address"/>
-   <element ref="ipo:comment" minOccurs="0"/>
-   <element name="items"      type="ipo:Items"/>
-  </sequence>
-  <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="Items">
-  <sequence>
-   <element name="item" minOccurs="0" maxOccurs="unbounded">
-    <complexType>
-     <sequence>
-      <element name="productName" type="string"/>
-      <element name="quantity">
-       <simpleType>
-        <restriction base="positiveInteger">
-         <maxExclusive value="100"/>
-        </restriction>
-       </simpleType>
-      </element>
-      <element name="USPrice"    type="decimal"/>
-      <element ref="ipo:comment" minOccurs="0"/>
-      <element name="shipDate"   type="date" minOccurs="0"/>
-     </sequence>
-     <attribute name="partNum" type="ipo:SKU" use="required"/>
-    </complexType>
-   </element>
-  </sequence>
- </complexType>
-
- <simpleType name="SKU">
-  <restriction base="string">
-   <pattern value="\d{3}-[A-Z]{2}"/>
-  </restriction>
- </simpleType>
-
-</schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml
deleted file mode 100644
index 98ed6f1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ex:purchaseReport
-        xmlns:ex="http://www.example.com/Report"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://www.example.com/Report report.xsd">
-    <ex:regions>
-        <ex:zip code="39487">
-            <ex:part number="293-AX" quantity="3"/>
-            <ex:part number="293-LD" quantity="3"/>
-        </ex:zip>
-        <ex:zip code="29387">
-            <ex:part number="897-JD" quantity="30"/>
-        </ex:zip>
-        <ex:zip code="19285">
-            <ex:part number="123-CK" quantity="19"/>
-            <ex:part number="175-FQ" quantity="8"/>
-        </ex:zip>
-    </ex:regions>
-
-    <ex:parts>
-        <ex:part number="293-AX"/>
-        <ex:part number="897-JD"/>
-        <ex:part number="123-CK"/>
-        <ex:part number="293-LD"/>
-        <ex:part number="175-FQ"/>
-    </ex:parts>
-</ex:purchaseReport>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd
deleted file mode 100644
index 0ee7ca4..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/Report"
- xmlns:r="http://www.example.com/Report"
- xmlns:xipo="http://www.example.com/IPO"
- elementFormDefault="qualified">
-    <annotation>
-        <documentation>
-            The Report Schema from XML Schema Part 0: Primer
-            
-            Copyright 2001, IBM Corp. All Rights Reserved.
-            Copyright 2001, World Wide Web Consortium 
-            (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University).
-            All Rights Reserved.
-        </documentation>
-    </annotation>
-
-    <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
-
-    <element name="purchaseReport">
-        <complexType>
-            <sequence>
-                <element name="regions" type="r:RegionsType"/>
-                   
-                <element name="parts" type="r:PartsType"/>
-            </sequence>
-            <attribute name="period" type="duration"/>
-            <attribute name="periodEnding" type="date"/>
-        </complexType>
-        
-        <unique name="dummy1">
-            <selector xpath="r:regions/r:zip"/>
-            <field xpath="@code"/>
-        </unique>
-        
-        <key name="pNumKey">
-            <selector xpath="r:parts/r:part"/>
-            <field xpath="@number"/>
-        </key>
-        <keyref name="dummy2" refer="r:pNumKey">
-            <selector xpath="r:regions/r:zip/r:part"/>
-            <field xpath="@number"/>
-        </keyref>
-    </element>
-
-    <complexType name="RegionsType">
-        <sequence>
-            <element name="zip" maxOccurs="unbounded">
-                <complexType>
-                    <sequence>
-                        <element name="part" maxOccurs="unbounded">
-                            <complexType>
-                                <complexContent>
-                                    <restriction base="anyType">
-                                        <attribute name="number" type="xipo:SKU"/>
-                                        <attribute name="quantity" type="positiveInteger"/>
-                                    </restriction>
-                                </complexContent>
-                            </complexType>
-                        </element>
-                    </sequence>
-                    <attribute name="code" type="positiveInteger"/>
-                </complexType>
-            </element>
-        </sequence>
-    </complexType>
-
-    <complexType name="PartsType">
-        <sequence>
-            <element name="part" maxOccurs="unbounded">
-                <complexType>
-                    <simpleContent>
-                        <extension base="string">
-                            <attribute name="number" type="xipo:SKU"/>
-                        </extension>
-                    </simpleContent>
-                </complexType>
-            </element>
-        </sequence>
-    </complexType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml
deleted file mode 100644
index 7d34ce1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ex:purchaseReport
-        xmlns:ex="http://www.example.com/Report"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://www.example.com/Report">
-    <ex:regions>
-        <ex:zip code="39487">
-            <ex:part number="293-AX" quantity="3"/>
-            <ex:part number="293-LD" quantity="3"/>
-        </ex:zip>
-        <ex:zip code="29387">
-            <ex:part number="897-JD" quantity="30"/>
-        </ex:zip>
-        <ex:zip code="19285">
-            <ex:part number="123-CK" quantity="19"/>
-            <ex:part number="175-FQ" quantity="8"/>
-        </ex:zip>
-    </ex:regions>
-
-    <ex:parts>
-        <ex:part number="293-AX"/>
-        <ex:part number="897-JD"/>
-        <ex:part number="123-CK"/>
-        <ex:part number="293-LD"/>
-        <ex:part number="175-FQ"/>
-    </ex:parts>
-</ex:purchaseReport>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd
deleted file mode 100644
index cb284be..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/PurchaseOrder/international/report_.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/Report"
- xmlns:r="http://www.example.com/Report"
- xmlns:xipo="http://www.example.com/IPO"
- elementFormDefault="qualified">
-    <annotation>
-        <documentation>
-            The Report Schema from XML Schema Part 0: Primer
-            
-            Copyright 2001, IBM Corp. All Rights Reserved.
-            Copyright 2001, World Wide Web Consortium 
-            (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University).
-            All Rights Reserved.
-        </documentation>
-    </annotation>
-
-    <import namespace="http://www.example.com/IPO" schemaLocation="ipo__.xsd"/>
-
-    <element name="purchaseReport">
-        <complexType>
-            <sequence>
-                <element name="regions" type="r:RegionsType"/>
-                   
-                <element name="parts" type="r:PartsType"/>
-            </sequence>
-            <attribute name="period" type="duration"/>
-            <attribute name="periodEnding" type="date"/>
-        </complexType>
-        
-        <unique name="dummy1">
-            <selector xpath="r:regions/r:zip"/>
-            <field xpath="@code"/>
-        </unique>
-        
-        <key name="pNumKey">
-            <selector xpath="r:parts/r:part"/>
-            <field xpath="@number"/>
-        </key>
-        <keyref name="dummy2" refer="r:pNumKey">
-            <selector xpath="r:regions/r:zip/r:part"/>
-            <field xpath="@number"/>
-        </keyref>
-    </element>
-
-    <complexType name="RegionsType">
-        <sequence>
-            <element name="zip" maxOccurs="unbounded">
-                <complexType>
-                    <sequence>
-                        <element name="part" maxOccurs="unbounded">
-                            <complexType>
-                                <complexContent>
-                                    <restriction base="anyType">
-                                        <attribute name="number" type="xipo:SKU"/>
-                                        <attribute name="quantity" type="positiveInteger"/>
-                                    </restriction>
-                                </complexContent>
-                            </complexType>
-                        </element>
-                    </sequence>
-                    <attribute name="code" type="positiveInteger"/>
-                </complexType>
-            </element>
-        </sequence>
-    </complexType>
-
-    <complexType name="PartsType">
-        <sequence>
-            <element name="part" maxOccurs="unbounded">
-                <complexType>
-                    <simpleContent>
-                        <extension base="string">
-                            <attribute name="number" type="xipo:SKU"/>
-                        </extension>
-                    </simpleContent>
-                </complexType>
-            </element>
-        </sequence>
-    </complexType>
-</schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd
deleted file mode 100644
index b00c82c..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog.xsd
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns:er="http://oasis.names.tc.entity.xmlns.xml.catalog"
-           targetNamespace="http://oasis.names.tc.entity.xmlns.xml.catalog"
-           elementFormDefault="qualified">
-
-  <!-- $Id: catalog.xsd,v 1.1 2005/06/24 04:17:50 csalter Exp $ -->
-
-  <xs:simpleType name="pubIdChars">
-    <!-- A string of the characters defined as pubIdChar in production 13
-         of the Second Edition of the XML 1.0 Recommendation. Does not include
-         the whitespace characters because they're normalized by XML parsing. -->
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[a\-zA\-Z0\-9\-'()+,./:=?;!*#@$_%]*"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name='publicIdentifier'>
-    <xs:restriction base="er:pubIdChars"/>
-  </xs:simpleType>
-
-  <xs:simpleType name='partialPublicIdentifier'>
-    <xs:restriction base='er:pubIdChars'/>
-  </xs:simpleType>
-
-  <xs:simpleType name='systemOrPublic'>
-    <xs:restriction base='xs:string'>
-      <xs:enumeration value='system'/>
-      <xs:enumeration value='public'/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <!-- The global attribute xml:base is not explicitly declared; -->
-  <!-- it is allowed by the anyAttribute declarations. -->
-
-  <xs:complexType name='catalog'>
-    <xs:choice minOccurs='1' maxOccurs='unbounded'>
-      <xs:element ref='er:public'/>
-      <xs:element ref='er:system'/>
-      <xs:element ref='er:uri'/>
-      <xs:element ref='er:rewriteSystem'/>
-      <xs:element ref='er:rewriteURI'/>
-      <xs:element ref='er:delegatePublic'/>
-      <xs:element ref='er:delegateSystem'/>
-      <xs:element ref='er:delegateURI'/>
-      <xs:element ref='er:nextCatalog'/>
-      <xs:element ref='er:group'/>
-      <xs:any namespace='##other' processContents='skip'/>
-    </xs:choice>
-    <xs:attribute name='id' type='xs:ID'/>
-    <xs:attribute name='prefer' type='er:systemOrPublic'/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-  </xs:complexType>
-
-  <xs:complexType name='public'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="publicId" type="er:publicIdentifier"
-                       use="required"/>
-        <xs:attribute name="uri" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='system'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="systemId" type="xs:string"
-                       use="required"/>
-        <xs:attribute name="uri" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='uri'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="name" type="xs:anyURI"
-                       use="required"/>
-        <xs:attribute name="uri" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='rewriteSystem'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="systemIdStartString"
-                       type="xs:string"
-                       use="required"/>
-        <xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='rewriteURI'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="uriIdStartString"
-                       type="xs:string"
-                       use="required"/>
-        <xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='delegatePublic'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="publicIdStartString"
-                       type="er:partialPublicIdentifier"
-                       use="required"/>
-        <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='delegateSystem'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="systemIdStartString"
-                       type="xs:string"
-                       use="required"/>
-        <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='delegateURI'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="uriStartString"
-                       type="xs:string"
-                       use="required"/>
-        <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='nextCatalog'>
-    <xs:complexContent>
-      <xs:restriction base="xs:anyType">
-        <xs:attribute name="catalog" type="xs:anyURI" use="required"/>
-        <xs:attribute name='id' type='xs:ID'/>
-        <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name='group'>
-    <xs:choice minOccurs='1' maxOccurs='unbounded'>
-      <xs:element ref='er:public'/>
-      <xs:element ref='er:system'/>
-      <xs:element ref='er:uri'/>
-      <xs:element ref='er:rewriteSystem'/>
-      <xs:element ref='er:rewriteURI'/>
-      <xs:element ref='er:delegatePublic'/>
-      <xs:element ref='er:delegateSystem'/>
-      <xs:element ref='er:delegateURI'/>
-      <xs:element ref='er:nextCatalog'/>
-      <xs:any namespace='##other' processContents='skip'/>
-    </xs:choice>
-    <xs:attribute name='prefer' type='er:systemOrPublic'/>
-    <xs:attribute name='id' type='xs:ID'/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-  </xs:complexType>
-
-  <xs:element name="catalog" type="er:catalog"/>
-  <xs:element name="public" type="er:public"/>
-  <xs:element name="system" type="er:system"/>
-  <xs:element name="uri" type="er:uri"/>
-  <xs:element name="rewriteSystem" type="er:rewriteSystem"/>
-  <xs:element name="rewriteURI" type="er:rewriteURI"/>
-  <xs:element name="delegatePublic" type="er:delegatePublic"/>
-  <xs:element name="delegateSystem" type="er:delegateSystem"/>
-  <xs:element name="delegateURI" type="er:delegateURI"/>
-  <xs:element name="nextCatalog" type="er:nextCatalog"/>
-  <xs:element name="group" type="er:group"/>
-
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml
deleted file mode 100644
index 124bc14..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog1.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <public publicId="InvoiceId_test" uri="./Invoice/Invoice.dtd" webURL="http://webURL"/>
-  <system systemId="Invoice.dtd" uri="./Invoice/Invoice.dtd" chached="yes" property="value1"/>
-  <uri name="http://www.test.com/Invoice.dtd" uri="./Invoice/Invoice.dtd" chached="no" property="value2"/>
-  <nextCatalog catalog="catalog2.xml" id="nextCatalog1"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml
deleted file mode 100644
index 4eca03c..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <public publicId="http://www.eclipse.org/webtools/Catalogue_001" uri="./PublicationCatalog/Catalogue.xsd" /> 
-  <system systemId="Catalogue.xsd" uri="./PublicationCatalog/Catalogue.xsd" /> 
-  <uri name="http://www.eclipse.org/webtools/Catalogue.xsd" uri="http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd" /> 
-  <group id="group1" prefer="system">
-    <public publicId="http://www.eclipse.org/webtools/Catalogue_002" uri="./PublicationCatalog/Catalogue.xsd" /> 
-  </group>
-  </catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml
deleted file mode 100644
index b0a5b23..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/catalog2bak.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <public publicId="http://www.eclipse.org/webtools/Catalogue" uri="./PublicationCatalog/Catalogue.xsd"/>
-  <system systemId="Catalogue.xsd" uri="./PublicationCatalog/Catalogue.xsd"/>
-   <group id="group1" prefer="system">
- 		<uri name="http://Catalogue.xsd" uri="http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd"/>
-   </group>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog b/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog
deleted file mode 100644
index a884551..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/compatabilityTest.xmlcatalog
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>

-<XMLCatalogSettings>

-  <UserEntries>

-    <UserEntry TYPE="PUBLIC" ID="InvoiceId" 

-URI="platform:/resource/XMLExamples/Invoice2/Invoice.dtd"/>

-  </UserEntries>

-</XMLCatalogSettings>

diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml
deleted file mode 100644
index 7c794c5..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/delegateAndRewrite/catalog.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
-  <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
-  <delegatePublic publicIdStartString="ISO 8879:1986" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
-  <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
-  <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file:///usr/share/sgml/docbook/xmlcatalog"/>
-  <rewriteSystem systemIdStartString="http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd" rewritePrefix="/usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd"/>
-  <rewriteURI uriStartString="http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd" rewritePrefix="/usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml
deleted file mode 100644
index d283dee..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/docbook/xmlcatalog.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <public publicId="ISO 8879:1986//ENTITIES Publishing//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-pub.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk1.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbpoolx.mod"/>
-  <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-box.ent"/>
-  <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/docbookx.dtd"/>
-  <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk3.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsn.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-num.ent"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbcentx.mod"/>
-  <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk4.ent"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbnotnx.mod"/>
-  <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-dia.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-grk2.ent"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbgenent.mod"/>
-  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/dbhierx.mod"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsa.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amso.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-cyrl.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES General Technical//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-tech.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsc.ent"/>
-  <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="xml-dtd-4.2-1.0-17.2/soextblx.dtd"/>
-  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" uri="xml-dtd-4.1.2-1.0-17.2/calstblx.dtd"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-lat1.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsb.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-lat2.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-amsr.ent"/>
-  <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" uri="xml-dtd-4.2-1.0-17.2/ent/iso-cyr2.ent"/>
-  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="xml-dtd-4.1.2-1.0-17.2"/>
-  <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="xml-dtd-4.1.2-1.0-17.2"/>
-  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbpoolx.mod"/>
-  <public publicId="-//OASIS//DTD DocBook XML V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/docbookx.dtd"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbcentx.mod"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbnotnx.mod"/>
-  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbgenent.mod"/>
-  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/dbhierx.mod"/>
-  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.2//EN" uri="xml-dtd-4.2-1.0-17.2/calstblx.dtd"/>
-  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="xml-dtd-4.2-1.0-17.2"/>
-  <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="xml-dtd-4.2-1.0-17.2"/>
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml
deleted file mode 100644
index a67cd07..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-         prefer="public">
- <uri name="http://apache.org/xml/xcatalog/example" uri="./example/example.xsd"/>  
- <system systemId="myexample.xsd" uri="./example/example-nonamespace.xsd"/>    
-    
- <delegatePublic publicIdStartString="-//A//"
-                 catalog="example-catalog2.xml"/>
-
-                   
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml
deleted file mode 100644
index 18bb1ef..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example-catalog2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-         prefer="public">
- <public publicId="-//A//XML CATALOG IDENTIFIER//EN" 
-         uri="./example/example.ent"/>
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml
deleted file mode 100644
index 94aaae9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-dtd.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE root [
- <!ENTITY text PUBLIC "-//A//XML CATALOG IDENTIFIER//EN" 
-  "urn:publicid:-:A:XML+CATALOG+IDENTIFIER:EN">
-]>
-<root>&text;</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd
deleted file mode 100644
index ef2998d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-nonamespace.xsd
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="root" type="xs:anyURI"/>
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml
deleted file mode 100644
index 39175f1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema-nonamespace.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	   xsi:noNamespaceSchemaLocation="myexample.xsd">
-http://apache.org/xml/anyURI</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml
deleted file mode 100644
index f97cb3b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example-schema.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<root  xmlns="http://apache.org/xml/xcatalog/example">
-http://apache.org/xml/anyURI</root>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent
deleted file mode 100644
index cd08755..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.ent
+++ /dev/null
@@ -1 +0,0 @@
-Hello world!
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd
deleted file mode 100644
index 41a29fe..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/example/example.xsd
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns="http://apache.org/xml/xcatalog/example"
-           targetNamespace="http://apache.org/xml/xcatalog/example">
- <xs:element name="root" type="xs:anyURI"/>
-</xs:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml
deleted file mode 100644
index bf127b1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_mappedincluded.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-	prefer="public">
-	
-	<uri name="http://www.example.com/Report"
-		uri="./PurchaseOrder/international/report_.xsd" />
-    <!-- we can not map PublicId or URI of the included/redefined schemas -->	
-	<uri name="http://www.example.com/IPO"
-		uri="./PurchaseOrder/international/ipo_.xsd" />
-	<system systemId="address_.xsd"
-		uri="./PurchaseOrder/international/address.xsd" />
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml
deleted file mode 100644
index 734ecba..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_public.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-	prefer="public">
-	
-	<uri name="http://www.example.com/Report"
-		uri="./PurchaseOrder/international/report_.xsd" />
-    <!-- we can not map PublicId or URI of the included/redefined schemas -->	
-	<uri name="http://www.example.com/IPO"
-		uri="./PurchaseOrder/international/ipo.xsd" />
-	
-
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml
deleted file mode 100644
index c66a1b9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/report-catalog_system.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE catalog
- PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
- "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-
-	<uri name="http://www.example.com/Report"
-		uri="./PurchaseOrder/international/report_.xsd" />
-	<system systemId="ipo__.xsd"
-		uri="./PurchaseOrder/international/ipo_.xsd" />
-	<system systemId="address_.xsd"
-		uri="./PurchaseOrder/international/address.xsd" />
-
-</catalog>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar b/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar
deleted file mode 100644
index 9d1e4da..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/schemas.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml
deleted file mode 100644
index 98b04a1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/catalog.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" xml:base=".">
-   		<public publicId="myquote" uri="quote2.xml"/>  
-</catalog>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml
deleted file mode 100644
index 1fcba52..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote1.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-  <!-- I belong to:
-       org.apache.tools.ant.types.XMLCatalogBuildFileTest.java 
-       -->
-
-<para>
-  A stitch in time saves nine
-</para>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml
deleted file mode 100644
index 10cd14e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/quote2.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<para>
-  No news is good news
-</para>
-
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl
deleted file mode 100644
index e692b0e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog.xsl
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet 
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  version="1.0">
-
-  <xsl:output method="text"/>
-
-  <!-- name of the output parameter to write -->
-  <xsl:param name="outprop">value</xsl:param>
-
-  <xsl:strip-space elements="*"/>
-
-  <xsl:template match="/">
-    <xsl:value-of select="$outprop"/>: <xsl:apply-templates select="/fragment/para"/>
-  </xsl:template>
-
-  <!-- This will only be matched in doc2.xml -->
-  <xsl:template match="Ref">
-    <xsl:apply-templates select="document(@file)/fragment/para"/>
-  </xsl:template>
-
-  <!-- This will only be matched in doc1.xml -->
-  <xsl:template match="text()">
-    <xsl:value-of select="normalize-space(.)"/>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml
deleted file mode 100644
index 11c730d..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog1.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE fragment [
-  <!ENTITY quote PUBLIC "myquote" "quote1.xml">
-]>
-
-<fragment>
-  <para>
-      &quote;
-  </para>
-</fragment>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml
deleted file mode 100644
index dd41d0b..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<fragment>
-  <para>
-    <Ref file="xmlcatalog1.xml"/>
-  </para>
-</fragment>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out
deleted file mode 100644
index e9d7fc5..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out
+++ /dev/null
@@ -1 +0,0 @@
-testvalue: A stitch in time saves nine
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff
deleted file mode 100644
index 987a5db..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-out-diff
+++ /dev/null
@@ -1,2 +0,0 @@
-<<<< testvalue: A stitch in time saves nine

-<<<< testvalue: No news is good news

diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result b/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result
deleted file mode 100644
index 1de28a7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/testXSLTwithCatalogResolver/xmlcatalog2.xml-result
+++ /dev/null
@@ -1 +0,0 @@
-testvalue: No news is good news
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd b/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd
deleted file mode 100644
index e99645a..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/data/xsd/XSLSchema.xsd
+++ /dev/null
@@ -1,390 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/XSL/Transform">
-	<!-- xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" /-->
-
-	<xsd:element name="stylesheet" type="wrapper" />
-	<xsd:element name="transform" type="wrapper" />
-
-	<xsd:complexType name="wrapper">
-		<xsd:group ref="topLevelElements" minOccurs="0" maxOccurs="unbounded" />
-		<xsd:attribute name="extension-element-prefixes" type="xsd:string" use="optional" />
-		<xsd:attribute name="exclude-result-prefixes" type="xsd:string" use="optional" />
-		<xsd:attribute name="id" type="xsd:ID" use="optional" />
-		<xsd:attribute name="version" type="xsd:NMTOKEN" use="optional" />
-		<!--  xsd:attribute ref="xml:space" /-->
-	</xsd:complexType>
-
-	<xsd:element name="import">
-		<xsd:complexType>
-			<xsd:attribute name="href" type="xsd:anyURI" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="include">
-		<xsd:complexType>
-			<xsd:attribute name="href" type="xsd:anyURI" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="strip-space">
-		<xsd:complexType>
-			<xsd:attribute name="elements" type="xsd:string" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="preserve-space">
-		<xsd:complexType>
-			<xsd:attribute name="elements" type="xsd:string" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="output">
-		<xsd:complexType>
-			<xsd:attribute name="method" use="optional">
-				<xsd:simpleType>
-					<xsd:restriction base="xsd:string">
-						<xsd:enumeration value="xml" />
-						<xsd:enumeration value="html" />
-						<xsd:enumeration value="text" />
-					</xsd:restriction>
-				</xsd:simpleType>
-			</xsd:attribute>
-			<xsd:attribute name="version" type="xsd:NMTOKEN" use="optional" />
-			<xsd:attribute name="encoding" type="xsd:NMTOKEN" use="optional" />
-			<xsd:attribute name="omit-xml-declaration" use="optional" type="YesNoType" />
-			<xsd:attribute name="standalone" use="optional" type="YesNoType" />
-			<xsd:attribute name="doctype-public" type="xsd:string" use="optional" />
-			<xsd:attribute name="doctype-system" type="xsd:string" use="optional" />
-			<xsd:attribute name="cdata-section-elements" type="xsd:NMTOKENS" use="optional" />
-			<xsd:attribute name="indent" use="optional" type="YesNoType" />
-			<xsd:attribute name="media-type" type="xsd:string" use="optional" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="key">
-		<xsd:complexType>
-			<xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
-			<xsd:attribute name="match" type="pattern" use="required" />
-			<xsd:attribute name="use" type="expression" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="decimal-format">
-		<xsd:complexType>
-			<xsd:attribute name="name" type="xsd:NMTOKEN" use="optional" />
-			<xsd:attribute default="." name="decimal-separator" type="xsd:string" />
-			<xsd:attribute default="," name="grouping-separator" type="xsd:string" />
-			<xsd:attribute default="Infinity" name="infinity" type="xsd:string" />
-			<xsd:attribute default="-" name="minus-sign" type="xsd:string" />
-			<xsd:attribute default="NaN" name="NaN" type="xsd:string" />
-			<xsd:attribute default="%" name="percent" type="xsd:string" />
-			<xsd:attribute default="‰" name="per-mille" type="xsd:string" />
-			<xsd:attribute default="0" name="zero-digit" type="xsd:string" />
-			<xsd:attribute default="#" name="digit" type="xsd:string" />
-			<xsd:attribute default=";" name="pattern-separator" type="xsd:string" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="namespace-alias">
-		<xsd:complexType>
-			<xsd:attribute name="stylesheet-prefix" type="xsd:string" use="required" />
-			<xsd:attribute name="result-prefix" type="xsd:string" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="template">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="param" minOccurs="0" maxOccurs="unbounded" />
-				<xsd:choice minOccurs="0" maxOccurs="unbounded">
-					<xsd:group ref="char-instructions"></xsd:group>
-					<xsd:any namespace="##other" processContents="skip" />
-				</xsd:choice>
-			</xsd:sequence>
-			<xsd:attribute name="match" type="pattern" use="optional" />
-			<xsd:attribute name="name" type="xsd:NMTOKEN" use="optional" />
-			<xsd:attribute name="priority" type="xsd:NMTOKEN" use="optional" />
-			<xsd:attribute name="mode" type="xsd:NMTOKEN" use="optional" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="value-of">
-		<xsd:complexType>
-			<xsd:attributeGroup ref="select-required" />
-			<xsd:attributeGroup ref="disable-output-escaping" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="copy-of">
-		<xsd:complexType>
-			<xsd:attributeGroup ref="select-required" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="number">
-		<xsd:complexType>
-			<xsd:attribute default="single" name="level">
-				<xsd:simpleType>
-					<xsd:restriction base="xsd:string">
-						<xsd:enumeration value="single" />
-						<xsd:enumeration value="multiple" />
-						<xsd:enumeration value="any" />
-					</xsd:restriction>
-				</xsd:simpleType>
-			</xsd:attribute>
-	        <xsd:attribute name="count" type="pattern" use="optional"/>
-		    <xsd:attribute name="from" type="pattern" use="optional"/>
-		    <xsd:attribute name="value" type="expression" use="optional"/>
-			<xsd:attribute default="1" name="format" type="xsd:string" />
-			<xsd:attribute name="lang" type="xsd:string" use="optional" />
-			<xsd:attribute name="letter-value" type="xsd:string" use="optional" />
-			<xsd:attribute name="grouping-separator" type="xsd:string" use="optional" />
-			<xsd:attribute name="grouping-size" type="xsd:string" use="optional" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="apply-templates">
-		<xsd:complexType>
-			<xsd:choice maxOccurs="unbounded" minOccurs="0">
-				<xsd:element ref="sort" />
-				<xsd:element ref="with-param" />
-			</xsd:choice>
-			<xsd:attribute default="node()" name="select" type="expression" />
-			<xsd:attribute name="mode" type="xsd:NMTOKEN" use="optional" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="apply-imports">
-		<xsd:complexType />
-	</xsd:element>
-
-	<xsd:element name="for-each">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="sort" minOccurs="0" maxOccurs="unbounded" />
-				<xsd:choice minOccurs="0" maxOccurs="unbounded">
-					<xsd:group ref="char-instructions"></xsd:group>
-					<xsd:any namespace="##other" processContents="skip" />
-				</xsd:choice>
-			</xsd:sequence>
-			<xsd:attributeGroup ref="select-required" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="sort">
-		<xsd:complexType>
-			<xsd:attribute default="." name="select" type="expression" />
-			<xsd:attribute name="lang" type="xsd:string" use="optional" />
-			<xsd:attribute default="text" name="data-type" type="xsd:string" />
-			<xsd:attribute default="ascending" name="order" type="xsd:string" />
-			<xsd:attribute name="case-order" type="xsd:string" use="optional" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="if">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded"></xsd:group>
-			<xsd:attribute name="test" type="expression" use="required" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="choose">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="when" minOccurs="1" maxOccurs="unbounded" />
-				<xsd:element ref="otherwise" minOccurs="0" />
-			</xsd:sequence>
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="when">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
-			<xsd:attribute name="test" type="expression" use="required" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="otherwise">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="attribute-set">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element  ref="attribute"  minOccurs="0" maxOccurs="unbounded" />
-			</xsd:sequence>
-			<xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
-			<xsd:attribute name="use-attribute-sets" type="xsd:NMTOKENS" use="optional" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="call-template">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="with-param" minOccurs="0"  maxOccurs="unbounded"  />
-			</xsd:sequence>
-			<xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="with-param" type="NamedAndSelectable" />
-	
-	<xsd:element name="variable" type="NamedAndSelectable" />
-	
-	<xsd:element name="param" type="NamedAndSelectable" />
-	
-	<xsd:element name="text">
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attributeGroup ref="disable-output-escaping" />
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="processing-instruction">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="char-instructions"></xsd:group>
-			<xsd:attribute name="name" type="xsd:string" use="required" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="element">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="instructions"></xsd:group>
-			<xsd:attribute name="name" type="xsd:string" use="required" />
-			<xsd:attribute name="namespace" type="xsd:string" use="optional" />
-			<xsd:attributeGroup ref="use-attribute-sets" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="attribute">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="char-instructions"/>
-			<xsd:attribute name="name" type="xsd:string" use="required" />
-			<xsd:attribute name="namespace" type="xsd:string" use="optional" />
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="comment">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="char-instructions"/>
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="copy">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="instructions"/>
-			<!--  xsd:attribute ref="xml:space" /-->
-			<xsd:attributeGroup ref="use-attribute-sets" />
-		</xsd:complexType>
-	</xsd:element>
-	
-	<xsd:element name="message">
-		<xsd:complexType mixed="true">
-			<xsd:group ref="char-instructions"/>
-			<xsd:attribute default="no" name="terminate" type="YesNoType" />
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="fallback">
-		<xsd:complexType mixed="true">
-			<xsd:choice maxOccurs="unbounded" minOccurs="0">
-				<xsd:group ref="instructions"></xsd:group>
-			</xsd:choice>
-			<!--  xsd:attribute ref="xml:space" /-->
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:group name="instructions">
-		<xsd:choice>
-			<xsd:group ref="char-instructions"></xsd:group>
-			<xsd:element ref="processing-instruction" />
-			<xsd:element ref="comment" />
-			<xsd:element ref="element" />
-			<xsd:element ref="attribute" />
-		</xsd:choice>
-	</xsd:group>
-
-	<xsd:group name="char-instructions">
-		<xsd:choice>
-			<xsd:element ref="apply-templates" />
-			<xsd:element ref="call-template" />
-			<xsd:element ref="apply-imports" />
-			<xsd:element ref="for-each" />
-			<xsd:element ref="value-of" />
-			<xsd:element ref="copy-of" />
-			<xsd:element ref="number" />
-			<xsd:element ref="choose" />
-			<xsd:element ref="if" />
-			<xsd:element ref="text" />
-			<xsd:element ref="copy" />
-			<xsd:element ref="variable" />
-			<xsd:element ref="message" />
-			<xsd:element ref="fallback" />
-		</xsd:choice>
-	</xsd:group>
-
-	<xsd:group name="topLevelElements">
-		<xsd:choice>
-			<xsd:element ref="import" />
-			<xsd:element ref="include" />
-			<xsd:element ref="strip-space" />
-			<xsd:element ref="preserve-space" />
-			<xsd:element ref="key" />
-			<xsd:element ref="decimal-format" />
-			<xsd:element ref="attribute-set" />
-			<xsd:element ref="namespace-alias" />
-			<xsd:element ref="param" />
-			<xsd:element ref="variable" />
-			<xsd:element ref="output" />
-			<xsd:element ref="template" />
-		</xsd:choice>
-	</xsd:group>
-
-	<xsd:simpleType name="YesNoType">
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="yes" />
-			<xsd:enumeration value="no" />
-		</xsd:restriction>
-	</xsd:simpleType>
-
-	<xsd:complexType name="NamedAndSelectable" mixed="true">
-		<xsd:group ref="instructions" minOccurs="0" maxOccurs="unbounded" />
-		<xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
-		<xsd:attributeGroup ref="select-optional" />
-	</xsd:complexType>
-
-
-	<xsd:simpleType name="expression">
-		<xsd:restriction base="xsd:string"></xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="pattern">
-		<xsd:restriction base="xsd:string"></xsd:restriction>
-	</xsd:simpleType>
-
-	<xsd:attributeGroup name="select-optional">
-		<xsd:attribute name="select" type="expression" />
-	</xsd:attributeGroup>
-	<xsd:attributeGroup name="select-required">
-		<xsd:attribute name="select" type="expression" use="required" />
-	</xsd:attributeGroup>
-	<xsd:attributeGroup name="disable-output-escaping">
-		<xsd:attribute name="disable-output-escaping" type="YesNoType" default="no" />
-	</xsd:attributeGroup>
-	<xsd:attributeGroup name="use-attribute-sets">
-		<xsd:attribute name="use-attribute-sets" type="xsd:NMTOKENS" use="optional"/>
-	</xsd:attributeGroup>
-
-</xsd:schema>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml b/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml
deleted file mode 100644
index ca8ffe8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/plugin.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    	<extension point="org.eclipse.wst.xml.core.catalogContributions">
-	  <catalogContribution> 
-           <system id="testSystemId"
-               systemId="http://personal/personal.dtd"
-               uri="data/Personal/personal.dtd"> 
-               </system>
-           <public id="testPublicId1"
-               publicId="InvoiceId_test"
-               uri="data/Invoice/Invoice.dtd"
-               webURL="http://org.eclipse.wst.xml.example/Invoice.dtd">
-          </public>
-          <uri id="testUriId1"
-               name="http://apache.org/xml/xcatalog/example" 
-               uri="data/example/example.xsd"/> 
-          <uri id="testURIId2"
-               name="http://www.w3.org/2001/XMLSchema"
-               uri="platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd">
-          </uri> 
-           <uri id="testURIId3"
-               name="http://oasis.names.tc.entity.xmlns.xml.catalog"
-               uri="jar:platform:/plugin/org.eclipse.wst.xml.catalog.tests/data/schemas.jar!/data/catalog.xsd">
-          </uri> 
-          <nextCatalog id="testNestedCatalog"
-               catalog="data/catalog1.xml"/> 
-       </catalogContribution> 
-	</extension> 
-   
- 
-</plugin>
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java
deleted file mode 100644
index b045822..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AbstractCatalogTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.CatalogContributorRegistryReader;
-import org.eclipse.wst.xml.core.internal.catalog.CatalogSet;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-import org.osgi.framework.Bundle;
-
-public abstract class AbstractCatalogTest extends TestCase
-{
-    private CatalogSet catalogSet = new CatalogSet();
-    
-    protected ICatalog systemCatalog;
-
-    protected ICatalog userCatalog;
-
-    protected ICatalog defaultCatalog;
-    
-    
-    public AbstractCatalogTest(String name)
-    {
-        super(name);
-        
-    }
-
-    protected static List getCatalogEntries(ICatalog catalog, int entryType)
-    {
-        List result = new ArrayList();
-        ICatalogEntry[] entries = catalog.getCatalogEntries();
-        for (int i = 0; i < entries.length; i++)
-        {
-            ICatalogEntry entry = entries[i];
-            if (entry.getEntryType() == entryType)
-            {
-                result.add(entry);
-            }
-        }
-        return result;
-    }
-    
-    protected ICatalog getCatalog(String id, String uriString) throws Exception
-    {
-		return catalogSet.lookupOrCreateCatalog(id, uriString);
-    }
-    
-
-    public void initCatalogs()
-    {
-        defaultCatalog = XMLCorePlugin.getDefault().getDefaultXMLCatalog();
-        INextCatalog[] nextCatalogs = defaultCatalog.getNextCatalogs();
-        for (int i = 0; i < nextCatalogs.length; i++)
-        {
-            INextCatalog catalog = nextCatalogs[i];
-            ICatalog referencedCatalog = catalog.getReferencedCatalog();
-            if (referencedCatalog != null)
-            {
-                if (XMLCorePlugin.SYSTEM_CATALOG_ID
-                        .equals(referencedCatalog.getId()))
-                {
-                    systemCatalog = referencedCatalog;
-                } else if (XMLCorePlugin.USER_CATALOG_ID
-                        .equals(referencedCatalog.getId()))
-                {
-                    userCatalog = referencedCatalog;
-                }
-            }
-        }
-    }
-
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        initCatalogs();
-    }
-	
-	protected static String makeAbsolute(String baseLocation, String location)
-	  {
-		  URL local = null;
-		  location = location.replace('\\', '/');
-		  try
-		  {
-			  URL baseURL = new URL(baseLocation);
-			  local = new URL(baseURL, location);
-		  } catch (MalformedURLException e)
-		  {
-		  }
-		  
-		  if (local != null)
-		  {
-			  return local.toString();
-		  } else
-		  {
-			  return location;
-		  }
-	  }
-	
-	protected static URL resolvePluginLocation(String pluginId){
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle != null)
-		{
-			URL bundleEntry = bundle.getEntry("/");
-			try
-			{
-				return Platform.resolve(bundleEntry);
-			} catch (IOException e)
-			{
-				e.printStackTrace();
-			}
-		}
-		return null;
-	}
-	
-	// see CatalogContributorRegistryReader.resolvePath(String path) 
-	  protected String resolvePath(String pluginId, String path) 
-	  {
-
-		  return  CatalogContributorRegistryReader.resolvePath( 
-				  CatalogContributorRegistryReader.getPlatformURL(pluginId), path);
-	  }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java
deleted file mode 100644
index 8c4bd78..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/AllTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(
-				"Test for org.eclipse.wst.xml.catalog.tests");
-		//$JUnit-BEGIN$
-		suite.addTestSuite(CatalogReaderTest.class);
-		suite.addTestSuite(CatalogResolverTest.class);
-		suite.addTestSuite(CatalogWriterTest.class);
-		suite.addTestSuite(CatalogContributorRegistryReaderTest.class);
-		suite.addTestSuite(CatalogTest.class);
-		//$JUnit-END$
-		return suite;
-	}
-    
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java
deleted file mode 100644
index e5c80f7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogContributorRegistryReaderTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-
-
-public class CatalogContributorRegistryReaderTest extends AbstractCatalogTest
-{
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-    }
-
-    protected void tearDown() throws Exception
-    {
-        super.tearDown();
-    }
-
-    public CatalogContributorRegistryReaderTest(String name)
-    {
-        super(name);
-    }
-
-    public final void testReadRegistry() throws Exception
-    {
-        assertNotNull(defaultCatalog);
-        assertEquals(XMLCorePlugin.DEFAULT_CATALOG_ID, defaultCatalog.getId());
-        assertEquals(2, defaultCatalog.getNextCatalogs().length);
-
-		String pluginId = TestPlugin.getDefault().getBundle().getSymbolicName();
-    
-		  // test system entries
-        assertNotNull(systemCatalog);
-        List entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
-		for (int i = 0; i < entries.size(); i++)
-		{
-			ICatalogEntry entry = (ICatalogEntry)entries.get(i);
-			if("testSystemId".equals(entry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "data/Personal/personal.dtd");
-				assertEquals(resolvedURI, entry.getURI());
-				assertEquals("http://personal/personal.dtd", entry.getKey());
-			}
-		}
-		
-		// test public entries
-        entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);      
-		for (int i = 0; i < entries.size(); i++)
-		{
-			ICatalogEntry entry = (ICatalogEntry)entries.get(i);
-			if("testPublicId1".equals(entry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "data/Invoice/Invoice.dtd");
-				assertEquals(resolvedURI, entry.getURI());
-				assertEquals("InvoiceId_test", entry.getKey());
-				// test user defined attributes
-				assertEquals("http://org.eclipse.wst.xml.example/Invoice.dtd", entry.getAttributeValue("webURL"));
-
-			}
-			
-			else if("testMappingInfo".equals(entry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
-				assertEquals(resolvedURI, entry.getURI());
-				assertEquals("http://www.w3.org/2001/XMLSchema1", entry.getKey());
-			}
-	     
-		}
-      
-        // test uri entries
-        entries = CatalogTest.getCatalogEntries(systemCatalog, ICatalogEntry.ENTRY_TYPE_URI);
-		for (int i = 0; i < entries.size(); i++)
-		{
-			ICatalogEntry entry = (ICatalogEntry)entries.get(i);
-			if("testURIId1".equals(entry.getId()))
-			{
-				  String resolvedURI = resolvePath(pluginId, "data/example/example.xsd");
-			      assertEquals(resolvedURI, entry.getURI());
-			      assertEquals("http://apache.org/xml/xcatalog/example", entry.getKey());
-			}
-			else if("testURIId2".equals(entry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
-				assertEquals(resolvedURI, entry.getURI());
-				assertEquals("http://www.w3.org/2001/XMLSchema", entry.getKey());
-			}
-			else if("testURIId3".equals(entry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "jar:platform:/plugin/org.eclipse.wst.xml.catalog.tests/data/schemas.jar!/data/catalog.xsd");
-				assertEquals(resolvedURI, entry.getURI());
-				assertEquals("http://oasis.names.tc.entity.xmlns.xml.catalog", entry.getKey());
-			}
-		}
-      
-        // test tested catalog
-        INextCatalog[] nextCatalogEntries = systemCatalog.getNextCatalogs();
-        for (int i = 0; i < nextCatalogEntries.length; i++)
-		{
-			INextCatalog nextCatalogEntry = (INextCatalog) nextCatalogEntries[i];
-			if("testNestedCatalog".equals(nextCatalogEntry.getId()))
-			{
-				String resolvedURI = resolvePath(pluginId, "data/catalog1.xml");
-				assertEquals(resolvedURI, nextCatalogEntry.getCatalogLocation());
-				ICatalog nextCatalog = nextCatalogEntry.getReferencedCatalog();
-				assertNotNull(nextCatalog);
-				assertEquals(3, nextCatalog.getCatalogEntries().length);
-				// test public entries
-				entries = CatalogTest.getCatalogEntries(nextCatalog,
-						ICatalogEntry.ENTRY_TYPE_PUBLIC);
-				assertEquals(1, entries.size());
-				ICatalogEntry entry = (ICatalogEntry) entries.get(0);
-				//URI uri = URIHelper.getURIForFilePath(resolvedURI);
-				//resolvedURI = URIHelper.makeAbsolute(uri.toURL(), "./Invoice/Invoice.dtd");
-				assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-				assertEquals("InvoiceId_test", entry.getKey());
-				// test system entries
-				entries = CatalogTest.getCatalogEntries(nextCatalog,
-						ICatalogEntry.ENTRY_TYPE_SYSTEM);
-				assertEquals(1, entries.size());
-				entry = (ICatalogEntry) entries.get(0);
-				assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-				assertEquals("Invoice.dtd", entry.getKey());
-				// test uri entries
-				entries = CatalogTest.getCatalogEntries(nextCatalog,
-						ICatalogEntry.ENTRY_TYPE_URI);
-				assertEquals(1, entries.size());
-				entry = (ICatalogEntry) entries.get(0);
-				assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-				assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
-			}
-		}
-    }
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java
deleted file mode 100644
index 079355e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogReaderTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-
-public class CatalogReaderTest extends AbstractCatalogTest {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public CatalogReaderTest(String name) {
-		super(name);
-	}
-
-
-	/*
-	 * Class under test for void read(ICatalog, String)
-	 */
-	public void testReadCatalog()throws Exception {
-
-		//read catalog
-		String catalogFile = "/data/catalog1.xml";
-		URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(catalogFile);
-		assertNotNull(catalogUrl);
-		URL base = Platform.resolve(catalogUrl);
-
-		Catalog catalog = (Catalog)getCatalog("catalog1", base.toString());
-		//CatalogReader.read(catalog, catalogFilePath);
-		assertNotNull(catalog);
-		
-		// test main catalog - catalog1.xml
-		//assertEquals("cat1", catalog.getId());
-		assertEquals(3, catalog.getCatalogEntries().length);
-			
-		// test public entries
-		List entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
-		assertEquals(1, entries.size());
-		ICatalogEntry entry = (ICatalogEntry)entries.get(0);
-		//String resolvedURI = URIHelper.makeAbsolute(base, "./Invoice/Invoice.dtd");
-		
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("InvoiceId_test", entry.getKey());
-		assertEquals("http://webURL", entry.getAttributeValue("webURL"));
-
-		
-		//  test system entries
-		entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry)entries.get(0);
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("Invoice.dtd", entry.getKey());
-		assertEquals("yes", entry.getAttributeValue("chached"));
-		assertEquals("value1", entry.getAttributeValue("property"));
-
-
-		//  test uri entries
-		entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_URI);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry)entries.get(0);
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
-		assertEquals("no", entry.getAttributeValue("chached"));
-		assertEquals("value2", entry.getAttributeValue("property"));
-		
-		//  test next catalog - catalog2.xml
-		INextCatalog[] nextCatalogEntries = catalog.getNextCatalogs();
-		assertEquals(1, nextCatalogEntries.length);
-	
-		INextCatalog nextCatalogEntry = (INextCatalog)nextCatalogEntries[0];
-		assertNotNull(nextCatalogEntry);
-		
-//		String catalogRefId = nextCatalogEntry.getCatalogRefId();
-//		assertEquals("nextCatalog1", catalogRefId);
-		//resolvedURI = URIHelper.makeAbsolute(base, "catalog2.xml");
-		assertEquals("catalog2.xml", nextCatalogEntry.getCatalogLocation());
-
-		ICatalog nextCatalog = nextCatalogEntry.getReferencedCatalog();
-
-		assertNotNull(nextCatalog);
-		assertEquals(4, nextCatalog.getCatalogEntries().length);
-		
-		// test public entries
-		entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
-		assertEquals(2, entries.size());
-		entry = (ICatalogEntry)entries.get(0);
-		//resolvedURI = URIHelper.makeAbsolute(nextCatalog.getBase(), "./PublicationCatalog/Catalogue.xsd");
-		assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
-		assertEquals("http://www.eclipse.org/webtools/Catalogue_001", entry.getKey());
-		
-		// test public entry from a group
-		entry = (ICatalogEntry)entries.get(1);
-		//resolvedURI = URIHelper.makeAbsolute(nextCatalog.getBase(), "./PublicationCatalog/Catalogue.xsd");
-		assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
-		assertEquals("http://www.eclipse.org/webtools/Catalogue_002", entry.getKey());
-
-		//  test system entries
-		entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_SYSTEM);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry)entries.get(0);
-		assertEquals("./PublicationCatalog/Catalogue.xsd", entry.getURI());
-		assertEquals("Catalogue.xsd", entry.getKey());
-		//  test uri entries
-		entries = CatalogTest.getCatalogEntries(nextCatalog, ICatalogEntry.ENTRY_TYPE_URI);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry)entries.get(0);
-		assertEquals("http://www.eclipse.org/webtools/Catalogue/Catalogue.xsd", entry.getURI());
-		assertEquals("http://www.eclipse.org/webtools/Catalogue.xsd", entry.getKey());
-		
-
-	}
-	
-	public void testCompatabilityReader() throws Exception {
-		//	read catalog
-		String catalogFile = "/data/compatabilityTest.xmlcatalog";
-		URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(catalogFile);
-		assertNotNull(catalogUrl);
-		URL base = Platform.resolve(catalogUrl);
-
-		Catalog catalog = (Catalog)getCatalog("compatabilityCatalog", base.toString());
-		//CatalogReader.read(catalog, catalogFilePath);
-		assertNotNull(catalog);
-		List entries = CatalogTest.getCatalogEntries(catalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
-		assertEquals(1, entries.size());
-		ICatalogEntry entry = (ICatalogEntry)entries.get(0);
-		assertEquals("platform:/resource/XMLExamples/Invoice2/Invoice.dtd", entry.getURI());
-		assertEquals("InvoiceId", entry.getKey());
-	}
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java
deleted file mode 100644
index 222cbb7..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogResolverTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-
-public class CatalogResolverTest extends AbstractCatalogTest {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public CatalogResolverTest(String name) {
-		super(name);
-	}
-
-	public final void testResolveResolver() throws Exception {
-	
-	
-		// from plugin.xml file
-		String pluginBase = resolvePluginLocation(TestPlugin.getDefault().getBundle().getSymbolicName()).toString();
-
-		String resolvedActual = defaultCatalog.resolvePublic("InvoiceId_test", null);
-		String resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
-		assertEquals(resolvedURI, resolvedActual);
-		resolvedActual = defaultCatalog.resolveSystem("http://personal/personal.dtd");
-		resolvedURI = makeAbsolute(pluginBase, "data/Personal/personal.dtd");
-		assertEquals(resolvedURI, resolvedActual);
-		resolvedActual = defaultCatalog.resolveURI("http://apache.org/xml/xcatalog/example");
-		resolvedURI = makeAbsolute(pluginBase, "data/example/example.xsd");
-		assertEquals(resolvedURI, resolvedActual);
-		resolvedActual = defaultCatalog.resolveURI("http://www.w3.org/2001/XMLSchema");
-		resolvedURI = resolvePath("", "platform:/plugin/org.eclipse.xsd/cache/www.w3.org/2001/XMLSchema.xsd");
-		resolvedURI = makeAbsolute(pluginBase, resolvedURI);
-		assertEquals(resolvedURI, resolvedActual);
-		
-		// from catalog1.xml
-		resolvedActual = defaultCatalog.resolvePublic("InvoiceId_test", null);
-		resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
-		assertEquals(resolvedURI, resolvedActual);
-
-		resolvedActual = defaultCatalog.resolveSystem("Invoice.dtd");
-		resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
-		assertEquals(resolvedURI, resolvedActual);
-
-		resolvedActual = defaultCatalog.resolveURI("http://www.test.com/Invoice.dtd");
-		resolvedURI = makeAbsolute(pluginBase, "data/Invoice/Invoice.dtd");
-		assertEquals(resolvedURI, resolvedActual);
-
-		
-		// from catalog2.xml
-		resolvedActual = defaultCatalog.resolvePublic("http://www.eclipse.org/webtools/Catalogue_001", null);
-		resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
-		assertEquals(resolvedURI, resolvedActual);
-		
-		resolvedActual = defaultCatalog.resolvePublic("http://www.eclipse.org/webtools/Catalogue_002", null);
-		resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
-		assertEquals(resolvedURI, resolvedActual);
-
-		resolvedActual = defaultCatalog.resolveSystem("Catalogue.xsd");
-		resolvedURI = makeAbsolute(pluginBase, "data/PublicationCatalog/Catalogue.xsd");
-		assertEquals(resolvedURI, resolvedActual);
-
-		resolvedActual = defaultCatalog.resolveURI("http://Catalogue.xsd");
-		resolvedURI = "http://www.eclipse.org/webtools/Catalogue.xsd";
-		assertEquals(resolvedURI, resolvedURI);
-
-
-	}
-
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java
deleted file mode 100644
index 57ec343..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-
-
-
-public class CatalogTest extends AbstractCatalogTest {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public CatalogTest(String name) {
-		super(name);
-	}
-    
-    public void testCatalog() throws Exception
-    {
-       Catalog workingUserCatalog = new Catalog(null, "working", null);
-       assertNotNull(userCatalog);
-       workingUserCatalog.addEntriesFromCatalog(userCatalog);
-       
-       ICatalogEntry catalogEntry = (ICatalogEntry)userCatalog.createCatalogElement(ICatalogEntry.ENTRY_TYPE_PUBLIC);
-       catalogEntry.setKey("testKey");
-       catalogEntry.setURI("http://testuri");
-       workingUserCatalog.addCatalogElement(catalogEntry);
-     
-       userCatalog.addEntriesFromCatalog(workingUserCatalog);
-	   String userCatalogLocation = userCatalog.getLocation();
-	  
-       userCatalog.save();
-       userCatalog.clear();
-       
-       userCatalog = getCatalog(XMLCorePlugin.USER_CATALOG_ID, userCatalogLocation);
-       
-       List entries = getCatalogEntries(userCatalog, ICatalogEntry.ENTRY_TYPE_PUBLIC);
-       assertEquals(1, entries.size());
-       ICatalogEntry entry = (ICatalogEntry)entries.get(0);
-     
-       assertEquals("http://testuri", entry.getURI());
-       assertEquals("testKey", entry.getKey());
-
-   
-    }
-
-
-   
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java
deleted file mode 100644
index cfdab44..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/CatalogWriterTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.internal.catalog.Catalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-public class CatalogWriterTest extends AbstractCatalogTest {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public CatalogWriterTest(String name) {
-		super(name);
-	}
-
-	public final void testWrite() throws Exception {
-
-		// read catalog
-		String catalogFile = "/data/catalog1.xml";
-		URL catalogUrl = TestPlugin.getDefault().getBundle().getEntry(
-				catalogFile);
-		assertNotNull(catalogUrl);
-		URL resolvedURL = Platform.resolve(catalogUrl);
-
-		Catalog testCatalog = (Catalog) getCatalog("catalog1", resolvedURL
-				.toString());
-		assertNotNull(testCatalog);
-		testCatalog.setBase(resolvedURL.toString());
-		// CatalogReader.read(testCatalog, resolvedURL.getFile());
-		assertNotNull(testCatalog);
-
-		// write catalog
-		URL resultsFolder = TestPlugin.getDefault().getBundle().getEntry(
-				"/");
-		IPath path = new Path(Platform.resolve(resultsFolder).getFile());
-		String resultCatalogFile = path.append("actual_results/catalog1.xml").toFile().toURI().toString();
-		testCatalog.setLocation(resultCatalogFile);
-		// write catalog
-		testCatalog.save();
-		
-		// read catalog file from the saved location and test its content
-		Catalog catalog = (Catalog) getCatalog("catalog2", testCatalog.getLocation());
-		assertNotNull(catalog);
-
-		// test saved catalog - catalog1.xml
-		assertEquals(3, catalog.getCatalogEntries().length);
-
-		// test public entries
-		List entries = CatalogTest.getCatalogEntries(catalog,
-				ICatalogEntry.ENTRY_TYPE_PUBLIC);
-		assertEquals(1, entries.size());
-		ICatalogEntry entry = (ICatalogEntry) entries.get(0);
-
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("InvoiceId_test", entry.getKey());
-		assertEquals("http://webURL", entry.getAttributeValue("webURL"));
-
-		// test system entries
-		entries = CatalogTest.getCatalogEntries(catalog,
-				ICatalogEntry.ENTRY_TYPE_SYSTEM);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry) entries.get(0);
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("Invoice.dtd", entry.getKey());
-		assertEquals("yes", entry.getAttributeValue("chached"));
-		assertEquals("value1", entry.getAttributeValue("property"));
-
-		// test uri entries
-		entries = CatalogTest.getCatalogEntries(catalog,
-				ICatalogEntry.ENTRY_TYPE_URI);
-		assertEquals(1, entries.size());
-		entry = (ICatalogEntry) entries.get(0);
-		assertEquals("./Invoice/Invoice.dtd", entry.getURI());
-		assertEquals("http://www.test.com/Invoice.dtd", entry.getKey());
-		assertEquals("no", entry.getAttributeValue("chached"));
-		assertEquals("value2", entry.getAttributeValue("property"));
-
-		// test next catalog - catalog2.xml
-		INextCatalog[] nextCatalogEntries = catalog.getNextCatalogs();
-		assertEquals(1, nextCatalogEntries.length);
-
-		INextCatalog nextCatalogEntry = (INextCatalog) nextCatalogEntries[0];
-		assertNotNull(nextCatalogEntry);
-
-		assertEquals("catalog2.xml", nextCatalogEntry.getCatalogLocation());
-	}
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java
deleted file mode 100644
index 4e42219..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/TestPlugin.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class TestPlugin extends Plugin {
-	//The shared instance.
-	private static TestPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public TestPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-		resourceBundle = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static TestPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = TestPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.wst.xml.catalog.test.TestPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-	
-	
-	public static String resolvePluginLocation(String path) throws IOException {
-		URL url = getDefault().getBundle().getEntry(path);
-		url = Platform.resolve(url);
-		return url.getFile();
-	}
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java
deleted file mode 100644
index 4bb55b8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/XSDSchemaTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-
-import junit.framework.TestCase;
-
-public class XSDSchemaTest extends TestCase {
-
-	public static void main(String[] args) {
-	}
-	
-	public void testSchemaForSchema(){
-		
-		  XSDSchemaImpl.getSchemaForSchema("http://www.w3.org/2001/XMLSchema");  
-	}
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java
deleted file mode 100644
index dca8739..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/catalog/tests/internal/ZipTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.wst.xml.catalog.tests.internal;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-public class ZipTest extends TestCase {
-
-	 public void testZip() throws Exception{
-		  
-		  URL url = new URL("jar:file:/D:/tcs/catalogJarTest/schemas.jar!/data/catalog.xsd");
-		  InputStream is = url.openStream();
-    }
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java
deleted file mode 100644
index e5ef8d0..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/FileUtil.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.io.PrintWriter;
-
-public class FileUtil {
-
-	public FileUtil() {
-		super();
-	}
-	
-	public static void copyFile(String src, String dest) {
-		InputStream is = null;
-		FileOutputStream fos = null;
-		try {
-			is = new FileInputStream(src);
-			fos = new FileOutputStream(dest);
-			int c = 0;
-			byte[] array = new byte[1024];
-			while ((c = is.read(array)) >= 0) {
-				fos.write(array, 0, c);
-			}
-		} catch (Exception e) {
-		} finally {
-			try {
-				fos.close();
-				is.close();
-			} catch (Exception e) {
-			}
-		}
-	}
-	
-	public static File createFileAndParentDirectories(String fileName)
-		throws Exception {
-		File file = new File(fileName);
-		File parent = file.getParentFile();
-		if (!parent.exists()) {
-			parent.mkdirs();
-		}
-		file.createNewFile();
-		return file;
-	}
-	
-	public static void deleteDirectories(File dir)
-		throws Exception {
-
-		File[] children = dir.listFiles();
-		for(int i=0; i< children.length; i++){
-			if(children[i].list() != null && children[i].list().length > 0){
-				deleteDirectories(children[i]);
-			}
-			else{
-				children[i].delete();
-			}
-		}
-		dir.delete();
-			
-	}
-	
-	public static boolean textualCompare(final File first, final File second, File diff) throws java.io.IOException {
-        BufferedReader r1 = new BufferedReader(new FileReader(first));
-        BufferedReader r2 = new BufferedReader(new FileReader(second));
-        PrintWriter printWriter = new PrintWriter(new FileOutputStream(diff));             
-                             
-        boolean diffFound = false;
-        while (r1.ready()) {
-            String s1 = r1.readLine();
-            String s2 = r2.readLine();
-            if (s1 == null) {
-                if (s2 == null)
-                    return diffFound;   // files equal
-                else
-                    diffFound = true;  // files differ in length
-            }
-            if (!s1.equals(s2)) {
-            	printWriter.println("<<<< " + s1);
-            	printWriter.println("<<<< " + s2);
-                diffFound = true;    // files differ
-            }
-        } 
-        
-        printWriter.flush(); 
-        
-        return  diffFound;
-     
-    }
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java
deleted file mode 100644
index 389d001..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ResolvingXMLParser.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.Vector;
-
-import org.apache.xml.resolver.CatalogManager;
-import org.apache.xml.resolver.apps.XParseError;
-import org.apache.xml.resolver.tools.ResolvingXMLReader;
-
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-public class ResolvingXMLParser {
-	
-	public boolean validationError = false;
-
-	protected static int maxErrs = 10;
-
-	protected static boolean nsAware = true;
-
-	protected static boolean validating = true;
-
-	protected static boolean showErrors = true;
-
-	protected static boolean showWarnings = true;
-
-	protected static Vector catalogFiles = new Vector();
-
-	protected  void parseAndValidate(String xmlFile, String[] catalogs)
-			throws MalformedURLException, FileNotFoundException, IOException {
-
-			CatalogManager myManager = new CatalogManager();
-			StringBuffer catalogFile = new StringBuffer();
-			for(int i=0; i<catalogs.length; i++){
-				catalogFile = catalogFile.append(catalogs[i] + ";");
-			}
-			myManager.setCatalogFiles(catalogFile.toString());
-		    myManager.setIgnoreMissingProperties(true);
-		    myManager.setVerbosity(2);
-		    ResolvingXMLReader reader = new ResolvingXMLReader(myManager);
-			try {
-				reader.setFeature("http://xml.org/sax/features/namespaces",
-								nsAware);
-				reader.setFeature("http://xml.org/sax/features/validation",
-						validating);
-				reader.setFeature(
-						"http://apache.org/xml/features/validation/schema", true);
-			} catch (SAXNotRecognizedException e1) {
-				e1.printStackTrace();
-			} catch (SAXNotSupportedException e1) {
-				e1.printStackTrace();
-			}
-
-		XParseError xpe = new XParseError(showErrors, showWarnings);
-		xpe.setMaxMessages(maxErrs);
-		reader.setErrorHandler(xpe);
-
-		String parseType = validating ? "validating" : "well-formed";
-		String nsType = nsAware ? "namespace-aware" : "namespace-ignorant";
-		if (maxErrs > 0) {
-			System.out.println("Attempting " + parseType + ", " + nsType
-					+ " parse");
-		}
-
-		try {
-			reader.parse(xmlFile);
-		} catch (Exception e) {
-			validationError = true;
-			e.printStackTrace();
-		}
-
-		if (maxErrs > 0) {
-			System.out.print("Parse ");
-			if (xpe.getFatalCount() > 0) {
-				validationError = true;
-				System.out.print("failed ");
-			} else {
-				System.out.print("succeeded ");
-				System.out.print("(");
-			}
-			System.out.print("with ");
-
-			int errCount = xpe.getErrorCount();
-			int warnCount = xpe.getWarningCount();
-
-			if (errCount > 0) {
-				validationError = true;
-				System.out.print(errCount + " error");
-				System.out.print(errCount > 1 ? "s" : "");
-				System.out.print(" and ");
-			} else {
-				System.out.print("no errors and ");
-			}
-
-			if (warnCount > 0) {
-				validationError = true;
-				System.out.print(warnCount + " warning");
-				System.out.print(warnCount > 1 ? "s" : "");
-				System.out.print(".");
-			} else {
-				System.out.print("no warnings.");
-			}
-
-			System.out.println("");
-		}
-	}
-	
-	
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java
deleted file mode 100644
index 46861c2..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/TraXLiaison.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001-2002 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- *    any, must include the following acknowlegement:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowlegement may appear in the software itself,
- *    if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- *    Foundation" must not be used to endorse or promote products derived
- *    from this software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- *    nor may "Apache" appear in their names without prior written
- *    permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.XMLReader;
-
-import javax.xml.parsers.SAXParserFactory;
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.Templates;
-
-import javax.xml.transform.ErrorListener;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.Source;
-import javax.xml.transform.URIResolver;
-
-import javax.xml.transform.sax.SAXSource;
-
-/**
- * Concrete liaison for XSLT processor implementing TraX. (ie JAXP 1.1)
- *
- * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
- * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
- * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
- * @since Ant 1.3
- */
-public class TraXLiaison implements XSLTLiaison, ErrorListener {
-
-	/** The trax TransformerFactory */
-	private TransformerFactory tfactory = null;
-
-	/** stylesheet stream, close it asap */
-	private FileInputStream xslStream = null;
-
-	/** Stylesheet template */
-	private Templates templates = null;
-
-	/** transformer */
-	private Transformer transformer = null;
-
-	/** possible resolver for publicIds */
-	private EntityResolver entityResolver;
-
-	/** possible resolver for URIs */
-	private URIResolver uriResolver;
-
-	public TraXLiaison() throws Exception {
-		tfactory = TransformerFactory.newInstance();
-		tfactory.setErrorListener(this);
-	}
-
-	/**
-	 * Set the output property for the current transformer.
-	 * Note that the stylesheet must be set prior to calling
-	 * this method.
-	 * @param name the output property name.
-	 * @param value the output property value.
-	 */
-	public void setOutputProperty(String name, String value) {
-		if (transformer == null) {
-			throw new IllegalStateException("stylesheet must be set prior to setting the output properties");
-		}
-		transformer.setOutputProperty(name, value);
-	}
-
-	//------------------- IMPORTANT
-	// 1) Don't use the StreamSource(File) ctor. It won't work with
-	// xalan prior to 2.2 because of systemid bugs.
-
-	// 2) Use a stream so that you can close it yourself quickly
-	// and avoid keeping the handle until the object is garbaged.
-	// (always keep control), otherwise you won't be able to delete
-	// the file quickly on windows.
-
-	// 3) Always set the systemid to the source for imports, includes...
-	// in xsl and xml...
-
-	public void setStylesheet(File stylesheet) throws Exception {
-		xslStream = new FileInputStream(stylesheet);
-		StreamSource src = new StreamSource(xslStream);
-		src.setSystemId(getSystemId(stylesheet));
-		templates = tfactory.newTemplates(src);
-		transformer = templates.newTransformer();
-		transformer.setErrorListener(this);
-	}
-
-	public void transform(File infile, File outfile) throws Exception {
-		FileInputStream fis = null;
-		FileOutputStream fos = null;
-		try {
-			fis = new FileInputStream(infile);
-			fos = new FileOutputStream(outfile);
-			// FIXME: need to use a SAXSource as the source for the transform
-			// so we can plug in our own entity resolver
-			Source src = null;
-			if (entityResolver != null) {
-				if (tfactory.getFeature(SAXSource.FEATURE)) {
-					SAXParserFactory spFactory = SAXParserFactory.newInstance();
-					spFactory.setNamespaceAware(true);
-					XMLReader reader = spFactory.newSAXParser().getXMLReader();
-					reader.setEntityResolver(entityResolver);
-					src = new SAXSource(reader, new InputSource(fis));
-				} else {
-					throw new IllegalStateException(
-						"xcatalog specified, but "
-							+ "parser doesn't support SAX");
-				}
-			} else {
-				src = new StreamSource(fis);
-			}
-			src.setSystemId(getSystemId(infile));
-			StreamResult res = new StreamResult(fos);
-			// not sure what could be the need of this...
-			res.setSystemId(getSystemId(outfile));
-
-			if (uriResolver != null)
-				transformer.setURIResolver(uriResolver);
-
-			transformer.transform(src, res);
-		} finally {
-			// make sure to close all handles, otherwise the garbage
-			// collector will close them...whenever possible and
-			// Windows may complain about not being able to delete files.
-			try {
-				if (xslStream != null) {
-					xslStream.close();
-				}
-			} catch (IOException ignored) {
-			}
-			try {
-				if (fis != null) {
-					fis.close();
-				}
-			} catch (IOException ignored) {
-			}
-			try {
-				if (fos != null) {
-					fos.close();
-				}
-			} catch (IOException ignored) {
-			}
-		}
-	}
-
-	// make sure that the systemid is made of '/' and not '\' otherwise
-	// crimson will complain that it cannot resolve relative entities
-	// because it grabs the base uri via lastIndexOf('/') without
-	// making sure it is really a /'ed path
-	protected String getSystemId(File file) {
-		String path = file.getAbsolutePath();
-		path = path.replace('\\', '/');
-
-		// on Windows, use 'file:///'
-		if (File.separatorChar == '\\') {
-			return FILE_PROTOCOL_PREFIX + "/" + path;
-		}
-		// Unix, use 'file://'
-		return FILE_PROTOCOL_PREFIX + path;
-	}
-
-	public void addParam(String name, String value) {
-		transformer.setParameter(name, value);
-	}
-
-	public void error(TransformerException e) {
-		logError(e, "Error");
-	}
-
-	public void fatalError(TransformerException e) {
-		logError(e, "Fatal Error");
-	}
-
-	public void warning(TransformerException e) {
-		logError(e, "Warning");
-	}
-
-	private void logError(TransformerException e, String type) {
-
-		StringBuffer msg = new StringBuffer();
-		if (e.getLocator() != null) {
-			if (e.getLocator().getSystemId() != null) {
-				String url = e.getLocator().getSystemId();
-				if (url.startsWith("file:///")) {
-					url = url.substring(8);
-				}
-				msg.append(url);
-			} else {
-				msg.append("Unknown file");
-			}
-			if (e.getLocator().getLineNumber() != -1) {
-				msg.append(":" + e.getLocator().getLineNumber());
-				if (e.getLocator().getColumnNumber() != -1) {
-					msg.append(":" + e.getLocator().getColumnNumber());
-				}
-			}
-		}
-		msg.append(": " + type + "! ");
-		msg.append(e.getMessage());
-		if (e.getCause() != null) {
-			msg.append(" Cause: " + e.getCause());
-		}
-
-		System.out.println(msg.toString());
-	}
-
-	/** Set the class to resolve entities during the transformation
-	 */
-	public void setEntityResolver(EntityResolver aResolver) {
-		entityResolver = aResolver;
-	}
-
-	/** Set the class to resolve URIs during the transformation
-	 */
-	public void setURIResolver(URIResolver aResolver) {
-		uriResolver = aResolver;
-		tfactory.setURIResolver(aResolver);
-	}
-
-} //-- TraXLiaison
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java
deleted file mode 100644
index 45e7ac9..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/ValidatorTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-
-/**
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- * 
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class ValidatorTest extends TestCase {
-	
-	
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public ValidatorTest(String name) {
-		super(name);
-	}
-	
-	
-	public void testValidatingParser() throws IOException {
-		String xmlFile = "/data/Personal/personal-schema.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/catalog2.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-				
-		System.out.println("---------" + this.getName() + "---------");
-		ResolvingXMLParser parser = new ResolvingXMLParser();
-		parser.parseAndValidate(xmlFile, new String[]{catalogFile});
-		assertFalse(parser.validationError);
-	}
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java
deleted file mode 100644
index 7bf36a8..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTLiaison.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- *    any, must include the following acknowlegement:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowlegement may appear in the software itself,
- *    if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Ant", and "Apache Software
- *    Foundation" must not be used to endorse or promote products derived
- *    from this software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- *    nor may "Apache" appear in their names without prior written
- *    permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-
-/**
- * Proxy interface for XSLT processors.
- *
- * @author <a href="mailto:rubys@us.ibm.com">Sam Ruby</a>
- * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
- * @see XSLTProcess
- * @since Ant 1.1
- */
-public interface XSLTLiaison {
-
-    /**
-     * the file protocol prefix for systemid.
-     * This file protocol must be appended to an absolute path.
-     * Typically: <tt>FILE_PROTOCOL_PREFIX + file.getAbsolutePath()</tt>
-     * Note that on Windows, an extra '/' must be appended to the
-     * protocol prefix so that there is always 3 consecutive slashes.
-     * @since Ant 1.4
-     */
-    String FILE_PROTOCOL_PREFIX = "file://";
-
-    /**
-     * set the stylesheet to use for the transformation.
-     * @param stylesheet the stylesheet to be used for transformation.
-     * @since Ant 1.4
-     */
-    void setStylesheet(File stylesheet) throws Exception;
-
-    /**
-     * Add a parameter to be set during the XSL transformation.
-     * @param name the parameter name.
-     * @param expression the parameter value as an expression string.
-     * @throws Exception thrown if any problems happens.
-     * @since Ant 1.3
-     */
-    void addParam(String name, String expression) throws Exception;
-
-    /**
-     * Perform the transformation of a file into another.
-     * @param infile the input file, probably an XML one. :-)
-     * @param outfile the output file resulting from the transformation
-     * @throws Exception thrown if any problems happens.
-     * @see #setStylesheet(File)
-     * @since Ant 1.4
-     */
-    void transform(File infile, File outfile) throws Exception;
-
-} //-- XSLTLiaison
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java
deleted file mode 100644
index 4cfb3ad..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/resolver/tools/tests/internal/XSLTWithCatalogResolverTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.wst.xml.resolver.tools.tests.internal;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.apache.xml.resolver.tools.CatalogResolver;
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-
-/**
- * Test from http://issues.apache.org/bugzilla/show_bug.cgi?id=16336
- * 
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- * 
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class XSLTWithCatalogResolverTest extends TestCase {
-
-	CatalogResolver catalogResolver = null;
-	TraXLiaison xsltLiason = null;
-	static String SEP = File.separator;
-
-	public XSLTWithCatalogResolverTest(String name) {
-		super(name);
-	}
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(XSLTWithCatalogResolverTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();	
-		catalogResolver = new CatalogResolver();
-		xsltLiason = new TraXLiaison();
-		xsltLiason.setEntityResolver(catalogResolver);
-		xsltLiason.setURIResolver(catalogResolver);
-
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public void testXSLTwithCatalogResolver() throws Exception {
-		
-		String testDirName = "data/testXSLTwithCatalogResolver";
-		testDirName = TestPlugin.resolvePluginLocation(testDirName);
-		
-		String catalogFileName = testDirName + SEP + "catalog.xml";	
-		String xslFileName = testDirName + SEP + "xmlcatalog.xsl";
-		String xmlFileName = testDirName + SEP + "xmlcatalog2.xml";
-		String resultFileName = xmlFileName + "-out";
-		String idealResultFileName = xmlFileName + "-result";
-
-		//setup catalog 
-
-		File catalogFile = new File(catalogFileName);
-		
-		assertTrue("Catalog file " + catalogFileName + " should exist for the test", catalogFile.exists());
-	
-		catalogResolver.getCatalog().parseCatalog(catalogFileName);
-		
-		File xslFile = new File(xslFileName);
-		
-		assertTrue("XSL file " + xslFileName + " should exist for the test", xslFile.exists());		
-			
-		File inFile = new File(xmlFileName);
-		
-		assertTrue("XML file " + xslFileName + " should exist for the test", xslFile.exists());		
-		
-		File outFile = FileUtil.createFileAndParentDirectories(resultFileName);
-
-		xsltLiason.setStylesheet(xslFile);
-		xsltLiason.addParam("outprop", "testvalue");
-	
-		xsltLiason.transform(inFile, outFile);
-		
-		boolean diffFound =
-					FileUtil.textualCompare(
-						outFile,
-						new File(idealResultFileName),
-						new File(resultFileName + "-diff"));
-			
-	   assertTrue("Output file should match the expected results", !diffFound);
-
-		
-
-	}
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java
deleted file mode 100644
index d0f123e..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/MyXMLCatalogResolver.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import java.io.IOException;
-
-import org.apache.xerces.util.XMLCatalogResolver;
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-
-public class MyXMLCatalogResolver extends XMLCatalogResolver {
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public String resolveIdentifier(XMLResourceIdentifier resourceIdentifier) throws IOException, XNIException {
-	    String resolvedId = null;
-
-        // The namespace is useful for resolving namespace aware
-        // grammars such as XML schema. Let it take precedence over
-        // the external identifier if one exists.
-        String namespace = resourceIdentifier.getNamespace();
-        if (namespace != null) {
-            resolvedId = resolveURI(namespace);
-        }
-        
-        // Resolve against an external identifier if one exists. This
-        // is useful for resolving DTD external subsets and other 
-        // external entities. For XML schemas if there was no namespace 
-        // mapping we might be able to resolve a system identifier 
-        // specified as a location hint.
-        if (resolvedId == null) {
-            String publicId = resourceIdentifier.getPublicId();
-            String systemId = getUseLiteralSystemId() 
-                ? resourceIdentifier.getLiteralSystemId()
-                : resourceIdentifier.getExpandedSystemId();
-            if (publicId != null && systemId != null) {
-                resolvedId = resolvePublic(publicId, systemId);
-            }
-            else if (systemId != null) {
-                resolvedId = resolveSystem(systemId);
-            }
-        }
-        return resolvedId;
-	}
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java
deleted file mode 100644
index b465393..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/Validator.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.parsers.DOMParser;
-import org.apache.xerces.parsers.SAXParser;
-import org.apache.xerces.util.XMLCatalogResolver;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class Validator {
-	
-	public boolean validationError = false;
-	
-	public void validateWithSchema_JAXP(String xmlFile, String[] catalogs) {
-		try {
-			System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
-					"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			factory.setNamespaceAware(true);
-			factory.setValidating(true);
-			factory.setAttribute(
-					"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
-					"http://www.w3.org/2001/XMLSchema");
-	
-			// Create catalog resolver and set a catalog list.
-			XMLCatalogResolver resolver = new XMLCatalogResolver();
-			resolver.setPreferPublic(true);
-			resolver.setCatalogList(catalogs);
-			factory.setAttribute(
-					  "http://apache.org/xml/properties/internal/entity-resolver", 
-					  resolver);
-
-			DocumentBuilder builder = factory.newDocumentBuilder();
-			ErrorHandler handler = new ErrorHandler(this);
-			builder.setErrorHandler(handler);
-			builder.setEntityResolver(resolver);
-			builder.parse(xmlFile);
-			
-			if (validationError == true)
-				System.out.println("XML Document has Error: "
-						+ handler.saxParseException.getMessage());
-			else
-				System.out.println("XML Document is valid");
-		} catch (java.io.IOException ioe) {
-			System.out.println("IOException " + ioe.getMessage());
-		} catch (SAXException e) {
-			System.out.println("SAXException " + e.getMessage());
-		} catch (ParserConfigurationException e) {
-			System.out.println("ParserConfigurationException                    "
-							+ e.getMessage());
-		}
-		
-	}
-
-	
-	public void validateWithSchema_XercesSAXParser(String XmlDocumentUrl, String [] catalogs) {
-		SAXParser parser = new SAXParser();
-		try {
-			parser.setFeature("http://xml.org/sax/features/validation", true);
-			parser.setFeature(
-					"http://apache.org/xml/features/validation/schema", true);
-			
-			//	Create catalog resolver and set a catalog list.
-			XMLCatalogResolver resolver = new XMLCatalogResolver();
-			resolver.setUseLiteralSystemId(true);
-			resolver.setPreferPublic(true);
-			resolver.setCatalogList(catalogs);
-			
-			//	Set the resolver on the parser.
-			parser.setProperty("http://apache.org/xml/properties/internal/entity-resolver", 
-					  resolver);
-
-			ErrorHandler handler = new ErrorHandler(this);
-			parser.setErrorHandler(handler);
-			
-			parser.parse(XmlDocumentUrl);
-			if (validationError == true){
-				System.out.println("XML Document has Error: "
-						+ handler.saxParseException.getMessage());
-				throw  handler.saxParseException;
-			}
-			else{
-				System.out.println("XML Document is valid");
-			}
-				
-		} catch (java.io.IOException ioe) {
-			System.out.println("IOException " + ioe.getMessage());
-		} catch (SAXException e) {
-			System.out.println("SAXException " + e.getMessage());
-		}
-	}
-	
-	public void validateWithSchema_XercesDOMParser(String XmlDocumentUrl, String [] catalogs) {
-		DOMParser parser = new DOMParser();
-		try {
-			parser.setFeature("http://xml.org/sax/features/validation", true);
-			parser.setFeature(
-					"http://apache.org/xml/features/validation/schema", true);
-			
-			//	Create catalog resolver and set a catalog list.
-			XMLCatalogResolver resolver = new XMLCatalogResolver();
-			resolver.setUseLiteralSystemId(true);
-			resolver.setPreferPublic(true);
-			resolver.setCatalogList(catalogs);
-			
-			//	Set the resolver on the parser.
-			parser.setProperty("http://apache.org/xml/properties/internal/entity-resolver", 
-					  resolver);
-
-			ErrorHandler handler = new ErrorHandler(this);
-			parser.setErrorHandler(handler);
-			
-			parser.parse(XmlDocumentUrl);
-			if (validationError == true){
-				System.out.println("XML Document has Error: "
-						+ handler.saxParseException.getMessage());
-				throw  handler.saxParseException;
-			}
-			else{
-				System.out.println("XML Document is valid");
-			}
-				
-		} catch (java.io.IOException ioe) {
-			System.out.println("IOException " + ioe.getMessage());
-		} catch (SAXException e) {
-			System.out.println("SAXException " + e.getMessage());
-		}
-	}
-
-	private class ErrorHandler extends DefaultHandler {
-
-		Validator validator;
-
-		public SAXParseException saxParseException = null;
-
-		public ErrorHandler(Validator validator) {
-			super();
-			this.validator = validator;
-		}
-
-		public void error(SAXParseException exception) throws SAXException {
-			validationError = true;
-			saxParseException = exception;
-		}
-
-		public void fatalError(SAXParseException exception) throws SAXException {
-			validationError = true;
-			saxParseException = exception;
-		}
-
-		public void warning(SAXParseException exception) throws SAXException {
-		}
-	}
-
-	
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java b/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java
deleted file mode 100644
index 6b84caf..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/src/org/eclipse/wst/xml/uriresolver/validation/tests/internal/ValidatorTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.wst.xml.uriresolver.validation.tests.internal;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.wst.xml.catalog.tests.internal.TestPlugin;
-
-/**
- * To run this test need to add resolver.jar to the classpath.
- * Run as JUnit Plugin test:
- * - put resolver.jar on the boot class path
- * - add VM argument:
- * 
- * -Xbootclasspath/p:<install location>\jre\lib\ext\resolver.jar
- *
- *
- */
-public class ValidatorTest extends TestCase {
-	
-	Validator validator = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		validator = new Validator();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public ValidatorTest(String name) {
-		super(name);
-	}
-	
-	
-	public void testValidatingXercesSAXParser1() throws IOException {
-		String xmlFile = "/data/Personal/personal-schema.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/catalog2.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
-		assertFalse(validator.validationError);
-	}
-	
-	public void testValidatingXercesSAXParser2() throws IOException {
-		String xmlFile = "/data/example/example-schema.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/example-catalog.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
-		assertFalse(validator.validationError);
-	}
-	public void testValiatingXercesSAXParser3() throws IOException {
-		String xmlFile = "/data/example/example-schema-nonamespace.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/example-catalog.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesSAXParser(xmlFile, new String[]{catalogFile});
-		assertFalse(validator.validationError);
-	}
-	
-	public void testValidatingXercesDOMParser1() throws IOException {
-		String xmlFile = "/data/example/example-schema-nonamespace.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/example-catalog.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
-		assertFalse(validator.validationError);
-	}
-	
-	public void testValidatingJAXPParser1() throws IOException {
-		String xmlFile = "/data/example/example-schema.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/example-catalog.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_JAXP(xmlFile, new String[]{catalogFile});	
-		assertFalse(validator.validationError);
-	}
-	
-	public void testValidationWithImportedAndIncludedSchema1() throws IOException {
-		String xmlFile = "/data/PurchaseOrder/international/report_.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/report-catalog_system.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
-		// Included schema will be resolved
-		assertFalse(validator.validationError);
-	}
-	
-	public void testValidationWithImportedAndIncludedSchema2() throws IOException {
-		String xmlFile = "/data/PurchaseOrder/international/report_.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/report-catalog_public.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
-		// Included schema will not be resolved
-		assertTrue(validator.validationError);
-	}
-	
-	public void testValidationWithImportedAndIncludedSchema3() throws IOException {
-		String xmlFile = "/data/PurchaseOrder/international/report_.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "/data/report-catalog_mappedincluded.xml";
-		catalogFile = TestPlugin.resolvePluginLocation(catalogFile);
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
-		// Included schema will not be resolved
-		assertTrue(validator.validationError);
-	}
-	
-	public void testValidationWithImportedSchemaNoCatalog() throws IOException {
-		String xmlFile = "/data/PurchaseOrder/international/report.xml";
-		xmlFile = TestPlugin.resolvePluginLocation(xmlFile);
-		
-		String catalogFile = "";
-		
-		System.out.println("---------" + this.getName() + "---------");
-		validator.validateWithSchema_XercesDOMParser(xmlFile, new String[]{catalogFile});
-		assertFalse(validator.validationError);
-	}
-	
-
-
-}
diff --git a/tests/org.eclipse.wst.xml.catalog.tests/test.xml b/tests/org.eclipse.wst.xml.catalog.tests/test.xml
deleted file mode 100644
index 4b384c1..0000000
--- a/tests/org.eclipse.wst.xml.catalog.tests/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-
-  <!-- Configurable Properties -->
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.wst.xml.catalog.tests"/>
-
-  <!-- End Configurable Properties -->
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-  <property name="bvtworkspace" value="${basedir}"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
-  <property name="workspace-folder" value="${bvtworkspace}/${plugin-name}"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-     <delete>
-       <fileset dir="${eclipse-home}" includes="org.eclipse.wst.xml.catalog.tests.*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-
-    <!-- Start with clean data workspace -->  
-    <delete dir="${workspace-folder}" quiet="true"/>
-
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${workspace-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.wst.xml.catalog.tests.internal.AllTests"/>
-    </ant>
-
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-    <delete dir="${workspace-folder}" quiet="true"/>
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org.eclipse.wst.xml.catalog.tests*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
index 4e963e2..5faa10a 100644
--- a/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xml.core.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: ssemodelxmltests.jar
 Bundle-Activator: org.eclipse.wst.xml.core.tests.SSEModelXMLTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
index 91fa561..beb6b81 100644
--- a/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.tests.encoding/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xml.tests.encoding
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: tests.jar
 Bundle-Activator: org.eclipse.wst.xml.tests.encoding.TestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
index 655da88..f7d4f9e 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xml.ui.tests; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: xmluitests.jar
 Bundle-Activator: org.eclipse.wst.xml.ui.tests.XMLUITestsPlugin
 Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.wst.xml.ui.tests/plugin.properties b/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
index dabbca0..521f083 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
+++ b/tests/org.eclipse.wst.xml.ui.tests/plugin.properties
@@ -11,4 +11,7 @@
 providerName=Eclipse.org
 
 Bundle-Name.0 = XML UI Tests
-view.name.0 = Embedded XML Structured Text Viewer
\ No newline at end of file
+view.name.0 = Embedded XML Structured Text Viewer
+
+contentTypeTestXML99.ct=Test XML sub-content-type
+contentTypeTestXML99.editor=Test XML sub-content-type editor
diff --git a/tests/org.eclipse.wst.xml.ui.tests/plugin.xml b/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
index c3716eb..f0ba56e 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
+++ b/tests/org.eclipse.wst.xml.ui.tests/plugin.xml
@@ -13,9 +13,9 @@
 		</view>
 	</extension>
 
-	<!-- test for breakpoint error handling - ->
+	<!-- test for breakpoint error handling -->
 		<extension
-		point="org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint">
+		point="org.eclipse.wst.sse.ui.breakpoint">
 		<breakpointContribution
 		id="org.eclipse.wst.xml.ui.providers.test">
 		<provider
@@ -25,7 +25,7 @@
 		</provider>
 		</breakpointContribution>
 		</extension>
-	-->
+
 	<extension point="org.eclipse.wst.sse.ui.extendedEditorActions">
 		<editorContribution
 			targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
@@ -39,4 +39,29 @@
 			</action>
 		</editorContribution>
 	</extension>
+	<extension
+       id="xml.ui.tests1"
+       name="%Bundle-Name.0"
+       point="org.eclipse.ui.editors">
+		<editor
+        class="org.eclipse.wst.xml.ui.tests.TestSourceValidationFramework$TestStructuredTextEditor"
+        contributorClass="org.eclipse.wst.xml.ui.internal.actions.ActionContributorXML"
+        default="false"
+        filenames="*.xml99"
+        icon="icons/sourceEditor.gif"
+        id="org.eclipse.wst.xml.ui.tests.TestSourceValidationFramework$TestStructuredTextEditor"
+        name="%contentTypeTestXML99.editor"
+        symbolicFontName="org.eclipse.wst.sse.ui.textfont">
+		</editor>
+	</extension>
+    <extension
+         point="org.eclipse.core.runtime.contentTypes">
+        <content-type
+			file-extensions="xml99"
+			priority="low"
+			name="%contentTypeTestXML99.ct"
+			id="xml99source"
+			base-type="org.eclipse.core.runtime.xml">
+		</content-type>
+	</extension>
 </plugin>
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java
new file mode 100644
index 0000000..f9797fb
--- /dev/null
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestReconcilerXML.java
@@ -0,0 +1,222 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xml.ui.tests;
+
+import java.io.ByteArrayInputStream;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
+import org.eclipse.wst.sse.ui.internal.provisional.preferences.CommonEditorPreferenceNames;
+import org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart;
+
+/**
+ * Tests reconciler in an open editor.
+ */
+public class TestReconcilerXML extends TestCase {
+	private final String PROJECT_NAME = "TestReconcilerXML";
+	private final String FILE_NAME = "TestReconcilerXMLfile.xml";
+	final private String ANNOTATION_ERROR = "org.eclipse.wst.sse.ui.temp.error"; //$NON-NLS-1$
+	final private String ANNOTATION_WARNING = "org.eclipse.wst.sse.ui.temp.warning"; //$NON-NLS-1$
+
+	private static IEditorPart fEditor;
+	private static IFile fFile;
+	private static boolean fIsSetup = false;
+
+	private boolean fReconcilerPref;
+
+	public TestReconcilerXML() {
+		super("TestReconcilerXML");
+	}
+
+	protected void setUp() throws Exception {
+		// only create project and file once
+		if (!fIsSetup) {
+			// create project
+			createProject(PROJECT_NAME);
+			fFile = getOrCreateFile(PROJECT_NAME + "/" + FILE_NAME);
+			fIsSetup = true;
+		}
+
+		// editor is opened each time
+		if (fIsSetup && fEditor == null) {
+			IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			fEditor = IDE.openEditor(page, fFile, true, true);
+			if (!((fEditor instanceof XMLMultiPageEditorPart) || (fEditor instanceof StructuredTextEditor)))
+				assertTrue("Unable to open structured text editor", false);
+		}
+
+		// turn on reconciling
+		IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+		fReconcilerPref = store.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
+		if (!fReconcilerPref)
+			store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, true);
+	}
+
+	protected void tearDown() throws Exception {
+		// restore reconciling preference
+		IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+		store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, fReconcilerPref);
+
+		// editor is closed each time
+		if (fEditor != null) {
+			IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			page.closeEditor(fEditor, false);
+			assertTrue("Unable to close editor", true);
+			fEditor = null;
+		}
+	}
+
+	private void createProject(String projName) {
+		IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(projName);
+
+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
+		try {
+			project.create(description, new NullProgressMonitor());
+			project.open(new NullProgressMonitor());
+		}
+		catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	private IFile getOrCreateFile(String filePath) {
+		IFile blankFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
+		if (blankFile != null && !blankFile.exists()) {
+			try {
+				blankFile.create(new ByteArrayInputStream(new byte[0]), true, new NullProgressMonitor());
+			}
+			catch (CoreException e) {
+				e.printStackTrace();
+			}
+		}
+		return blankFile;
+	}
+
+	/**
+	 * Tests reconciler by verifying no errors/warnings found with well-formed
+	 * xml.
+	 */
+	public void testWellFormed() {
+		IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+		doc.set("<html><body><h1>Title</h1></body></html>");
+		ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+		IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+		DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+		// verify well-formed xml
+		try {
+			Thread.sleep(5000);
+			Iterator iter = annoModel.getAnnotationIterator();
+			while (iter.hasNext()) {
+				Annotation anno = (Annotation) iter.next();
+				String annoType = anno.getType();
+				if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+					assertTrue("testReconciler: Unexpected initial annotations" + anno.getText(), false);
+				}
+			}
+		}
+		catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Tests reconciler by verifying error/warning found with ill-formed xml.
+	 * (missing close bracket)
+	 */
+	public void testIllFormedNoCloseBracket() {
+		IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+		doc.set("<html><body><h1>Title</h1></body></html>");
+		ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+		IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+		DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+		// verify ill-formed xml
+		try {
+			doc.replace(6, 6, "<body ");
+			Thread.sleep(5000);
+			boolean errorFound = false;
+			Iterator iter = annoModel.getAnnotationIterator();
+			while (iter.hasNext()) {
+				Annotation anno = (Annotation) iter.next();
+				String annoType = anno.getType();
+				if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+					errorFound = true;
+				}
+			}
+			assertTrue("testReconciler: Did not find expected errors in: " + doc.get(), errorFound);
+		}
+		catch (BadLocationException e) {
+			e.printStackTrace();
+		}
+		catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Tests reconciler by verifying error/warning found with ill-formed xml.
+	 * (missing attribute value)
+	 */
+	public void testIllFormedNoAttrValue() {
+		IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+		doc.set("<html><body><h1>Title</h1></body></html>");
+		ITextEditor textEditor = (ITextEditor) fEditor.getAdapter(ITextEditor.class);
+		IAnnotationModel annoModel = textEditor.getDocumentProvider().getAnnotationModel(fEditor.getEditorInput());
+		DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
+
+		// verify ill-formed xml
+		try {
+			doc.replace(6, 6, "<body hello>");
+			Thread.sleep(5000);
+			boolean errorFound = false;
+			Iterator iter = annoModel.getAnnotationIterator();
+			while (iter.hasNext()) {
+				Annotation anno = (Annotation) iter.next();
+				String annoType = anno.getType();
+				if ((annotationAccess.isSubtype(annoType, ANNOTATION_ERROR)) || (annotationAccess.isSubtype(annoType, ANNOTATION_WARNING))) {
+					errorFound = true;
+				}
+			}
+			assertTrue("testReconciler: Did not find expected errors in: " + doc.get(), errorFound);
+		}
+		catch (BadLocationException e) {
+			e.printStackTrace();
+		}
+		catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java
new file mode 100644
index 0000000..ae78e61
--- /dev/null
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestSourceValidationFramework.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xml.ui.tests;
+
+import java.io.ByteArrayInputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.content.IContentDescription;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
+import org.eclipse.wst.sse.ui.internal.provisional.preferences.CommonEditorPreferenceNames;
+import org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor;
+import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorMetaData;
+import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy;
+
+/**
+ * Tests reconciler in an open editor. The location of this class is awkward
+ * in that it refers to content types declared in plugins that aren't required
+ * to be present.
+ */
+public class TestSourceValidationFramework extends TestCase {
+	/**
+	 * THIS SUBCLASS IS FOR TESTING ONLY
+	 */
+	public static class TestStructuredTextEditor extends StructuredTextEditor {
+		public SourceViewerConfiguration textViewerConfiguration = null;
+
+		protected void setSourceViewerConfiguration(SourceViewerConfiguration config) {
+			super.setSourceViewerConfiguration(config);
+			textViewerConfiguration = config;
+		}
+	}
+
+	private static final String PROJECT_NAME = "TestSourceValidationFramework";
+
+	private static final String SEPARATOR = String.valueOf(IPath.SEPARATOR);
+
+	private boolean fPreviousReconcilerPref;
+
+	public TestSourceValidationFramework() {
+		super("TestSourceValidationFramework");
+	}
+
+	private IFile ensureFileIsAccessible(String filePath, byte[] contents) {
+		IFile blankFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
+		if (blankFile != null && !blankFile.isAccessible()) {
+			try {
+				byte[] bytes = contents;
+				if (bytes == null) {
+					bytes = new byte[0];
+				}
+				blankFile.create(new ByteArrayInputStream(bytes), true, new NullProgressMonitor());
+			}
+			catch (CoreException e) {
+				e.printStackTrace();
+			}
+		}
+		return blankFile;
+	}
+
+	private IContentType[] detectContentTypes(String fileName) {
+		IContentType[] types = null;
+		IFile file = ensureFileIsAccessible(PROJECT_NAME + SEPARATOR + fileName, null);
+
+		types = Platform.getContentTypeManager().findContentTypesFor(file.getName());
+		if (types.length == 0) {
+			IContentDescription d = null;
+			try {
+				// optimized description lookup, might not succeed
+				d = file.getContentDescription();
+				if (d != null) {
+					types = new IContentType[]{d.getContentType()};
+				}
+			}
+			catch (CoreException e) {
+				/*
+				 * should not be possible given the accessible and file type
+				 * check above
+				 */
+			}
+		}
+		if (types == null) {
+			types = Platform.getContentTypeManager().findContentTypesFor(file.getName());
+		}
+		return types;
+	}
+
+	private String[] detectContentTypeIDs(String fileName) {
+		IContentType[] types = detectContentTypes(fileName);
+		String[] ids = new String[types.length];
+		for (int i = 0; i < types.length; i++) {
+			ids[i] = types[i].getId();
+		}
+		return ids;
+	}
+
+	private boolean identicalContents(Object o1[], Object o2[]) {
+		if (o1.length == 0 && o2.length == 0)
+			return true;
+
+		Object[] array1 = new Object[o1.length];
+		Object[] array2 = new Object[o2.length];
+		System.arraycopy(o1, 0, array1, 0, o1.length);
+		System.arraycopy(o2, 0, array2, 0, o2.length);
+		Arrays.sort(array1);
+		Arrays.sort(array2);
+		return Arrays.equals(array1, array2);
+	}
+
+
+	private void ensureProjectIsAccessible(String projName) {
+		IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(projName);
+
+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
+		try {
+			if (!project.exists())
+				project.create(description, new NullProgressMonitor());
+			if (!project.isAccessible())
+				project.open(new NullProgressMonitor());
+		}
+		catch (CoreException e) {
+			e.printStackTrace();
+		}
+	}
+
+	private List getSourceValidatorIDs(String fileName) throws Exception {
+		List validatorIds = new ArrayList(1);
+		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+		IWorkbenchPage page = workbenchWindow.getActivePage();
+
+		IFile file = ensureFileIsAccessible(PROJECT_NAME + SEPARATOR + fileName, null);
+		IEditorPart editor = IDE.openEditor(page, file, TestStructuredTextEditor.class.getName(), true);
+
+		ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
+		TestStructuredTextEditor testTextEditor = (TestStructuredTextEditor) textEditor;
+		IReconciler reconciler = testTextEditor.textViewerConfiguration.getReconciler(testTextEditor.getTextViewer());
+
+		assertNotNull(reconciler);
+		assertTrue("unexpected IReconciler implementation: " + reconciler.getClass(), reconciler instanceof DocumentRegionProcessor);
+
+		Class reconcilerClass = reconciler.getClass();
+		Method method = null;
+		while (reconcilerClass != Object.class && method == null) {
+			Method[] methods = reconcilerClass.getDeclaredMethods();
+			for (int i = 0; i < methods.length; i++) {
+				if (methods[i].getName().equals("getValidatorStrategy")) {
+					method = methods[i];
+				}
+			}
+			reconcilerClass = reconcilerClass.getSuperclass();
+		}
+
+		assertNotNull("no getValidatorStrategy method found on " + reconciler.getClass(), method);
+		method.setAccessible(true);
+		ValidatorStrategy strategy = (ValidatorStrategy) method.invoke(reconciler, new Object[0]);
+		assertNotNull(strategy);
+		Field fMetaData = strategy.getClass().getDeclaredField("fMetaData");
+		assertNotNull("validator metadata field \"fMetaData\" not found on strategy " + strategy.getClass(), fMetaData);
+		fMetaData.setAccessible(true);
+		List metadata = (List) fMetaData.get(strategy);
+		assertNotNull(metadata);
+		for (int i = 0; i < metadata.size(); i++) {
+			validatorIds.add(((ValidatorMetaData) metadata.get(i)).getValidatorId());
+		}
+
+		page.closeEditor(editor, false);
+
+		return validatorIds;
+	}
+
+	protected void setUp() throws Exception {
+		ensureProjectIsAccessible(PROJECT_NAME);
+
+		// turn on reconciling
+		IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+		fPreviousReconcilerPref = store.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
+		if (!fPreviousReconcilerPref) {
+			store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, true);
+		}
+	}
+
+	protected void tearDown() throws Exception {
+		// restore reconciling preference
+		IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
+		store.setValue(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, fPreviousReconcilerPref);
+	}
+
+	public void testSourceValidationEnablementWithInheritedValidators() throws Exception {
+		Object[] xmlValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml").toArray();
+		assertTrue("No XML source validators found", xmlValidatorIDs.length > 0);
+		Object[] xml99ValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml99").toArray();
+		assertTrue("No XML99 source validators found", xml99ValidatorIDs.length > 0);
+
+		Arrays.sort(xmlValidatorIDs);
+		Arrays.sort(xml99ValidatorIDs);
+
+		assertEquals("validator lists should be the same length", xmlValidatorIDs.length, xml99ValidatorIDs.length);
+		for (int i = 0; i < xmlValidatorIDs.length; i++) {
+			assertEquals("validator IDs should be the same [" + i + "]", xmlValidatorIDs[i], xml99ValidatorIDs[i]);
+		}
+	}
+
+	public void testSourceValidationEnablementWithUniqueValidators() throws Exception {
+		String[] xmlContentTypes = detectContentTypeIDs("testValidatorConfigurations.xml");
+		String[] xsdContentTypes = detectContentTypeIDs("testValidatorConfigurations.xsd");
+
+		/*
+		 * If the current configuration does not include a distinct XSD
+		 * content type, skip the rest
+		 */
+		if (!identicalContents(xmlContentTypes, xsdContentTypes)) {
+			List xmlValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xml");
+			assertTrue("No XML source validators found", !xmlValidatorIDs.isEmpty());
+			List xsdValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.xsd");
+			assertTrue("No XSD source validators found", !xsdValidatorIDs.isEmpty());
+			for (int i = 0; i < xmlValidatorIDs.size(); i++) {
+				assertTrue("XML Validator found on XSD input", !xsdValidatorIDs.contains(xmlValidatorIDs.get(i)));
+			}
+		}
+		else {
+			String message = "No distinct XSD content type found while running " + getClass().getName();
+			System.err.println(message);
+			Logger.log(Logger.WARNING, message);
+		}
+	}
+
+	public void testSourceValidationEnablementWithUnrelatedContentTypes() throws Exception {
+		String[] dtdContentTypes = detectContentTypeIDs("testValidatorConfigurations.dtd");
+		String[] jspContentTypes = detectContentTypeIDs("testValidatorConfigurations.jsp");
+		if (dtdContentTypes.length == 0) {
+			String message = "No DTD content type found while running " + getClass().getName();
+			System.err.println(message);
+			Logger.log(Logger.WARNING, message);
+		}
+		if (jspContentTypes.length == 0) {
+			String message = "No JSP content type found while running " + getClass().getName();
+			System.err.println(message);
+			Logger.log(Logger.WARNING, message);
+		}
+
+
+		if (dtdContentTypes.length > 0 && jspContentTypes.length > 0 && !identicalContents(dtdContentTypes, jspContentTypes)) {
+			List dtdValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.dtd");
+			assertTrue("No DTD source validators found", !dtdValidatorIDs.isEmpty());
+			List jspValidatorIDs = getSourceValidatorIDs("testValidatorConfigurations.jsp");
+			assertTrue("No JSP source validators found", !jspValidatorIDs.isEmpty());
+			int dtdValidatorCount = dtdValidatorIDs.size();
+			dtdValidatorIDs.removeAll(jspValidatorIDs);
+			assertEquals("validators found running on both CSS and DTD", dtdValidatorCount, dtdValidatorIDs.size());
+		}
+	}
+}
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
index 47c76a7..ea626df 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/XMLUITestSuite.java
@@ -34,5 +34,7 @@
 		addTest((new TestSuite(TestPropertySheetConfiguration.class)));
 		addTestSuite(TestDelegatingSourceValidatorForXML.class);
 		addTestSuite(TestMarkupValidator.class);
+		addTestSuite(TestReconcilerXML.class);
+		addTestSuite(TestSourceValidationFramework.class);
 	}
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
index 2ab3409..0bfc2d4 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/breakpoints/BreakpointErrorProvider.java
@@ -37,7 +37,7 @@
 		XMLUITestsPlugin.getDefault().getPreferenceStore().setDefault("break-error", false);
 		boolean enable = XMLUITestsPlugin.getDefault().getPreferenceStore().getBoolean("break-error");
 		if (enable)
-			return new Status(IStatus.INFO, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, getClass().getName() + ": Test Error", null);
+			return new Status(IStatus.ERROR, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, "Test Error!", null);
 		return new Status(IStatus.OK, XMLUITestsPlugin.getDefault().getBundle().getSymbolicName(), IStatus.OK, "", null);
 	}
 
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
index 23d0914..6cd7431 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/viewer/ViewerTestXML.java
@@ -39,6 +39,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
 import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
@@ -75,12 +76,14 @@
 			}
 		}
 	}
+
 	protected class NumberInputDialog extends Dialog {
 		public Text length;
 
 		int lengthValue;
 		public Text start;
 		int startValue;
+
 		public NumberInputDialog(Shell shell) {
 			super(shell);
 		}
@@ -146,12 +149,14 @@
 		protected void okPressed() {
 			try {
 				startValue = Integer.decode(start.getText()).intValue();
-			} catch (NumberFormatException e2) {
+			}
+			catch (NumberFormatException e2) {
 				startValue = 0;
 			}
 			try {
 				lengthValue = Integer.decode(length.getText()).intValue();
-			} catch (NumberFormatException e2) {
+			}
+			catch (NumberFormatException e2) {
 				lengthValue = 0;
 			}
 			super.okPressed();
@@ -223,6 +228,54 @@
 				}
 			});
 			mgr.add(new Separator());
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Change Visibility in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						NumberInputDialog dlg = new NumberInputDialog(sourceViewer.getControl().getShell());
+						int proceed = dlg.open();
+						if (proceed == Window.CANCEL)
+							return;
+						sourceViewer.resetVisibleRegion();
+						sourceViewer.setVisibleRegion(dlg.startValue, dlg.lengthValue);
+					}
+				}
+			});
+			mgr.add(new Action() {
+				public String getText() {
+					return getToolTipText();
+				}
+
+				public String getToolTipText() {
+					return "Show All in Editor";
+				}
+
+				public void run() {
+					super.run();
+					StructuredTextViewer sourceViewer = null;
+					IEditorPart part = getViewSite().getWorkbenchWindow().getActivePage().getActiveEditor();
+					if (part != null && part instanceof StructuredTextEditor) {
+						sourceViewer = ((StructuredTextEditor) part).getTextViewer();
+					}
+					if (sourceViewer != null) {
+						sourceViewer.resetVisibleRegion();
+					}
+				}
+			});
+			mgr.add(new Separator());
 			// no longer able to set input to NULL
 			// mgr.add(new Action() {
 			// public String getText() {
@@ -337,26 +390,26 @@
 			setupViewerForEditor(editor);
 			if (fHighlightRangeListener == null)
 				fHighlightRangeListener = new NodeRangeSelectionListener();
-	
+
 			fContentOutlinePage = ((IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class));
 			if (fContentOutlinePage != null) {
 				fContentOutlinePage.addSelectionChangedListener(fHighlightRangeListener);
-	
+
 				if (!fContentOutlinePage.getSelection().isEmpty() && fContentOutlinePage.getSelection() instanceof IStructuredSelection) {
 					fSourceViewer.resetVisibleRegion();
-	
+
 					Object[] nodes = ((IStructuredSelection) fContentOutlinePage.getSelection()).toArray();
 					IndexedRegion startNode = (IndexedRegion) nodes[0];
 					IndexedRegion endNode = (IndexedRegion) nodes[nodes.length - 1];
-	
+
 					if (startNode instanceof Attr)
 						startNode = (IndexedRegion) ((Attr) startNode).getOwnerElement();
 					if (endNode instanceof Attr)
 						endNode = (IndexedRegion) ((Attr) endNode).getOwnerElement();
-	
+
 					int start = startNode.getStartOffset();
 					int end = endNode.getEndOffset();
-	
+
 					fSourceViewer.setVisibleRegion(start, end - start);
 					fSourceViewer.setSelectedRange(start, 0);
 				}
diff --git a/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
index d21883c..e388a83 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xml.validation.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xml.validation.tests
-Bundle-Version: 1.0.201
+Bundle-Version: 1.0.202.qualifier
 Bundle-ClassPath: validatexmltests.jar
 Bundle-Activator: org.eclipse.wst.xml.validation.tests.internal.XMLValidatorTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java b/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
index 9a8146b..ef6ca86 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
+++ b/tests/org.eclipse.wst.xml.validation.tests/src/org/eclipse/wst/xml/validation/tests/internal/XMLExamplesTest.java
@@ -122,6 +122,7 @@
   /**
    * Test /XMLExamples/j2ee/web.xml.
    */
+  /**
   public void testWeb()
   {
 	  
@@ -133,4 +134,5 @@
 
 	runTest(testfile, keys, numErrors, numWarnings);
   }
+  */
 }
diff --git a/tests/org.eclipse.wst.xml.validation.tests/test.xml b/tests/org.eclipse.wst.xml.validation.tests/test.xml
index 795fb1e..bea3313 100644
--- a/tests/org.eclipse.wst.xml.validation.tests/test.xml
+++ b/tests/org.eclipse.wst.xml.validation.tests/test.xml
@@ -1,96 +1,115 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 
 <project
-	name="testsuite"
-	default="run"
-	basedir=".">
+    name="testsuite"
+    default="run"
+    basedir=".">
+    
+    <!-- The following properties should be passed into this script -->
+    <!-- ${eclipse-home}   -->
+    <!-- ${buildDirectory}  -->
+    <!-- ${buildLabel}        -->
 
-	<!-- Configurable Properties -->
+    <!-- should be little need to change what's above  -->
+    
+    <property
+        name="plugin-name"
+        value="org.eclipse.wst.xml.validation.tests" />
+    <property
+        name="classname"
+        value="org.eclipse.wst.xml.validation.tests.internal.AllXMLTests" />
+    <property
+        name="testType"
+        value="core-test" />
 
-	<!-- sets the properties eclipse-home, and library-file -->
-	<property
-		name="plugin-name"
-		value="org.eclipse.wst.xml.validation.tests" />
+    <!-- should be little need to change what's below -->
 
-	<!-- End Configurable Properties -->
+    <echo message="basedir: ${basedir}" />
+    <echo message="eclipse-home: ${eclipse-home}" />
+    <echo message="buildDirectory: ${buildDirectory}" />
+    <echo message="plugin-name: ${plugin-name}" />
+    <echo message="classname: ${classname}" />
+    <echo message="testType ${testType}" />
 
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- Set a meaningful default value for when it is not. -->
-	<property
-		name="eclipse-home"
-		value="${basedir}\..\.." />
-	<property
-		name="bvtworkspace"
-		value="${basedir}" />
-	<property
-		name="library-file"
-		value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
-	<property
-		name="workspace-folder"
-		value="${bvtworkspace}/${plugin-name}" />
 
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp />
-		<delete>
-			<fileset
-				dir="${eclipse-home}"
-				includes="org.eclipse.wst.xml.validation.tests.*.xml" />
-		</delete>
-	</target>
+    <property
+        name="library-file"
+        value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
+    <property
+        name="workspace"
+        value="${eclipse-home}/junitworkspaces/${plugin-name}" />
+        
+    <!-- This target holds all initialization code that needs to be done for -->
+    <!-- all tests that are to be run. Initialization for individual tests -->
+    <!-- should be done within the body of the suite target. -->
+    <target name="init">
+        <tstamp />
+        <delete>
+            <fileset
+                dir="${eclipse-home}"
+                includes="${plugin-name}.*xml" />
+        </delete>
+        <!-- make directory, in case path doesn't exist yet -->
+        <mkdir dir="${workspace}" />
+        <!--  but delete to make sure fresh contents-->
+        <delete
+            dir="${workspace}"
+            quiet="true" />
 
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite">
+    </target>
 
-		<!-- Start with clean data workspace -->
-		<delete
-			dir="${workspace-folder}"
-			quiet="true" />
+    <!-- This target defines the tests that need to be run. -->
+    <target name="suite">
 
-		<ant
-			target="core-test"
-			antfile="${library-file}"
-			dir="${eclipse-home}">
-			<property
-				name="data-dir"
-				value="${workspace-folder}" />
-			<property
-				name="plugin-name"
-				value="${plugin-name}" />
-			<property
-				name="classname"
-				value="org.eclipse.wst.xml.validation.tests.internal.AllXMLTests" />
-		</ant>
+        <ant
+            target="${testType}"
+            antfile="${library-file}"
+            dir="${eclipse-home}">
+            <property
+                name="data-dir"
+                value="${workspace}" />
+            <property
+                name="plugin-name"
+                value="${plugin-name}" />
+            <property
+                name="classname"
+                value="${classname}" />
+            <property
+                name="plugin-path"
+                value="${eclipse-home}/plugins/${plugin-name}" />
+        </ant>
 
-	</target>
+        <copy
+            failonerror="false"
+            file="${workspace}/.metadata/.log"
+            tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" />
 
-	<!-- This target holds code to cleanup the testing environment after -->
-	<!-- after all of the tests have been run. You can use this target to -->
-	<!-- delete temporary files that have been created. -->
-	<target name="cleanup">
-		<delete
-			dir="${workspace-folder}"
-			quiet="true" />
-	</target>
+    </target>
 
-	<!-- This target runs the test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target
-		name="run"
-		depends="init,suite,cleanup">
-		<ant
-			target="collect"
-			antfile="${library-file}"
-			dir="${eclipse-home}">
-			<property
-				name="includes"
-				value="org.eclipse.wst.xml.validation.tests*.xml" />
-			<property
-				name="output-file"
-				value="${plugin-name}.xml" />
-		</ant>
-	</target>
+    <!-- This target holds code to cleanup the testing environment after -->
+    <!-- after all of the tests have been run. You can use this target to -->
+    <!-- delete temporary files that have been created. -->
+    <target name="cleanup">
+        <!-- usually no need to delete workspace until next run, and leaving it allows inspection -->
+        <!-- <delete dir="${workspace}" quiet="true" /> -->
+    </target>
 
-</project>
+    <!-- This target runs the test suite. Any actions that need to happen -->
+    <!-- after all the tests have been run should go here. -->
+    <target
+        name="run"
+        depends="init,suite,cleanup">
+        <ant
+            target="collect"
+            antfile="${library-file}"
+            dir="${eclipse-home}">
+            <property
+                name="includes"
+                value="${plugin-name}.*xml" />
+            <property
+                name="output-file"
+                value="${plugin-name}.xml" />
+        </ant>
+    </target>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
index c4a6919..55c2bad 100644
--- a/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.xsd.validation.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsd.validation.tests
-Bundle-Version: 1.0.201
+Bundle-Version: 1.0.201.qualifier
 Bundle-ClassPath: validatexsdtests.jar
 Bundle-Activator: org.eclipse.wst.xsd.validation.tests.internal.XSDValidationTestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0